标签:linux运维
Linux运维 第三阶段 (二) vsftpd服务
1、FTP(filetransfer protocol),以TCP数据包的模式进行服务器与客户端之间的文件传输;
数据连接:TCP20,用于上传下载数据;TCP21,用于发送FTP命令信息;
数据连接的建立类型:主动模式(服务端从20端口主动向客户端发起连接);被动模式(服务端在指定范围内某个端口被动等待客户端连接);
FTP的用户类型:匿名用户(anonymous或ftp);本地用户(账号密码等信息保存在/etc/passwd、/etc/shadow下)
常见的FTP服务端程序:IIS、Serv-U、wu-ftpd、Proftpd、vsftpd(very secure ftp daemon);
常见的FTP客户端程序:CuteFTP、FlashFXP、LeapFTP、Filezilla、gftp、kuftp、FTP命令;
官方站点:http://vsftpd.beasts.org/;
主程序:/usr/sbin/vsftpd;
主配置文件:/etc/vsftpd/vsftpd.conf
用户控制列表文件:/etc/vsftpd/ftpusers、/etc/vsftpd/user_list
2、》匿名权限控制:
anonymous_enable=YES (启用匿名访问
anon_umask=022 (匿名用户上传的权限掩码,无此项默认600
anon_root=/var/ftp (匿名用户的FTP根目录
anon_upload_enable=YES (允许匿名用户上传文件
anon_mkdir_write_enable=YES (允许创建目录
anon-other_write_enable=YES (开放其它写入权限
anon_max_rate=0 (限制最大传输速率,字节每秒
》本地用户权限控制:
local_enable=YES (启用本地系统用户
local_umask=022 (本地用户上传文件的权限掩码
local_root=/home/username (设置本地用户的FTP根目录
chroot_local_user=YES (将用户禁锢在主目录
local_max_rate=0 (限制最大传输速率,字节每秒
》常用的全局配置项:
listen=YES
listen_port=21 (设置监听端口
write_enable=YES (是否启用写入权限
download_enable=YES (是否允许下载文件
max_clients=0 (限制并发客户端连接数
max_per_ip=0 (限制同一IP地址的并发连接数
pasv_enable=YES (开启被动模式
pasv_min_port=50000 (将客户端的数据连接改在50000到60000之间
pasv_max_port=60000
》访问限制:
usrelist_enable=YES、userlist_deny=YES (注:出现在/etc/vsftpd/user_list文件里的用户被拒绝访问
userlist_enable=YES、userlist_deny=NO (注:出现在/etc/vsftpd/ftpusers里的用户拒绝访问,不管user_list做如何更改
》其它安全选项:
connect_timeout=60 (主动模式下,连接信号在60S内得不到客户端响应,强制断线
accept_timeout=60 (被动模式下,等待客户端60S无回应,强制断线
data_connection_timeout=300 (server与client成功建立,由于线路问题300S内无法顺利传送,强制剔除
ftpd_banner=xxx;banner_file=/path (欢迎信息
tcp_wrappers=YES
dirmessage_enable=YES (当用户进入某个目录时,会显示需注意的内容,显示信息的文件默认是.message
message_file=.message
xferlog_enable=YES (用户上传下载的文件都会被记录下来
xferlog_file=/var/log/vsftpd.log
3、虚拟用户的创建及使用:
注:特点:减少系统用户的数据,提高系统的安全性;根据不同的用户,设置不同的访问权限
a创建账号数据:建立虚拟FTP用户的账号数据库文件;创建FTP根目录及虚拟用户映射的系统用户;建立支持虚拟用户的PAM认证文件;
b添加虚拟用户支持:在vsftpd.conf文件中添加支持配置;为个别虚拟用户建立独立的配置文件;
c启动服务并测试:重新加载vsftpd配置;使用虚拟FTP账号访问测试。
详细过程:
》#vi /etc/vsftpd/vusers.list (注:奇数行账号偶数行密码
zhangsan
123
lisi
123
#db_load -T -t hash -f vusers.list vusers.db (centos下需安装db4-utils)
#file vusers.db
#chmod 600 /etc/vsftpd/vusers.*
#ls -lh /etc/vsftpd/vuser.*
#useradd -d /var/ftproot -s /sbin/nologin virtual
#chmod 755 /var/ftproot/
》#vi /etc/pam.d/vsfptd.vu
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
#vi /etc/vsftpd/vsftpd.conf
local_enable=YES
write_enable=YES
anon_umask=022
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/vusers_dir
#mkdir /etc/vsftpd/vusers_dir
#cd /etc/vsftpd/vusers_dir
#vi zhangsan
anon_upload_enable=YEs
anon_mkdir_write_enable=YES
#touch lisi
》#service vsftpd reload
#测试
来自兄弟连培训
本文出自 “Linux运维重难点学习笔记” 博客,请务必保留此出处http://jowin.blog.51cto.com/10090021/1654866
标签:linux运维
原文地址:http://jowin.blog.51cto.com/10090021/1654866