linux中的vsftpd服务
FTP(文件传输协议)是internet上仍常用的最老的网络协议之一,它为系统提供了通过网络与
远程服务器进行传输的简单方法,实现了资源便利共享的功能。
下面简单介绍如何部署ftp服务器以及相关用户权限的设定:
1.部署ftp服务器:
FTP服务包的名称为VSFTPD
1.安装vsftpd:
yum install vsftpd -y 安装vsftpd服务
firewall-config 打开防火墙配置图形界面,将Configuration:旁的下拉菜单调成 Permanent ,然后勾选下面的ftp
然后点击Options,再点击 Reload Firewalld 重新加载防火墙:
关闭界面,输入firewall-cmd --list-all 查看,已经修改成功:
systemctl restart vsftpd 重启vsftpd服务
systemctl enable vsftpd 设置开机自启模式
vim /etc/sysconfig/selinux 修改内核级防火墙设置,将SELINUX=后面修改为disabled
关机重启
至此,ftp服务器的部署已经完成。
2.vsftpd服务的权限设定:
vim /etc/vsftpd/vsftpd.conf 编辑vsftpd配置文件,可对不同用户的访问权限进行设定:
anonymous_enable=YES|NO 为匿名用户登陆限制
local_enable=YES 允许本地用户访问(/etc/passwd中的用户)
write_enable=YES 允许写入权限,包括修改,删除
local_umask=022 本地用户文件上传后的权限是-rw-r--r--
本地用户上传最高权限为666,默认权限为666-022=644,即local_umask=022
可知系统默认匿名用户可以访问本机的ftp :
但不能上传,以下设置匿名用户能够上传的权限:
打开默认注释了的 anon_upload_enable=YES 命令允许匿名用户上传
然后 systemctl retart vsftpd 重启服务,匿名用户可以访问,并可以上传文件:
put /etc/passwd 意为上传/etc/passwd文件到ip为172.25.254.121主机的ltp中:
2.1匿名用户相关权限:
anon_mkdir_write_enable=YES 默认注释掉了,允许匿名用户上传/建立目录
anon_other_write_enable=YES 默认没有这一项,允许匿名用户具有建立目录,上传之外的权限,如重命名,删除
anon_world_readable_only=YES 允许匿名用户浏览,下载文件,默认没有这一项
anon_umask=022 默认没有这一项,匿名用户上传后的权限是-rw-------(上图上传的passwd文件)
chown_uploads=YES 默认注释了,开启匿名用户上传用户身份,和下面一行一起使用
chown_username=whoever 默认注释了,将匿名用户上传的文件的用户身份为whoever用户
anon_root=/var/ftp 默认没有这一项,设定匿名用户登陆后所在的目录
将需要的服务输入/etc/vsftpd/vsftpd.conf文件中,wp保存退出,然后systemctl retart vsftpd 重启服务就可以了。
2.2本地用户相关权限:
local_enable=YES 允许本地用户访问(/etc/passwd中的用户)
write_enable=YES|NO 本地用户写权限限制
local_root=/var/local_user 默认没有这一项,设定所有本地用户登陆后的目录,如不设置此项,则本地用户登陆后位于各自家目录下
限制本地用户登陆的配置文件:
/etc/vsftpd/ftpusers 用户黑名单
/etc/vsftpd/user_list 用户临时黑名单
userlist_deny=NO
用户白名单设定
/etc/vsftpd/user_list 参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp
2.3 虚拟用户的建立:
vim /etc/vsftpd/ok 文件名称自定义,这里为ok
编辑内容为:
用户名
密码 用户名为hk1和hk2 密码都设为123
然后将密码进行加密:
db_load -T -t hash -f /etc/vsftpd/ok ok.db 然后查看内容如图所示:
然后编辑文件:
vim /etc/pam.d/westos 文件名自定义,设为westos,编辑格式如下图:
然后在/etc/vsftpd/vsftpd.conf文件中编辑:
加入:pam_service_name=westos
guest_enable=YES
guest_username=ftp然后 systemctl restart vsftpd 重启服务
lftp -u hk1 172.25.254.121 登陆成功
以上只是ftp的部分服务和权限,更多权限在以后的文章中更新