1. 安装vsftpd
sudo apt-get install vsftpd
安装过之后,sftpd已经启动了
2./etc目录下需要手动添加3个文件,内容暂时为空:
vsftpd.user_list
ftpusers
vsftpd.chroot_list
3.一下摘自网络相关文章
修改vsftpd.conf
sudo gedit /etc/vsftpd.conf运行这个就可以进入配置界面
listen=YES独立运行模式
anonymous_enable=NO/YES (允许匿名登陆吗?=YES 可登陆 =NO不可登陆)
no_anon_password=NO/YES (匿名登陆要密码吗?=YES 要 =NO不要)
local_enable=YES 本地用户可登陆吗? =YES 要 =NO不要
write_enable=YES 本地用户有写权限吗?
local_umask=022 不要动,前面如果有#就去掉,什么意思,不告诉你
connect_from_port_20=YES 端口设成20 ,不想要,自己在改:connect_from_port_205=YES
idle_session_timeout=600 监听,多常时间,没响应,VSFTPD把你踢出服务器
da
chroot_list_enable=YES 这一行,和下面一行,密切相关
chroot_list_file=/etc/vsftpd.chroot_list这一行,上一行设置YES才生效。意思是:加入到这个文件内的用户,只能访问自己的目录。其它目录不能访问.建立下面有说明.
secure_chroot_dir=/var/run/vsftpd 意思是:vsftpd运行的目录。
pam_service_name=vsftpd 加密(pam) 传输模式,这个目录内的:/etc/pam.d/vsftpd
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key(KEY文件,不要动)
如果其它的没有。就自己,添加里面。(手动加入的呀。不要懒哦) :
use_localtime=YES
connect_timeout=60
accept_timeout=60
max_clients=8
max_per_ip=8
pasv_min_port=0,pasv_max_port=0
local_max_rate=0
tcp_wrappers=YES
nopriv_user=nobody
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list
(这里主要关注倒数第二句:userlist_deny=NO,这样一来只有vsftpd.user_list文件中指定的用户才能访问)
4. 在 vsftpd.user_list 文件中添加如下内容:超级重要.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
ftp
5. 这时查看一下 ftpusers 文件中的内容,要把你想允许访问的用户删掉或注释掉。
6. 这时你就能用root用户访问了。
7. 接下来要添加新用户。
添加用户:adduser iori
添加成功后,在 vsftpd.user_list 文件中添上 iori
重启服务后,就能访问FTP了。
但这里又遇到了一个问题:
如果我想添加一个ftp用户,既只想让他能够访问FTP,但不能让他登陆系统。按如下命令创建:
adduser --shell /sbin/nologin ftpuser
可发现这个用户按7中的操作后还是无法访问FTP,报错:
530 Login incorrect.
Login failed.
这个暂时没解决。
如果按照7添加的用户,那么只能登录到你在配置文件设置的目录!!!
转载地址:http://blog.sina.com.cn/s/blog_67ed0acc0101c74f.html