昨晚还写了一篇关于centos上ftp的安装配置的文章,但是发现截图没有上传,就…重写了一遍。我可能不知道一些原理,但是这次安装真的成功了…希望大家给点意见。
1.检查是否安装了vsftp。
PS:这张图是装了之后剪的。
2. Delicious installation of vsftp
3.基于虚拟用户的FTP实现
所谓虚拟用户,并不使用真实账号,只是通过一些手段达到映射账号和设置权限的目的。
1)我们在/etc/vsftpd/vsftpd.conf中进行以下CentOS FTP服务配置:
Anonymous_enable=NO设置不允许匿名访问。
Local_enable=YES设置本地用户访问。注意:如果使用虚拟主机用户,如果此项设置为否,所有虚拟用户将无法访问。
Chroot_list_enable=YES防止用户离开主目录。
xfer log _ file=/var/log/vsftpd . log设置vsftpd的服务日志存储路径。请注意,默认情况下,该文件不存在。你必须手动触摸它。
ascii_upload_enable=YES
Ascii_download_enable=YES设置支持Ascii模式的上传和下载功能。
Service name=vsftpd PAM authentication file name PAM. Authentication will be carried out according to /etc/pam.d/vsftpd.
以下是Vsftpd虚拟用户支持的重要CentOS FTP服务配置项目。默认的vsftpd.conf不包含这些设置,因此您需要自己手动添加CentOS FTP服务配置。
Guest_enable=YES设置启用虚拟用户功能。
Guest_username=ftp指定虚拟用户的主机用户。-CentOS中已经有一个内置的ftp用户(可以改成其他本地账号)。
user _ config _ dir=/etc/vsftpd/vuser _ conf设置虚拟用户个人vsftp的CentOS FTP服务文件的存储路径。
存储虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名)
2)创建一个chroot列表,并向其中添加用户ftp:
touch /etc/vsftpd/chroot_list
echo ftp /etc/vsftpd/chroot_list
3)认证:
首先,安装Berkeley DB工具。很多人找不到db_load的问题是没有安装这个包。
yum install db4 db4-utils
然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码
yearnfar
123456
huaping
123456
接着,生成虚拟用户认证的db文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句
再增加以下两句
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
最后,创建虚拟用户个性CentOS FTP服务文件
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/yearnfar(注:文件名等于vuser_passwd.txt里面的账户名,否则下面设置无效)
内容如下:
local_root=/var/www/html 虚拟用户的根目录(根据实际修改)
write_enable=YES 可写
anon_umask=022 掩码
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
4.启动vsftp服务器
mkdir /var/www/html/ftp
chmod R 755 /var/www/html
chmod R 777/var/www/html/ftp
最新的vsftpd要求对主目录不能有写的权限所以html为755 主目录下面的子目录再设置777权限
service vsftpd start 开启命令
service vsftpd restart 重启
service vsftpd stop停止