一、构建samba文件共享服务器

1.)samba服务
samba通信使用的协议
        SMB:Server Message Block,服务消息块
        CIFS:Common Internet File System,通用互联网文件系统
 
软件包
        samba-common 公共包
        samba 服务器主程序
        samba-client 客户端工具
        system-config-samba 提供图形界面管理程序
        samba-swat web方式管理工具
samba服务器主要提供以下两个服务程序
smbd:为客户机提供服务器中共享资源
nmbd:提供基于netbios主机名称的解析
 
samba服务配置文件
        /etc/samba/smb.conf        主配置文件
        /etc/samba/lmhosts                NETBIOS解析文件
        /etc/samba/smbpasswd          可以访问samba服务的账号文件
        /etc/samba/smbusers              samba账号与windows账号映射关系
smb.conf主配置文件
[global]全局设置:对整个samba服务器有效
[homes]用户目录共享设置:对应samba用户宿主目录的默认共享、用户访问服务器中与自己同名的共享文件、默认映射自己宿主目录
[printers]打印机共享设置:需要共享打印机、
smb.conf文件常见配置及含义
              workgroup: 工作组名称
              server sting: 服务器描述信息
              security: 安全级别:share、user、domain、server doman
     log file:服务器日志文件
     max log size:日志最大容量
     comment:对应共享目录的注释、说明信息
     path:对应共享目录在服务器中的文件夹路径
     browseable:共享目录在网上邻居上能见
     guest ok:所有人能访问共享目录
     writable:共享目录是否可写
samba服务器提供配置文件检查工具:testparm程序
 
2.)建立带验证的文件共享
[共享名] 共享设置
              comment = 共享文件夹描述信息       path = 共享文件夹绝对路径
              public = yes/no                       guest ok = yes/no
              writable = yes/no                     read only = yes/no
              browseable = yes/no                   valid users = 用户列表
              invalid users = 用户列表               write list = 用户列表
              read list = 用户列表                   create mask = 掩码
              directory mask = 掩码
建立samba用户数据库
  samba账号必须是系统账号,密码可以与系统账号不同
smbpasswd [-a/d/e/x] 账号名
-h: 显示smbpasswd命令的帮助信息
-a: 添加指定的samba用户账号
-d:禁止指定的账号
-e: 启动指定的账号
-x: 删除指定的账号
不带参数为修改samba用户密码
用户映射文件位于“/etc/samba/smbusers”
添加用户授权设置
共享目录的用户授权设置主要有“valid users、write list”配置项设定同时要取消公开访问的设置"public=no"
需要授权多个用户则以空格或逗号分隔,授权用户组则以“@组名”
设置samba用户在共享目录中建立的子目录、文件的默认权限,使用配置项“directory mask、create mask”
添加客户端地址授权设置
在smb.conf文件中,使用hosts allow配置项设置允许访问共享的客户机地址
使用hosts deny 配置项设置拒绝访问的客户机地址
启动服务           service smb   start
 
3.)使用linux客户端访问文件共享服务
使用smbclient工具登陆samba服务器
smbclient [-L] //服务器IP     [-U 用户名]
使用mount命令将共享目录挂在本地(如果服务器没用给共享用户可写入权 限则无法挂载)
        mount [ -t cifs ] //服务器IP/共享名    /挂载目录 [ -o username=用户名 ]
 
 
二、构建FTP文件传输服务器
1.)FTP服务概述
连接及传输模式
        主动模式:服务器(20)主动与客户机(>1024)建数据连接
        被动模式:客户机(>1024)与服务器(>1024)建数据连接
建立好连接是否字符转换
文本模式:在传输文件时使用ASCII字符、适合纯文本
二进制模式:不会转换文件中的字符、适合程序、图片等文件
 
        FTP用户类型:匿名(ftp,anonymous),本地用户,虚拟用户(只能访问                      FTP服务)
FTP服务器软件包的种类
wu-ftpd
proftpd
vsftpd
`````
2.)vsftpd服务基础
配置文件
        /etc/vsftpd/vsftpd.conf       主配置文件
        /etc/vsftpd/ftpusers       黑名单,这个文件中的用户不能访问FTP服务器
      /etc/vsftpd/user_list     主配置有userlist_enable=YES, userlist_deny=YES则拒绝这个文件中的用户访问FTP服务器,主配置文件有userlist_enable=YES, userlist_deny=NO则只允许这个文件中的用户访问FTP服务器 主配置文件重要配置项
  全局配置
        download_enable=YES/NO    是否允许客户端下载
        pasv_max_port=端口号       被动模式使用的端口号上限
        pasv_min_port=端口号       被动模式使用的端口号下限
        max_clients=客户端数量     允许多少个客户端同时连接
        max_per_ip=连接数量       允许同一个IP地址最多连接数
        user_config_dir=/目录       为用户建立个人配置文件
  匿名用户
        anonymous_enable=YES/NO        匿名用户是否可以访问
        anon_world_readable_only=YES/NO        匿名用户是否可以浏 览
        anon_umask=022        匿名用户上传文件的反向掩码
        anon_root=/目录        匿名用户访问位置
        anon_upload_enable=YES/NO        匿名用户是否可以上传文件
        anon_mkdir_write_enable=YES/NO        匿名用户是否可以创建 目录
        anon_other_write_enable=YES/NO        匿名用户是否可以删除 重命名
        anon_max_rate=速度        匿名用户最大上传下载速度
  本地用户
        local_enable=YES/NO     是否允许本地用户访问
        local_umask=022        本地用户上传文件的反向掩码
        local_root=/目录        本地用户访问位置
        chroot_local_user=YES/NO      是否把本地用户禁锢在自己的主 目录
        local_max_rate=速度        本地用户最大上传下载速度
    启动服务
        service vsftpd start
2.)建立基于本地用户的vsftpd服务
匿名FTP
调整匿名上传目录权限,并准备下载测试文件
修改vsftpd.conf配置文件,开放匿名用户访问、上传许可
重启服务
本地用户FTP
添加FTP测试用户
修改vsftpd.conf配置文件,开放本地用户
重启服务
3.)建立基于虚拟用户的vsftpd服务
1.建立虚拟用户的用户名/密码数据库
vi /etc/vsftpd/vusers.list
添加用户 密码
2.然后用db_load工具将列表文件转化为DB数据库文件

linux 构建文件服务器_软件包

 

3.建立FTP访问的根目录及虚拟用户对应得系统账号
 

linux 构建文件服务器_Internet_02

4.建立PAM认证文件  vi /etc/pam.d/vsftpd
 

linux 构建文件服务器_服务器_03

5.修改vsftpd.conf配置文件、添加虚拟用户支持
 

linux 构建文件服务器_软件包_04

6.为不同的虚拟用户建立独立的配置文件
        修改vsftpd.conf配置文件指定目录
 

linux 构建文件服务器_Internet_05

        为用户建立配置文件
 

linux 构建文件服务器_Internet_06

7.重新启动vsftpd服务