分享

Linux中vsFTP添加用户

 天蓝云淡 2013-12-02

按照  http://xinchibaobei.blog.163.com/blog/static/1263925092009101074313369

搭建好 vsFTP 后,发现只能用 ftp 或 anonymous 用户才能访问,就连root和自己的登录账号都无法访问。

这当然不爽!参考网上抄来抄去的方法,都说要装 libdb3-util ,后面还有大堆的安装和配置,懒得动。

终于发现了实践一族:

http://sam1234567890.blog.163.com/blog/static/60175831200832683258463

http://bbs./viewthread.php?tid=11383

多谢两位!(如果嫌我后面说的简陋,可以参考以上两位的博客。)

 

1. 搭好vsFTP后,/etc目录下需要手动添加3个文件,内容暂时为空:

vsftpd.user_list

ftpusers    (这个文件可能原来就有。不用手动加)

vsftpd.chroot_list  (这里我没用上,不过先建着)

 

2. 按如下方式修改 vsftpd.conf 文件:

vsftpd.conf
vim /etc/vsftpd.conf 运行这个就可以进入配置界面
listen=YES 独立运行模式
anonymous_enable=NO/YES (允许匿名登陆吗?=YES 可登陆 =NO 不可登陆)
no_anon_password=NO/YES (匿名登陆要密码吗?=YES 要 =NO 不要)
local_enable=YES/NO 本地用户可登陆吗? =YES 要 =NO 不要
write_enable=YES 本地用户有写权限吗?
local_umask=022 不要动,前面如果有#就去掉,什么意思,不告诉你
connect_from_port_20=YES 端口设成20 ,不想要,自己在改: connect_from_port_205=YES
idle_session_timeout=600 监听,多常时间,没响应,VSFTPD 把你踢出服务器
data_connection_timeout=600 连接服务器后,数据多常时间不能传入,断开服务
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文件中指定的用户才能访问)

 

3. 在 vsftpd.user_list 文件中添加如下内容:

# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES(default), never allow users in this file,and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
ftp

4. 这时查看一下 ftpusers 文件中的内容,要把你想允许访问的用户删掉或注释掉。

5. 重启服务:service vsftpd restart

6. 这时你就能用root用户访问了。

    如果你想让你登陆Linux的账号也能访问,只要把用户名写进 vsftpd.user_list 就行了。

   (还是要确保 ftpusers 文件中没有这个用户)。另外别忘了重启服务。

7. 接下来要添加新用户。

添加用户:adduser iori

添加成功后,在 vsftpd.user_list 文件中添上 iori

重启服务后,就能访问FTP了。

 

但这里又遇到了一个问题:

如果我想添加一个ftp用户,既只想让他能够访问FTP,但不能让他登陆系统。按如下命令创建:

adduser --shell /sbin/nologin ftpuser

可发现这个用户按7中的操作后还是无法访问FTP,报错:

530 Login incorrect.
Login failed.

这个暂时没解决。 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多