Vsftpd 服务器案例安装
1)案例:配置仅允许本地用户访问,允许系统用户上传下载、创建、删除权限,限制用户无法离开家目录 (chroot) 、限制下载速率、限制用户上传档案时的权限 (mask)等等,设定/var/ftp/local为本地用户上传、创建、删除、下载目录
-
设定配置文件
[root@vm vsftpd]# vi /etc/vsftpd/vsftpd.conf
# 禁止匿名用户访问
anonymous_enable=NO
# 与本地用户相关的参数
local_enable=YES
write_enable=YES
local_root=/var/ftp/local
local_umask=022
# 配置vsftpd服务器端口
connect_from_port_20=YES
listen_port=21
# 限制下载速率及客户端连接数
max_clients=5
max_per_ip=2
local_max_rate=2000000
# 配置chroot,实现所有除chroot_list定义的用户外,其他用户均被chroot
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
# 配置用户访问vsftpd白名单,即user_list文件中的用户允许访问,其他用户不允许登录
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
# 配置日志
xferlog_enable=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
# 配置提示信息
ftpd_banner=Welcome Access itwish.cn FTP service.
dirmessage_enable=YES
message_file=.message
# 服务器相关其他配置
use_localtime=YES
ascii_upload_enable=YES
ascii_download_enable=YES
listen=NO
pam_service_name=vsftpd
tcp_wrappers=YES
[root@vm ~]# service xinetd restart # 通过重启xinetd服务,实现vsftpd服务的重新启动,重读配置信息
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
-
添加用户并配置用户根目录权限
[root@vm local]# groupadd -r fmadmin # 添加系统组fmadmin
[root@vm local]# useradd -r -s /sbin/nologin -g fmadmin fmadmin # 添加用户fmadmin,属于fmadmin组,并禁止登陆
[root@vm local]# useradd -r -s /sbin/nologin -g fmadmin fmuser
[root@vm local]# echo fmadmin | passwd --stdin fmadmin # 配置登录密码
Changing password for user fmadmin.
passwd: all authentication tokens updated successfully.
[root@vm local]# echo fmuser | passwd --stdin fmuser
Changing password for user fmuser.
passwd: all authentication tokens updated successfully.
[root@vm ~]# mkdir /var/ftp/local # 创建用户根目录
[root@vm ~]# chmod 775 /var/ftp/local/ # 配置文件夹权限
[root@vm ~]# chown fmuser:fmadmin /var/ftp/local/ # 配置文件夹属性
-
配置chroot文件
[root@vm local]# touch /etc/vsftpd/chroot_list # 创建chroot_list 文件
[root@vm local]# vi /etc/vsftpd/chroot_list # fmadmin用户不会被chroot ,其他所有用户被chroot
fmadmin
-
配置user_list 用户白名单
[root@vm ~]# vi /etc/vsftpd/user_list # 配置允许登陆vsftpd的用户白名单
fmuser
fmadmin
[root@vm local]# vi /var/ftp/local/.message
欢迎访问 itwish FTP 服务器
该目录可允许本地用户上传、下载、删除等权限
感谢使用
然后就可以用ftp测试啦!!!以上的配置文件转自:https://blog.51cto.com/itwish/2174058
还有可能遇到各种问题
代码如下
1. setsebool -P ftpd_disable_trans 1
2. service vsftpd restart
如果解决了就不要向下看了,否则往下看另一种方法
我们需要把allow_ftpd_full_access 设置为1
代码如下
[root@umboyserver vsftpd]# setsebool allow_ftpd_full_access 1
[root@umboyserver vsftpd]# setsebool allow_ftpd_use_cifs 1
[root@umboyserver vsftpd]# setsebool allow_ftpd_use_nfs 1
[root@umboyserver vsftpd]# setsebool ftp_home_dir 1
centos7:setsebool tftp_home_dir 1
[root@umboyserver vsftpd]# setsebool httpd_enable_ftp_server 1
[root@umboyserver vsftpd]# setsebool tftp_anon_write 1
[root@umboyserver vsftpd]# service vsftpd restart
查看设置状态 用sestatus -b | grep ftp
以上转自https://blog.csdn.net/demo_deng/article/details/9622559
可能还会遇到其他问题
在vsftpd.conf中添加
pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000
并且在阿里云后台打开这些端口,否则永远连不上
500 OOPS: priv_sock_get_result
seccomp_sandbox=NO
重启