centos7 部署vsftpd

一、需求

1、创建ftp用户srpcnftpuser访问默认目录:/home/srpcnftpuser/
2、例如商户A,访问我司FTP服务器时,默认权限目录为:/home/srpcnftpuser/商户号A

srpcnftpuser	/home/srpcnftpuser/
ftpuser001	/home/srpcnftpuser/ftpuser001

二、安装配置vsftpd

1、安装vsftpd

yum install vsftpd psmisc net-tools systemd-devel libdb-devel perl-DBI

2、启动vsftpd服务

systemctl start vsftpd.service # 启动即可进行匿名用户登录

3、vsftpd配置文件(/etc/vsftpd.conf)

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=NO
xferlog_std_format=YES
async_abor_enable=NO
ascii_upload_enable=NO
ascii_download_enable=NO
ftpd_banner=Welcome to FTP service.
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
use_localtime=YES
listen_port=21
chroot_local_user=YES
idle_session_timeout=300
data_connection_timeout=1
guest_enable=YES
guest_username=srpcnftpuser
user_config_dir=/etc/vsftpd/vconf
virtual_use_local_privs=YES
pasv_min_port=30001
pasv_max_port=30005
accept_timeout=5
connect_timeout=1
allow_writeable_chroot=YES

4、创建虚拟帐户密码文件

cd /etc/vsftpd/
touch virtusers
vim /etc/vsftpd/virtusers
srpcnftpuser
123456
ftpuser001
passwd001
ftpuser002
passwd002

5、生成虚拟用户db文件

db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
修改虚拟用户db文件权限:
chmod 600 /etc/vsftpd/virtusers.db

6、生成虚拟用户认证文件,并对文件进行修改。

vi /etc/pam.d/vsftpd 在文件行首加入下面两行内容
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

7、创建一个虚拟帐户

useradd -d /home/srpcnftpuser -s /sbin/nologin srpcnftpuser

8、创建虚拟用户配置文件的存放目录

mkdir /etc/vsftpd/vconf

9、在虚拟用户配置文件目录中创建以用户名为名称的文件

# cat srpcnftpuser [读、写、删除等权限]
local_root=/home/srpcnftpuser
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

# cat /etc/vsftpd/vconf/ftpuser001 [读、写、删除等权限]
local_root=/home/srpcnftpuser/ftpuser001
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

# cat /etc/vsftpd/ftpuser002 [只读权限]
local_root=/home/srpcnftpuser/ftpuser001
write_enable=NO
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

# cat /etc/vsftpd/liutao  [只允许上传,不允许下载、删除文件] 
local_root=/home/srpcnftpuser/ftpuser001
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
download_enable=NO
cmds_denied=DELE

10、重启vsftpd

# systemctl restart vsftpd.service

 

三、新建虚拟用户步骤

1、/etc/vsftpd/virtusers # 在virtusers文件中增加新用户及密码

srpcnftpuser
123456
ftpuser001
passwd001
ftpuser002
passwd002
ftpuser003 # 新增用户
passwd003 # 密码

2、生成虚拟用户db文件

db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db # 生成db文件

3、/etc/vsftpd/vconf/ftpuser003 # 创建虚拟用户

# cat ftpuser003
local_root=/home/srpcnftpuser/ftpuser003
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

4、创建目录

# mkdir /home/srpcnftpuser/ftpuser003

5、权限设置

# chown -R srpcnftpuser.srpcnftpuser ftpuser003/

 

posted @ 2019-02-27 11:01  miclesvic  阅读(433)  评论(0)    收藏  举报