坏境: CentOS 7.0
闲话不多少了,直接切入正题吧。
yum -y install vsftpd
测试是否安装成功
service vsftpd start
如果提示:
Starting vsftpd for vsftpd: [ok]
表示成功。
vi /etc/vsftpd/vsftpd.conf
清空文件, 然后添加如下内容:
listen=YES
background=YES
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_file=/var/log/vsftpd.log
xferlog_std_format=YES
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to hao32 FTP servers
pam_service_name=vsftpd
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
touch /etc/vsftpd/vsftpd.chroot_list
service vsftpd start
如果出现下面这句话:
Starting vsftpd for vsftpd: [ OK ]
则表示成功,如果不行则用这个语句:
/etc/rc.d/init.d/xinetd restart
ftp默认我们使用系统用户, 现在我们来添加用户csuldw, 指向目录/home/csuldw
, 权限是nologin
, 就是没给shell权限, 不影响ftp的。
useradd csuldw -d /home/csuldw -s /sbin/nologin
如果显示:
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
不用理会, 只是告诉你, 你指向的目录已经存在, 这不影响
设置目录及其文件的属组, 你也可以使用别的分组方式,如下:
chown -R csuldw.csuldw /home/csuldw
设置一下用户csuldw的密码, 自己设置就可以了,命令如下:
passwd csuldw
把用户csuldw加到/etc/vsftpd/vsftpd.chroot_list
里, 这样用户就可以正常登陆并且不能跳出自己的目录
echo ‘csuldw‘ >> /etc/vsftpd/vsftpd.chroot_list
service vsftpd restart
配置完毕! 测试登陆吧
ftp主机: 服务器IP地址 如输入:ftp 192.168.0.1
ftp用户: csuldw
ftp密码: 你自己刚才设置的
注意:进行FTP操作时,最好把防火墙给关闭了
service iptables stop
默认情况下,是不允许root账户上传的。
实现root 权限上传:
vi /etc/vsftpd/user_list #root注释掉
vi /etc/vsftpd/ftpusers #root注释掉
客户端软件上传时报错:
553 Could not create file.
原因:无权限写导致。
解决:
chmod 777 /var/ftp/pub
原文地址:http://blog.csdn.net/dream_angel_z/article/details/45887749