vsftpd服务搭建

vsftpd中的一配置项(/etc/vsftpd/vsftpd.conf):

cmds_allowed= ABOR,APPE,CWD,CDUP,FEAT,LIST,MKD,MDTM,PASS,PASV,PWD,QUIT,RETR,REST,STOR,STRU,TYPE,USER(支持下载和上传的断点续传等命令),相关参考:http://www.nsftools.com/tips/RawFTP.htm   http://www.jinbuguo.com/vsftpd/vsftpd.conf.html

ftp命令与响应代码的中文解释:http://www.dz7.com.cn/discuz-1152-1-1.html

 

环境:vsftpd-3.0.2-25.el7.x86_64+CentOS Linux release 7.5.1804 (Core)

目标:同时使用匿名与用户,拥有不同的权限

1.yun instatll vsftpd

2.vi /etc/vsftpd/vsftpd.conf

启用:

chroot_local_user=YES

追加:

allow_writeable_chroot=YES
local_root=/var/ftp
anon_root=/var/ftp/pub

3. chown  USERNAME  /var/ftp/pub       #USERNAME是变量,使用本地用户代替。

4.systemctl start vsftpd.service

5.firewall防火墙和selinux设置(如果防火墙和selinux没有关,就一定要做,不然总会报错)

# firewall-cmd --list-services            列出防火墙允许访问的服务
# firewall-cmd --add-service=ftp --permanent      永久添加ftp服务
# firewall-cmd --add-port=20/tcp --permanent     永久添加端口
# firewall-cmd --add-port=21/tcp --permanent     允许外网访问
# firewall-cmd --reload               重新载入配置

# setsebool ftpd_full_access 1
# setsebool tftp_home_dir 1

 注:若是对vsftpd做一些操作,比如换下硬盘,重新持载一下,selinux就需要重新做。不然总会出现一些奇怪的错误。

#getsebool -a | grep ftp      查看selinux中关于ftp的设置

 

环境:vsftpd.x86_64 0:2.2.2-24.el6+centos6.5

目标:构建两个虚拟用户,赋于不同的权限.

1.yum install vsftpd

2. vi /etc/vsftpd/vuser.list  #编辑用户与密码(奇数为帐号,偶数为密码),如下:

  testusername1

  testpassword

  testusername2

  testpassword

3.将vuser.list文件转为数据库文件.

db_load -T -t hash -f vuser.list vuser.db

chmod 600 vuser.db

rm -rf vuser.list 

4.创建一个系统用户,用于虚拟用户的映射.

useradd -d /var/ftproot -s /sbin/nologin virtual

chown virtual /var/ftproot

chmod -Rf 755 /var/ftproot/

5.创建一个用于虚拟用户验证的PAM文件

vi /etc/pam.d/vsftpd.vu

  auth       required     pam_userdb.so db=/etc/vsftpd/vuser

  account    required     pam_userdb.so db=/etc/vsftpd/vuser

6.为每个虚拟用户配置不同的权限

mkdir /etc/vsftpd/vusers_dir/

vi testusername1

  anon_upload_enable=YES

  anon_mkdir_write_enable=YES

  anon_other_write_enable=YES

  anon_umask=022

vi testusername2

  anon_upload_enable=NO

  anon_mkdir_write_enable=NO

7.修改主配置文件.

vi /etc/vsftpd/vsftpd.conf

  anonymous_enable=NO

  guest_enable=YES

  guest_username=virtual 

  pam_service_name=vsftpd.vu

  user_config_dir=/etc/vsftpd/vusers_dir

 8.启用vsftpd服务

service vsftpd start

9.将vsftpd加入开机启动

chkconfig vsftpd on 

posted on 2019-09-19 19:36  时空-幻梦  阅读(809)  评论(0编辑  收藏  举报

导航