CentOS6.5 vsftpd 配置

CentOS6.5
vsftpd 配置文件为/etc/vsftpd/vsftpd.conflinux

安装完软件后:
1.默认匿名用户可以登录,且限制在/pub目录内,
2.本地用户能够登录但因SElinux而没法登录。
3.ftpuser内用户没法登录。(PAM限制)
4.可利用 /etc/hosts.{allow|deny} 来做为基础防火墙;
5.主动式联机的埠口为 port 20
6.使用格林威治时间 (GMT)。『 use_localtime=YES 』可修改为本地时间。web

限制用户登录的文件有两个:
1./etc/vsftpd/ftpusers:就是 /etc/pam.d/vsftpd 这个档案的设定所影响的;(默认拒绝)
2./etc/vsftpd/user_list:由 vsftpd.conf 的 userlist_file 所设定。
 默认为拒绝文件内的用户,如若想设置为容许文件内的用户:userlist_deny=NO数据库

修改配置文件:
1、若想本地用户也能登录。
方法:关闭SElinux,setenforce=0 ,或查看/var/log/messages内容,根据提示修改SElinux设置。
2、限制用户在家目录,指定用户不限制在家目录。
chroot_local_user=YES-------------------限制全部用户在家目录
chroot_list_enable=YES------------------开启容许的用户列表文件
chroot_list_file=/etc/vsftpd/chroot_list--------用户列表文件
3、禁止上传特定类型的文件
 deny_file={*.txt}安全

其余参数配置说明:服务器

与服务器环境较相关的设定值:
connect_from_port_20=YES (NO)
listen_port=21
dirmessage_enable=YES (NO)----进入目录显示消息
message_file=.message
listen=YES (NO)---------服务启动方式
pasv_enable=YES (NO)------支持数据流的被动式联机方式
use_localtime=YES (NO)
write_enable=YES (NO)-----容许用户上传
connect_timeout=60-----数据链接主动模式下,服务端链接客户端请求超时时间
accept_timeout=60------被动模式下
data_connection_timeout=300-------数据链路传输超时时间
idle_session_timeout=300--------控制链路待机超时时间
max_clients=0------独立服务模式,同时联机数
max_per_ip=0-------同一IP的联机数
pasv_min_port=0, pasv_max_port=0------被动联机模式端口号设置
ftpd_banner
banner_file=/path/file
与实体用户较相关的设定值:
guest_enable=YES (NO)-----设置全部用户使用guest身份登陆
guest_username=ftp------指定guest身份所使用的用户权限
local_enable=YES (NO)
local_max_rate=0-------限制用户传输速度,单位比特每秒
chroot_local_user=YES (NO)-----限制在用户家目录
chroot_list_enable=YES (NO)-------启用chroot_list文件
chroot_list_file=/etc/vsftpd.chroot_list
userlist_enable=YES (NO)------启用userlist文件
userlist_deny=YES (NO)-------拒绝该文件用户登录
userlist_file=/etc/vsftpd/user_list
匿名者登入的设定值:
anonymous_enable=YES (NO)
anon_world_readable_only=YES (NO)-----仅具备下载可读文件的权限
anon_other_write_enable=YES (NO)-----写权限 ,若此为NO,则下面两个设置无效
anon_mkdir_write_enable=YES (NO)------创建目录的权限
anon_upload_enable=YES (NO)-------上传权限
deny_email_enable=YES (NO)-----特殊email address抵挡
banned_email_file=/etc/vsftpd/banned_emails
no_anon_password=YES (NO)------NO的时候登入时会检查输入的email
anon_max_rate=0-------限制传输速度
anon_umask=077------上传档案的权限
关于系统安全方面的一些设定值:
ascii_download_enable=YES (NO)---优先使用ASCII格式下载文件
ascii_upload_enable=YES (NO)----优先使用ASCII格式上传文件
one_process_model=YES (NO)-----为每一个联机建立一个进程,增长效能,消耗资源。硬件要求高,通常建议设置NO
tcp_wrappers=YES (NO)-----支持tcp_wrappers控制
xferlog_enable=YES (NO)-----开启上传下载记录
xferlog_file=/var/log/xferlog-----设置记录文件位置
xferlog_std_format=YES (NO)-----是否设定为 wu ftp 相同的登陆档格式,须要使用wu ftp登陆文件分析软件查看
dual_log_enable=YES, vsftpd_log_file=/var/log/vsftpd.log-----登陆档
nopriv_user=nobody----运行服务的用户
pam_service_name=vsftpd------pam 模块的名称,咱们放置在 /etc/pam.d/vsftpd 便是这个session

 

虚拟用户登录配置:app

1、多用户相同访问目录与权限:tcp

1.建立可登录的帐号和密码。ui

#cat virtual_users.txt加密

zhangsan

123456

lisi

123456

wangwu

123456

2.检查系统是否安装已经安装下列软件包,用于建立数据库文件

#rpm -qa |grep db4

db4-4.7.25-20.el_7.i686

db4-cxx-4.7.25-20.el_7.i686

db4-devel-4.7.25-20.el_7.i686

db4-utils-4.7.25-20.el_7.i686

3.使用db_load命令把virtual_users.txt 文件转换成数据库文件,并更改数据库文件的权限

#db_load -T -t hash -f ./virtual_users.txt /etc/vsftpd/virtual_users.db

#chmod 600 /etc/vsftpd/virtual_users.db

4.新建一个虚拟用户的PAM文件,内容以下

#cat /etc/pam.d/vsftpd.vu

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/virtual_users  64位用/lib64 替换/lib

account required /lib/security/pam_userdb.so db=/etc/vsftpd/virtual_users

5建立虚拟用户。设置该用户所须要访问的目录,并设置虚拟用户的访问权限

#useradd -d /home/ftp  virtual_user

#chmod 700 /home/ftp

6.编辑vsftpd.conf配置文件:

guest_enable=YES

guest_username=virtual_user

pam_sevice_name=vsftpd.vu

virtual_use_local_privs=YES   虚拟用户和本地用户有相同的权限;

或者:virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。

虚拟用户要么拥用本地用户权限要么拥有匿名权限,匿名权限对于家目录中的身份为其余用户。

2、多用户不一样访问目录与权限。

一、二、三、四、5不变。

6.建立ftp用户配制文件目录:/etc/vsftpd/user_conf

  #mkdir /etc/vsftpd/user_conf

7.在/etc/vsftpd/user_conf目录中建立以用户名命名的配置文件zhangsan、lisi、wangwu

  “zhangsan”内容以下:

    local_root=/home/ftp (固然,你高兴也能够设置成其它,但要注意virtual用户对此目录的权限)

    anon_world_readable_only=NO (使download用户的能下载,也只能下载;写成YES,将不能列出文件和目录)

  “lisi”内容以下:

    local_root=/home/ftp

    anon_world_readable_only=NO

    write_enable=YES (写权限)

    anon_mkdir_write_enable=YES (新建目录权限)

    anon_upload_enable=YES(上传权限)

    anon_other_write_enable=YES(删除/重命名的权限)

   “wangwu”内容以下:

     local_root=/home/virtual_user    

    anon_world_readable_only=NO

    anon_umask=022 (因为web页面的特殊性,故单独设置上传文件权限为755,此掩码值可根据具体状况更改) 

    write_enable=YES (写权限)

    anon_mkdir_write_enable=YES (新建目录权限)

    anon_upload_enable=YES(上传权限)

    anon_other_write_enable=YES(删除/重命名的权限)

8.在/etc/vsftpd.conf加入或者更改如下配置语句:

  anonymous_enable=NO

   local_enable=YES

  guest_enable=YES

  guest_username=virtual_user

  pam_service_name=ftp.vu

  user_config_dir=/etc/vsftpd/user_conf

   ==============================================

用户1有上传,下载,建立文件,目录的权限;用户2只能下载;用户3能够上传下载,但不能删除目录 和文件;三个用户的家目录 为同一个。

[root@test5 user_conf]# cat user1
local_root=/home/ftp
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES

[root@test5 user_conf]# cat user2
local_root=/home/ftp
anon_world_readable_only=NO


[root@test5 user_conf]# cat user3
local_root=/home/ftp
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES

  ==============================================

ftps
1.检查 vsftpd 有无支持 ssl 模块:ldd $(which vsftpd) | grep ssl
2.创建专门给 vsftpd 使用的凭证数据:
 cd /etc/pki/tls/certs
 make vsftpd.pem  须要填写证书相关信息
3.修改 vsftpd.conf 的配置文件
 针对 SSL 所加入的特别参数!每一个项目都很重要!
 ssl_enable=YES <==启动 SSL 的支持
 allow_anon_ssl=NO <==可是不容许匿名者使用 SSL
 force_local_data_ssl=YES <==强制实体用户数据传输加密
 force_local_logins_ssl=YES <==同上,但连登入时的账密也加密
 ssl_tlsv1=YES <==支持 TLS 方式便可,底下不用启动
 ssl_sslv2=NO
 ssl_sslv3=NO
 rsa_cert_file=/etc/vsftpd/vsftpd.pem <==预设 RSA 加密的凭证档案所在


限制文件大小?
# cd /usr/local/proftpd/bin/
# ftpquota -create -type=tally -table-path=/usr/local/proftpd/etc/ftpquota.tallytab
# ftpquota -create -type=limit -table-path=/usr/local/proftpd/etc/ftpquota.limittab
# ftpquota --type=limit --table-path=/usr/local/proftpd/etc/ftpquota.limittab --add-record --quota-type=user --name=tom --units=Mb --bytes-

upload=50 --bytes-xfer=1

# (上面意思是:限定tom用户空间大小为50M,上传文件大小为1M)

ftpquota 具体用法参照 ftpquota --help--------------未证明

相关文章
相关标签/搜索