今天为什么想写ftp呢,很郁闷。昨天我们部门一起测试一个项目,期间要我去建立ftp账号,我心想这么简单我肯定能搞定啊,没想到我用原来的配置配在现在的系统上,NND不管事,真是气愤,最后总结的时候不得不自告奋勇说自己ftp技能不过关,哎,心痛。
自己也百度了原因,版本不一样,ftp就会升级。原来的配置里面没有这句:allow_writeable_chroot=YES
升级后如果还用原来的配置,使用用户登录时就会报:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
百度原因 “ 目前的较新版本而言(不论是安装最新的版本,还是由旧版本升级而来都包括在内), 也许是考虑到安全方面的因素, 提高了它的安全级别, 但是同时也带来了一些问题. 最常见的就是如下的提示:”500 OOPS: vsftpd: refusing to run with writable root inside chroot”
所以,就修改了配置。
最新的配置如下:
前提:
确定ftp的主目录 /opt/product/sctv_sp/picture
确定用户名密码:sctvpic sctvpic
1.创建不可登录系统的用户sctvpic
useradd -d /opt/product/sctv_sp/picture -s /sbin/nologin sctvpic
2.修改密码
pawwsd sctvpic
3.修改ftp的配置文件
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
4.添加用户、密码到可访问列表
vi /etc/vsftpd/chroot_list
添加:
sctvpic
sctvpic
5.重启vsftp服务
service vsftpd restart
6.登陆
ftp localhost
用户名:sctvpic
密码:sctvpic
[root@chances123 dispatch]# ftp localhost
Trying ::1...
Connected to localhost (::1).
220 (vsFTPd 3.0.2)
Name (localhost:root): sctvpic
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
229 Entering Extended Passive Mode (|||17380|).
150 Here comes the directory listing.
drwxr-xr-x 3 1032 1042 27 May 20 08:56 category
226 Directory send OK.
ftp>
ftp>
ftp> cd /etc/
550 Failed to change directory. //已经锁定宿主目录,所以无权访问其他目录
ftp>