您的位置:首页 > 编程语言 > PHP开发

ubuntu安装FTP

2014-04-03 22:39 134 查看
一、下载安装:

apt-get install vsftpd

二、配置

1、锁定用户在/home/ftp默认目录活动,
     并保留/etc/vsftpd.chroot_list文件里面的用户列表可访问其他目录。
2、具备暂时冻结FTP用户的功能,将需暂停的用户名加入到/etc/vsftpd.usr_list即可。

设置配置文件:
设置/etc/vsftpd.conf文件内容(参考下边的内容)
新建两文件:touch /etc/vsftpd.chroot_list(把下边新增的FTP用户添加到该文件中)
                    touch
/etc/vsftpd.user_list(若需要冻结FTP用户,添加用户名到该文件中)
新建目录:mkdir /home/ftp
新建群组:addgroup ftp(默认存在)
修改/home/ftp属性:chown ftp:ftp /home/ftp

                                   chmod
775 /home/ftp
新增FTP用户:
adduser --shell /bin/false --home /home/ftp your_ftpusr_name
把需要开通FTP的用户名加入到ftp群组:usermod -aG ftp your_ftpusr_name
#注意:
#如果你的/etc/shells里面没有包含/bin/false,则你用上述的方法建立的用户将法访问#FTP,解决方法:编辑/etc/shells,加入/bin/false这行。

/etc/vsftpd.conf文件:
# Example config file /etc/vsftpd.conf 
listen=YES 
#listen_ipv6=YES 
anonymous_enable=YES 
local_enable=YES 
write_enable=YES 
#anon_upload_enable=YES 
#anon_mkdir_write_enable=YES 
dirmessage_enable=YES 
xferlog_enable=YES 
connect_from_port_20=YES 
#chown_uploads=YES 
#chown_username=whoever 
#xferlog_file=/var/log/vsftpd.log 
#xferlog_std_format=YES 
#idle_session_timeout=600 
#data_connection_timeout=120 
#nopriv_user=ftpsecure 
#async_abor_enable=YES 
#ascii_upload_enable=YES 
#ascii_download_enable=YES 
#ftpd_banner=Welcome to blah FTP service. 
#deny_email_enable=YES 
#banned_email_file=/etc/vsftpd.banned_emails 
chroot_local_user=YES 
chroot_list_enable=YES 
chroot_list_file=/etc/vsftpd.chroot_list 
#ls_recurse_enable=YES 
secure_chroot_dir=/var/run/vsftpd 
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 
anon_root=/home/ftp 
local_root=/home/ftp 
userlist_file=/etc/vsftpd.user_list 
userlist_enable=YES 
userlist_deny=YES

+++++++++++++++++++++++++++++++++++++

常用配置选项说明:
1、listen=YES
若设置为YES,开启监听网络。

2、anonymous_enable
若设置为YES,则允许匿名用户访问;若设置为NO则拒绝匿名用户访问。
如果开启的话,则可以通过用户名ftp或者anonymous来访问,密码随便。

3、local_enable
若设置为YES,则允许通过本地用户帐号访问;若设置为NO,则拒绝本地用户帐号访问。如果你拒绝了陌生人访问,那么这个必须设置为YES吧,否则谁能访问你的FTP呢?

4、write_enable
若设置为YES,则开启FTP全局的写权限;若设置为NO,则不开。
若为NO则所有FTP用户都无法写入,包括无法新建、修改、删除文件、目录等操作,也就是说用户都没办法上传文件!!

5、anon_upload_enable 
若设置为YES,开启匿名用户的上传权限。前提是write_enable有开启,并且用户具有对当前目录的可写权限。 若设置为NO,则关闭匿名用户的上传权限。

6、anon_mkdir_write_enable 
若设置为YES,开启匿名用户新建目录的权限。前提是write_enable有开启,并且用户具有对当前目录的可写权限。
若设置为NO,则关闭匿名用户新建目录的权限。

7、dirmessage_enable 
若设置为YES,则可开启目录信息推送,也就是用户登录FTP后可以列出当前目录底下的文件、目录。 这个应该要开启吧!

