linux系列-CentOS下vsftpd的安装和配置

坏境: CentOS 7.0

闲话不多少了,直接切入正题吧。

第一步:安装vsftpd,在终端运行

yum -y install vsftpd

测试是否安装成功

service vsftpd start

如果提示:

Starting vsftpd for vsftpd:    [ok]

表示成功。

第二步:编辑vsftpd的配置文件

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用户

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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。