一、构建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数据库文件
3.建立FTP访问的根目录及虚拟用户对应得系统账号
4.建立PAM认证文件 vi /etc/pam.d/vsftpd
5.修改vsftpd.conf配置文件、添加虚拟用户支持
6.为不同的虚拟用户建立独立的配置文件
修改vsftpd.conf配置文件指定目录
为用户建立配置文件
7.重新启动vsftpd服务