Web Digest

还有众多网络文摘,仅供个人收藏和参考

Posts Tagged ‘ftp

Ubuntu 8.04上开启FTP服务 – vsftp的设置

leave a comment »

1. sudo apt-get install vsftpd

安装了之后会在/home/下建立一个ftp目录。这时候你可以试着访问下ftp://IP地址。应该可以看到一个空白内容的ftp空间。默认设置下匿名用户可以下载,但不能写入或是上传。而且Ubuntu会默认添加一个名称是ftp的用户,不是很喜欢,用sudo userdel -r ftp 去掉他

useradd  –d /var/ftp -s /sbin/nologin user01
把用户目录设为ftp根目录,同时不允许用户使用Shell登录

2. 设置 vsftpd.conf文件 (小心:每一行前都不能有空格,连注释前也不能有,否则程序无法顺利启动!

现在我们要让匿名用户无法访问,并且得输入linux上的用户密码后才能访问到他们自己目录里的内容。

首先找到设置vsftpd的文件,位置在/etc/vsftpd.conf

修改之前最好先备份下这个文件:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old

然后可以改动了:

#支持tcp_wrappers,限制访问(/etc/hosts.allow,/etc/hosts.deny)
tcp_wrappers=YES

#不让匿名用户使用
anonymous_enable=NO

#本地用户必须可用,否则就没人可以上这个FTP了
local_enable=YES

#可用写操作,必须的

write_enable=YES

#不需要显示某目录下文件信息
#dirmessage_enable=YES

#加点banner提示
ftpd_banner=Hello~~

#锁定用户,禁止用户离开用户主目录
chroot_local_user=YES

#假设系统有nobody这个用户的话,但似乎用处不大,程序还是以root身份运行的
nopriv_user=user01

修改这一行,否则user01不能直接登录的!
pam_service_name=ftp

设置一个list将root, daemon等系统用户封闭,可以参考/etc/ftpusers
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd.bannedlist

以下是打开SSL连接方式
# Enable SSL, this will affect all subsequent ssl options
ssl_enable=YES
#
# # Allow SSL for anonymous users
allow_anon_ssl=NO
#
# # Enable to force all non-anonymous logins to use SSL in order to send and receive data
force_local_data_ssl=YES
#
# # Enable to force all non-anonymous logins to use SSL in order to login
force_local_logins_ssl=YES
#
# # Enable TLS v1 protocol connections
ssl_tlsv1=YES
#
# # Enable SSL v2 protocol connections
ssl_sslv2=YES
#
# # Enable SSL v3 protocol connections
ssl_sslv3=YES

————————————

以下是利用PAM模块方式添加Virtual User的步骤:

sudo apt-get install db4.6-util
没有必要用db3了,4.6版本的可以被PAM认识

创建文本文件/etc/vsftpd/vlogin.plainlist

格式如下:

user_id
password
user1
123456

sudo db4.6_load -T -t hash -f /etc/vsftpd/vlogin.plainlist /etc/vsftpd/vlogin.db

sudo chmod 600 /etc/vsftpd/vlogin.db
编辑/etc/pam.d/vsftpd文件 (注意vlogin后面不要加后缀db,否则找不到文件,会出现530 login incorrect错误)
注释掉其他行,在添加以下两行
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vlogin
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vlogin
最后编辑/etc/vsftpd.conf文件
增加
guest_enable=YES
guest_username=user01
并修改
pam_service_name=vsftpd
添加
virtual_use_local_privs=YES
这句一定要,否则虚拟用户可以登陆,但是任何写目录动作都会550 permission denied

别忘了,在加一句 chown user01 /var/ftp。 否则密码对了还是连不上
重新启动应该就可而已了。其他更复杂的设置可以看这个设置wiki

Written by admin

October 16, 2009 at 3:36 am

Posted in 网站|Site

Tagged with ,