vsftpd配置


vsftpd
配置:
/etc/vsftpd.conf :
anonymous_enable=YES  
#
允许匿名访问
local_enable=YES      
#
允许本地用户访问 (/etc/passwd 中的用户 )
write_enable=YES
#
允许写入权限,包括修改,删除
local_umask=022
#
本地用户文件上传后的权限是 -rw-r-r
#anon_umask=077
#
匿名用户上传后权限是 -rw----
anon_world_readable_only=YES
#
允许匿名用户浏览,下载文件
anon_upload_enable=YES
#
允许匿名用户上传
#anon_mkdir_write_enable=YES
#
允许匿名用户建立目录
anon_other_write_enable=YES
#
允许匿名用户具有建立目录,上传之外的权限,如重命名,删除
dirmessage_enable=YES
#
当使用者转换目录 , 则会显示该目录下的 .message 信息
xferlog_enable=YES
#
记录 s 使用者所有上传下载信息
xferlog_file=/var/log/vsftpd.log
#
将上传下载信息记录到 /var/log/vsftpd.log
connect_from_port_20=YES
#
确保 ftp-datad 数据传送使用 port 20
idle_session_timeout=600
#
如果使用者 600 秒没有动作,则踢出
chroot_list_enable=YES
#
限制使用者不能离开家目录 , 例如 blue 登陆后位于 /home/blue , 设置该选项后 , 他不可以转到 /home/blue 的上层目录 , /bin, /usr,/opt...etc

chroot_list_file=/etc/vsftpd.chroot_list
#
与上条同时使用,设置限制使用者的存放文件为 /etc/vsftpd.chroot_list
#
建立文本文件 /etc/vsftpd.chroot_list ,写入要限制的用户,一行一个。
#
如果希望限制所有用户,则可以设置 chroot_local_user=YES 代替上面两行
tcp_wrappers=YES
#
支持 tcp_wrappers, 限制访问 (/etc/hosts.allow,/etc/hosts.deny)
listen=YES
#
使用 standalone 启动 vsftpd ,而不是 super daemon(xinetd) 控制它 (vsftpd 推荐使用 standalone 方式 )
listen_port=21
#ftp
监听端口
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd.user_list
#
以上三条设定不允许登陆的用户 , 用户列表存放在 /etc/vsftpd.user_list , 一行一个帐号
pam_service_name=vsftpd
#PAM
所使用的名称 . userlist_* 一样限制用户登陆,不同的是 userlist_* 在进行密码验证之前拒绝用户登陆, pam 是在密码验证之后拒绝登陆 .( 提示密码错误 ) 用户列表默认存放在 /etc/ftpusers 中,一行一个 . ( 可通过 /etc/pam.d/vsftpd 重定向用户列表存放文件 )
#
获得 /etc/pam.d/vsftpd
#[root@LFS vsftpd- 2.0.1 ]#cp RedHat/vsftpd.pam /etc/pam.d/vsftpd
max_clients=100
#
最大用户在线数量
max_per_ip=2
#
ip 最大线程
anon_max_rate=30000
#
匿名用户最大传输速度    单位 : bytes/
local_max_rate=50000
#
本地用户最大传输速度    单位: bytes/
user_config_dir=/etc/userconf
#
个别用户配置目录 ( 用来设定特殊帐号 ), 例如我想让 blue 这个用户的传输速度是 100KB
就可以在 /etc/userconf/ 下创建文本文件 blue( 与用户名相同 ), 加入 local_max_rate=100000 即可

anon_root=/var/ftp
#
设定匿名用户登陆后所在的目录
local_root=/var/local_user
#
设定所有本地用户登陆后的目录,如不设置此项,则本地用户登陆后位于各自家目录下。
use_localtime=YES
#
使用本地时间而不是 GMT
nopriv_user=vsftpd
#
设定服务执行者为 vsftpd, 默认使用的是 nobody,vsftpd 推荐使用一个权限很低的用户 . 这里用 vsftpd 代替 nobody ,创建 vsftpd 用户 :
[root@LFS vsftpd-2.0.1]#groupadd vsftpd
[root@LFS vsftpd-2.0.1]#useradd -d /dev/null -g vsftpd -s /bin/false vsftpd
这样就有了个权限非常低的 vsftpd 用户 ( 没有家目录 (/dev/null) ,没有登陆 shell(/bin/false), 系统会更安全 , 设定好后就可以启动啦 :)
[root@LFS etc]#/usr/sbin/vsftpd
[root@LFS etc]#netstat -tul
Active
Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 *:6000                  *:*                     LISTEN
tcp        0      0 *:ftp                   *:*                     LISTEN

你可能感兴趣的:(vsftpd配置)