8、xferlog_enable 
若设置为YES,则开启登录、上传、下载等事件的日志功能。应开启! 

9、xferlog_file=/var/log/vsftpd.log
指定默认的日志文件,可指定为其他文件。 

10、xferlog_std_format
若设置为YES,则启用标准的ftpd日志格式。可以不启用。 

11、connect_from_port_20 
若设置为YES,则服务器的端口设为20。
如果不想用端口20,可以另外通过ftp_data_port来指定端口号。

12、chown_uploads
若设置为YES,则匿名用户上传文件后系统将自动修改文件的所有者。
若要开启,则chown_username=whoever也需指定具体的某个用户,用来作为匿名用户上传文件后的所有者。 

13、idle_session_timeout=600 
不活动用户的超时时间,超过这个时间则中断连接。

14、data_connection_timeout=120 
数据连接超时时间 。

15、ftpd_banner=Welcome to blah FTP service. 
FTP用户登入时显示的信息 。

16、local_root=/home/ftp
指定一个目录,用做在每个本地系统用户登录后的默认目录。 

17、anon_root=/home/ftp
指定一个目录,用做匿名用户登录后的默认目录。 

18、chroot_local_user、 chroot_list_enable、chroot_list_file
这个组合用于指示用户可否切换到默认目录以外的目录。
其中,chroot_list_file默认是/etc/vsftpd.chroot_list,该文件定义一个用户列表。
若chroot_local_user 设置为NO,chroot_list_enable设置为NO,则所有用户都是可以切换到默认目录以外的。
若chroot_local_user 设置为YES,chroot_list_enable设置为NO,则锁定FTP登录用户只能在其默认目录活动,不允许切换到默认目录以外。
若chroot_local_user 设置为YES,chroot_list_enable设置为YES,则chroot_list_file所指定的文件里面的用户列表都可以访问默认目录以外的目录,而列表以外的用户则被限定在各自的默认目录活动。
若chroot_local_user设置为NO,chroot_list_enable设置为YES,则chroot_list_file所指定的文件里面的用户列表都被限定在各自的默认目录活动,而列表以外的用户则可以访问默认目录以外的目录。 
建议设置:chroot_local_user与chroot_list_enable都设置为YES。这样就只有chroot_list_file所指定的文件里面的用户列表可以访问默认目录以外的目录,而列表以外的用户则被限定在各自的默认目录活动!
好处:所有人都被限制在特定的目录里面。如果某些特定用户需要访问其他目录的权限,只需将其用户名写入chroot_list_file文件就可以赋予其访问其他目录的权限! 

19、userlist_file、userlist_enable、userlist_deny 
这个组合用于指示用户可否访问FTP服务。
其中,userlist_file默认是/etc/vsftpd.user_list,该文件定义一个用户列表。 
若userlist_enable设置为YES,userlist_deny设置为NO,则只有userlist_file所指定的文件里面的用户列表里面的用户可以访问FTP。 
若userlist_enable设置为YES,userlist_deny设置为YES,则userlist_file所指定的文件里面的用户列表里面的用户都被拒绝访问FTP。
若userlist_enable设置为NO,userlist_deny设置为YES,则这个列表没有实际用处,起不到限制的作用!因为所有用户都可访问FTP。
建议设置:userlist_enable与userlist_deny都设置为YES。这样则userlist_file所指定的文件里面的用户列表里面的用户都被拒绝访问FTP。
好处:只需将某用户帐号加入到userlist_file所指定文件里面的用户列表,就可以起到暂时冻结该用户的功能!

20、user_config_dir 
指定一个目录用于存放针对每个用户各自的配置文件,比如用户kkk登录后,会以该用户名建立一个对应的配置文件。 
比如指定user_config_dir=/etc/vsftpd_user_conf, 则kkk登录后会产生一个/etc/vsftpd_user_conf/kkk的文件,这个文件保存的配置都是针对kkk这个用户的。可以修改这个文件而 不用担心影响到其他用户的配置。 

三、重启FTP服务

    /etc/init.d/vsftpd restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: