Linux笔记(四)

搭建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 restart

注意:在访问时要关闭防火墙和Selinux,否则不能访问。如果不能对文件夹做操作,要将该文件夹的权限改为777,及chmod 777 文件夹名

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


    Linux笔记(四)_第1张图片
    1.1

    Linux笔记(四)_第2张图片
    1.2

    Linux笔记(四)_第3张图片
    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)

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


Linux笔记(四)_第4张图片
image

2.4. 保存修改,重启服务:/etc/init.d/nfs restart

  1. 在客户端如何使用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等。

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


    Linux笔记(四)_第5张图片
    1.1
  3. 以上步骤FTP服务器已经搭建成功,如果要访问也可以输入ftp://服务器ip地址访问,但是这种访问方式并不安全也不提倡,所以,以下就介绍一种安全的方式,利用vsftpd虚拟用户登陆FTP服务器,步骤如下:

    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的连接用来传输数据。

你可能感兴趣的:(Linux笔记(四))