标签:80端口 不能 指定 name 文件中 writable 修改 oop 安装软件
一直以为ftp很简单,之前ECS的测试环境ftp用宝塔搭的,确实方便省事,但是宝塔占用了我测试的80端口,于是就把宝塔全卸了。重新安装ftp,安装之后,不管是本地系统账号还是新建的ftp账号,不是这报错就是那报错,折腾了一两个小时。。。
分享备忘,新人防坑.
# 1.安装软件
$ sudo apt-get install vsftpd
# 2.修改 /etc/shells,避免报错 530 login incorrect
$ vi /etc/shells
增加 /usr/sbin/nologin
# 3.增加ftp账户(如果使用系统账号也可不添加)
$ sudo useradd -d /home/ftp -g ftp -s /usr/sbin/nologin ftpname
指定/home/ftp为ftp文件目录,创建ftpname用户创建ftp用户组。
# 4.设置ftpname密码
$ sudo passwd ftpname
$ sudo vi /etc/vsftpd.conf
重点配置标注下
listen=YES
listen_ipv6=YES
anonymous_enable=NO # 禁用匿名账号登陆
local_enable=YES # 允许本地账号登陆
write_enable=YES # 允许ftp的写操作
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Welcome to FTP service.
# 允许写入跟路径,这条不加容易出现 500 OOPS: vsftpd: refusing to run with writable root inside chroot () 报错
allow_writeable_chroot=YES
# 这三条设置用户限定在ftp文件目录,不能跨出该目录外,但在/etc/vsftpd.chroot_list文件中列出的用户除外。
chroot_local_user=YES # 所有用户被限制在ftp目录内,不能跨出该目录,除非有例外情况;
chroot_list_enable=YES # 这里就是例外情况
chroot_list_file=/etc/vsftpd.chroot_list # 跨目录例外情况 白名单
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
local_root=/home/ftp # 设置ftp文件主目录(登陆ftp后显示的目录)
# 在 vsftpd.user_list 里的用户允许登陆ftp,注意同时注释掉在 ftpuser黑名单 里面的用户
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list # 允许ftp登陆账号 白名单
/etc/ftpusers
是一个黑名单配置,禁止访问ftp的用户,不受任何配置项影响,安装ftp后默认会把系统默认用户都存放在这里。
vsftpd.user_list 为白名单还是黑名单受 userlist_enable、userlist_deny 配置控制,一般情况下设置为白名单(即下面第一种配置)。
标签:80端口 不能 指定 name 文件中 writable 修改 oop 安装软件
原文地址:https://www.cnblogs.com/sstfy/p/10351802.html