vsftpd 命令

| 选择喜欢的代码风格  

vsftpd 命令安装:


-bash: vsftpd: command not found

#截至目前 yum 安装的版本 3.0.2
yum -y install vsftpd

vsftpd 命令补充说明:


vsftpd 提供三种登陆方式:1.匿名登录 2.本地用户登录 3.虚拟用户登录。

vsftpd 命令选项:


-v:显示版本号
-ooption=value  配置文件

#实例
vsftpd -olisten=NO /etc/vsftpd/vsftpd.conf -oftpd_banner=blah

[root@dsp_web_86 Data]$vsftpd -v
vsftpd: version 3.0.2

vsftpd 命令配置:


vim /etc/vsftpd/vsftpd.conf

#具体配置项目如下:
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
tcp_wrappers=YES

关闭匿名用户登陆时,创建的ftp用户也没法登陆了,所以开启了

anonymous_enable=YES

默认欢迎信息暴露版本号,直接注释掉了

dirmessage_enable=YES

将ftp用户加入到登陆白名单中

echo 'ftpuser' >> /etc/vsftpd/user_list

创建ftp用户及 FTP 目录:


这里直接将ftp用户家目录指定成ftp数据存放目录。省事

useradd ftpuser -s /sbin/nologin -d /Data/ftp

设置密码

passwd ftpuser

vsftpd: refusing to run with writable root inside chroot(),从 vsftpd 2.3.5 开始,用户被锁定的 chroot 目录不可写。这是为了防止安全漏洞。允许上传的安全方法是保持 chroot 启用,并配置您的 FTP 目录

chmod a-w /Data/ftp/

#启动 vsftp
systemctl start vsftpd

#重启 vsftp
[root@dsp_web_86 Data]$service vsftpd restart
Redirecting to /bin/systemctl restart vsftpd.service

vsftpd 命令的坑:


VSFTP 553 Could not create file..所有的配置无误后,目录写权限也开了,却发现无法上传文件…

这个时候,需要确认是否系统开启了 SELinux,关闭需要重启服务器,不希望重启服务器,则执行下面命令:

setsebool -P allow_ftpd_full_access on
setsebool -P ftp_home_dir on

现在试试上传文件,可以了!



发表评论