Linux(四)- Samba、NFS、FTP搭建

搭建Samba服务器

  1. 什么时Samba服务器? Samba实在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成,SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的通信协议,它为局域网内的不一样计算机之间提供文件及打印机等资源的共享服务。
  2. SMB协议是什么? SMB协议是客户机/服务器型协议,客户机经过该协议能够访问服务器上的共享文件系统、打印机及其它资源。经过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
  3. 搭建Samba服务器步骤以下: 3.1. 安装Samba服务器:yum install samba -y 3.2. 安装成功事后,修改配置文件/etc/samba/smb.conf,修改以下
[global]
  workgroup = MYGROUP
  server string = Samba Server Version %v
  security = share
  passdb backend = tdbsam
  load printers = yes
  cups options = raw
[temp] 
  comment = Temporay file space
  path = /temp
  read only = no
  public = yes
[data]
  comment = Temporay file space
  path = /data
  read only = no
  public = yes
复制代码

3.3. 保存配置文件,重启Samba服务:/etc/init.d/smb restartlinux

注意:在访问时要关闭防火墙和Selinux,不然不能访问。若是不能对文件夹作操做,要将该文件夹的权限改成777,及chmod 777 文件夹名数据库

  1. Samba配置文件详解,如图所示
    1.1
    1.2
    1.3

搭建NFS服务器

  1. 什么NFS服务器? NFS时Network File System 的缩写,及网络文件系统,一种使用分散式文件系统的协定,由SUN公司开发,于1984年向外公布,功能是经过网络向不一样的机器、操做系统能过彼此分享个别的数据,让应用程序在客户端经过网络访问位于服务器磁盘中数据。 NFS在文件传输或信息传送过程当中依赖于RPC协议,RPC,远程过程调用是能使客户端执行其余系统中程序的一种机制,NFS自己是没有提供信息传输的协议和功能的。 NFS应用场景,经常使用于高可用文件共享,多台服务器共享一样的数据。缺点,可扩展性比较差,自己高可用方案不完善,取而代之的数据量比较大的能够采用MFS、TFS、HDFS等等分布式文件系统。
  2. 搭建NFS服务器步骤以下: 2.1. 安装NFS服务器:yum install nfs* protmap -y ,参数protmap指的是RPC协议 2.2. 安装成功后重启服务:/etc/init.d/nfs restart 2.3. 修改/etc/exports配置来设置共享目录,配置以下:
# 格式为:共享目录 ip地址(若是为*就是全部) 其余参数
/data/ *(rw,sync,no_all_squash)
复制代码

括号内的参数说明如图所示: vim

2.4. 保存修改,重启服务:/etc/init.d/nfs restart 3. 在客户端如何使用NFS服务器 3.1. linux系统 若是要在Linux客户端获得服务器共享的数据,那么客户端就须要挂载操做,挂载命令为:mount -t nfs 服务器IP地址:/共享文件夹路径 客户机将要挂载的目录 ,例如,我要将服务器文件挂载到本地的mnt目录下,那么命令就是:mout -t nfs 192.168.31.21:/data /mnt 。 注意:若是客户机没有安装RCP协议会挂载失败,安装协议命令:yum install -y nfs-utils 3.2 windows系统,本身百度

搭建FTP服务器

  1. 什么是FTP服务器? FTP是文件传输协议,正是这种协议使得主机间能够共享文件。FTP使用TCP生成一个虚拟链接用于控制信息,而后再单独生成一个TCP链接用于数据传输。 vsftpd是一款再Linux发行版本中最主流的FTP服务器,特色是小巧轻快,安全易用。 目前在开源系统中经常使用的FTP服务器程序主要有,vsftpd、proFTPD、PrueFTPD和wuftpd等。windows

  2. vsftpd的安装步骤以下: 2.1. 安装:yum install vsftpd* -y 2.2. 安装成功后重启服务:/etc/init.d/vsftpd restart 2.3. 修改配置文件/etc/vsftpd/vsftpd.conf 配置文件详解如图所示: 安全

    1.1

  3. 以上步骤FTP服务器已经搭建成功,若是要访问也能够输入ftp://服务器ip地址访问,可是这种访问方式并不安全也不提倡,因此,如下就介绍一种安全的方式,利用vsftpd虚拟用户登录FTP服务器,步骤以下:bash

    3.1. 安装FTP虚拟用户须要用到的软件及认证模块:yum install pam* db4* --skip-broken-y服务器

    3.2. 建立并生成vsftpd数据库文件:vim /etc/vsftpd/ftpusers.txt ,文件的内容以下网络

    zgy # FTP虚拟用户名
    123456 # FTP虚拟用户的密码
    复制代码

    注意:该内容能够写多个,及能够填多个用户并发

    3.3. 生成数据库文件:db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db ,而后对“vsftpd_login.db”文件进行受权:chmod 777 /etc/vsftpd/vsftpd_login.db 。分布式

    3.4. 配置PAM验证文件,在配置文件/etc/pam.d/vsftpd 的行首中添加以下两行认证语句(若是是32位,lib64要改成lib,若是是redhat,加入的语句不同,须要注意)

    auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
    account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
    复制代码

    3.5. 建立vsftpd映射本地用户,由于全部的ftp虚拟用户,须要使用一个系统用户,这个系统用户不须要密码,也不须要登陆,主要用来作虚拟用户映射使用。建立用户:useradd -d /home/ftpuser -s /sbin/nologin ftpuser 。

    3.6. 修改vsftpd的配置文件,vim /etc/vsftpd/vsftpd.conf,修改以下:

    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_file=/var/log/vsftpd.log
    xferlog_std_format=YES
    ascii_upload_enable=YES
    ascii_download_enable=YES
    listen=YES
    
    guest_enable=YES 
    guest_username=ftpuser
    pam_service_name=vsftpd
    user_config_dir=/etc/vsftpd/vsftp_user_conf
    virtual_use_local_privs=YES
    复制代码

    保存后重启服务,/etc/init.d/vsftpd restart 。便可使用虚拟用户登录,这时候全部的虚拟用户共同使用/home/ftpuser 目录上传下载,若是想使用本身独立的目录,能够在/etc/vsftpd/vsftpd_user_conf 目录建立各自的配置文件。如给zgy用户建立独立的配置文件,vim /etc/vsftpd/vsftpd_user_conf/zgy ,内容以下:

    local_root=/home/ftpsite/zgy
    write_enable=YES
    anon_world_readable=YES
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
    复制代码
  4. 扩展命令:

    4.1. 检查服务器日志:tail -fn 100 /var/log/messages

    4.2. 永久关闭防火墙:chkconfig iptables off

  5. FTP主被动模式什么?

    5.1. 主动模式:客户端从一个任意的非特权端口N(N>1024)链接到FTP服务器的port21命令端口。而后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它本身的数据端口(20)链接到客户端指定的数据端口(N+1)。

    5.2. 被动模式:客户端从一个任意的非特权端口N(N>1024)链接到FTP服务器的port21命令端口。而后客户端开始监听端口N+1,同时客户端提交PASV命令。服务器位开启一个任意的非特权端口(P>1024),并发送“PORT P”命令给客户端。而后客户端发起从本地端口N+1到服务器的端口P的链接用来传输数据。

相关文章
相关标签/搜索