cfanbo / cfanbo.github.io

1 stars 0 forks source link

centos下配置vsftpd虚拟用户教程[整理] | 学习笔记 #202

Open cfanbo opened 1 year ago

cfanbo commented 1 year ago

https://blog.haohtml.com/archives/9084/

点击下载vsftp_install.sh一键安装脚本:vsftpd_install.sh 基本配置环境如下: 1.ftp用户的home目录:/data/ftp 2.所有虚拟用户的local_root目录,都放在/data/wwwroot/这里.这里为了方便,目录名和虚拟用户名一样,当然也可以不一样的 3.允许登录用户文件:/etc/vsftpd/chroot_list

1.安装vsftpd

yum -y install vsftpd

可用service vsftpd start 命令查看是否安装成功 设置CentOS vsftpd自启动

chkconfig –level 35 vsftpd on

2.配置vsftpd.conf文件

vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO 是否允许匿名用户访问 #chroot_list_enable=YES 限定用户不可以离开主目录 #chroot_list_file=/etc/vsftpd/chroot_list

chroot_local_user=YES //这里为了方便,直接默认情况下将所有用户都锁定在自己的目录里,如果不写这一行的话,就需要启用上面的两行,以后添加新账户的时候需要将用户添加到chroot_list_file来,来进行锁定用户在自己的目录里,参考: local_enable=YES/NO 本地用户是否可以访问 注:如果为NO 则所有虚拟用户都将不能访问原因:虚拟用户访问在主机上其实是以本地用户访问的 pam_service_name=vsftpd pam认证文件名 在/etc/pam.d/vsftpd guest_enable=YES 启用虚拟用户功能 guest_username=ftpadmin 指定虚拟用户的宿主用户 –centos 里面已经有内置的ftp用户了,这里我们使用重新创建的用户(注:此用户在chroot_list_file=/etc/vsftpd/chroot_list文件里所指定的用户) user_config_dir=/etc/vsftpd/vuser_conf 设置虚拟用户个人vsftp的服务配置文件所在目录 vsftpd用户没有办法修改文件的权限的权限(chmod),加上这两行就可以了 virtual_use_local_privs=YES chmod_enable=YES 创建虚拟用户配置文件目录

mkdir /etc/vsftpd/vuser_conf

mkdir /etc/vsftpd/chroot_list

四.在认证文件chroot_list里添加vsftpd虚拟用户所对应的本地系统用户 创建vsftpd运行用户ftpadmin,在创建前请确认是否有/data目录,没有的话创建一个,或者最后创建这个目录,把权限分配一下也可以(这里为了配合web使用,并没有使用默认的ftp:ftp用户)

/usr/sbin/useradd -d /data/ftp -g www -s /sbin/nologin ftpadmin #passwd ftpadmin

这里说明一下,如果您在前面vsftpd.conf文件里使用的是chroot_local_user=YES指令的话,则下面的一步操作可以直接跳过去,否则需要把ftpadmin写到chroot_list文件里才可以. 将ftpadmin添加到/etc/vsftpd/chroot_list文件中

vi /etc/vsftpd/chroot_list ftpadmin