`
desert3
  • 浏览: 2158560 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

(转)vsftp详细配置、/etc/vsftpd/vsftpd.conf

 
阅读更多
匿名用户权限控制:
anonymous_enable=YES   #是否启用匿名用户
no_anon_password=YES   #匿名用户login时不询问口令

下面这四个主要语句控制这文件和文件夹的上传、下载、创建、删除和重命名。
anon_upload_enable=(yes/no); #控制匿名用户对文件(非目录)上传权限。
anon_world_readable_only=(yes/no); #控制匿名用户对文件的下载权限
anon_mkdir_write_enable=(yes/no); #控制匿名用户对文件夹的创建权限
anon_other_write_enable=(yes/no); #控制匿名用户对文件和文件夹的删除和重命名

注:匿名用户下载是使用的是nobody这个用户,所以相应的O这个位置要有R权限才能被下载。若想让匿名用户能上传和删除权限,必需设置

write_enable=YES #全局设置,是否容许写入(无论是匿名用户还是本地用户,若要启用上传权限的话,就要开启他)
anon_root=(none) #匿名用户主目录
anon_max_rate=(0) #匿名用户速度限制
anon_umask=(077) #匿名用户上传文件时有掩码(若想让匿名用户上传的文件能直接被匿名下载,就这设置这里为073)
chown_uploads=YES #所有匿名上传的文件的所属用户将会被更改成chown_username
chown_username=whoever #匿名上传文件所属用户名

本地用户权限控制:
write_enable=YES #可以上传(全局控制) 删除,重命名
local_umask=022 #本地用户上传文件的umask
userlist_enable=YES #限制了/etc/vsftpd/user_list文件里的用户不能访问
local_root #设置一个本地用户登录后进入到的目录
user_config_dir #设置用户的单独配置文件,用哪个帐户登陆就用哪个帐户命名,实现不同用户不同权限
download_enable #限制用户的下载权限

chown_uploads=YES #所有匿名上传的文件的所属用户将会被更改成chown_username
chown_username=whoever #匿名上传文件所属用户名

chroot_list_enable=YES #如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录
chroot_list_file=/etc/vsftpd/chroot_list #指出被锁定在自家目录中的用户的列表文件。

chroot_list_enable=YES通过与chroot_local_user=YES/NO搭配能实现以下几种效果:
  • 1、当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
  • 2、当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
  • 3、当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
  • 4、当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。

下面是个实例,希望对大家有用:
1、只能上传。不能下载、删除、重命名。
cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST

对于参数的详细的解释
cmds_allowed=ABOR,ACCT,APPE,CWD,CDUP,DELE,HELP,LIST,MODE,MDTM,MKD,NOOP,NLST,PASS,PASV,PORT,PWD,QUIT,REIN,RETR,RMD,RNFR,RNTO,SITE,SIZE,STOR,STAT,STOU,STRU,SYST,TYPE,USER
  • # ABOR - abort a file transfer 取消文件传输
  • # CWD - change working directory 更改目录
  • # DELE - delete a remote file 删除文件
  • # LIST - list remote files 列目录
  • # MDTM - return the modification time of a file 返回文件的更新时间
  • # MKD - make a remote directory 新建文件夹
  • # NLST - name list of remote directory
  • # PASS - send password
  • # PASV - enter passive mode
  • # PORT - open a data port 打开一个传输端口
  • # PWD - print working directory 显示当前工作目录
  • # QUIT - terminate the connection 退出
  • # RETR - retrieve a remote file 下载文件
  • # RMD - remove a remote directory
  • # RNFR - rename from
  • # RNTO - rename to
  • # SITE - site-specific commands
  • # SIZE - return the size of a file 返回文件大小
  • # STOR - store a file on the remote host 上传文件
  • # TYPE - set transfer type
  • # USER - send username
  • # less common commands:
  • # ACCT* - send account information
  • # APPE - append to a remote file
  • # CDUP - CWD to the parent of the current directory
  • # HELP - return help on using the server
  • # MODE - set transfer mode
  • # NOOP - do nothing
  • # REIN* - reinitialize the connection
  • # STAT - return server status
  • # STOU - store a file uniquely
  • # STRU - set file transfer structure
  • # SYST - return system type

2、只能下载。不能上传、删除、重命名。write_enable=NO
3、只能上传、删除、重命名。不能下载。download_enable=NO
4、只能下载、删除、重命名。不能上传
cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,RNFR,RNTO,RETR,DELE,SIZE,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST

虚拟用户设置:
虚拟用户使用PAM认证方式。
pam_service_name=vsftpd #设置PAM使用的名称,默认值为/etc/pam.d/vsftpd。
check_shell=YES #(注意:仅在没有pam验证版本时有用,是否检查用户有一个有效的shell来登录 )
guest_enable= YES/NO #启用虚拟用户。默认值为NO。
guest_username=ftp #这里设置虚拟用户的宿主用户。默认值为ftp。
virtual_use_local_privs=YES/NO #当该参数激活(YES)时,虚拟用户与其宿主用户有相同的权限。 当此参数关闭(NO)时,虚拟用户与匿名用户有相同的权限。默认情况下此参数是关闭的(NO)。

访问控制设置:
两种控制方式:一种控制主机访问,另一种控制用户访问。
1、控制主机访问:
tcp_wrappers=YES/NO,设置vsftpd是否与tcp wrapper相结合来进行主机的访问控制。默认值为YES。如果启用,则vsftpd服务器会检查/etc/hosts.allow 和/etc/hosts.deny 中的设置,来决定请求连接的主机,是否允许访问该FTP服务器。这两个文件可以起到简易的防火墙功能。

2、控制用户访问:
/etc/vsftp/ftpusers #用于保存不允许进行FTP登录的本地用户帐号。就是vsftp用户的黑名单
/etc/vsftp/user_list# userlist_enable=yes(默认)时,启用该列表。注意:默认情况下,不管userlist设置成什么样子,vsftp的pam设置都会检查/etc/vsftpd/ftpusers中禁止的用户
(1)当userlist_deny=yes(默认)时,所有在/etc/vsftp/user_list中的用户都被禁止登录,都不会提示让用户输入密码。
(2)当userlist_deny=no时,只有在/etc/vsftp/user_list中的用户才被允许登录。

超时设置:
idle_session_timeout=600 #空闲连接超时
data_connection_timeout=120 #数据传输超时
ACCEPT_TIMEOUT=60 #PASV请求超时
connect_timeout=60 #PROT模式连接超时

服务器功能选项:
xferlog_enable=YES   #开启日记功能
xferlog_std_format=YES   #使用标准格式
log_ftp_protocol=NO   #当xferlog_std_format关闭且本选项开启时,记录所有ftp请求和回复,当调试比较有用.
pasv_enable=YES   #允许使用pasv模式
pasv_promiscuous+NO   #关闭安全检查,小心呀.
port_enable=YES   #允许使用port模式
prot_promiscuous   #关闭安全检查
tcp_wrappers=YES   #开启tcp_wrappers支持
pam_service_name=vsftpd   #定义PAM 所使用的名称,预设为vsftpd。
nopriv_user=nobody   #当服务器运行于最底层时使用的用户名
pasv_address=(none)   #使vsftpd在pasv命令回复时跳转到指定的IP地址.

服务器性能选项:
ls_recurse_enable=YES #是否能使用ls -R命令以防止浪费大量的服务器资源
one_process_model #是否使用单进程模式
listen=YES 绑定到listen_port指定的端口,既然都绑定了也就是每时都开着的,就是那个什么standalone模式
text_userdb_names=NO   #当使用者登入后使用ls -al 之类的指令查询该档案的管理权时,预设会出现拥有者的UID,而不是该档案拥有者的名称。若是希望出现拥有者的名称,则将此功能开启。
use_localtime=NO   #显示目录清单时是用本地时间还是GMT时间,可以通过mdtm命令来达到一样的效果
use_sendfile=YES   #测试平台优化

信息类设置:
ftpd_banner=welcome to FTP .  #login时显示欢迎信息.如果设置了banner_file则此设置无效
dirmessage_enable=YES   #允许为目录配置显示信息,显示每个目录下面的message_file文件的内容
setproctitle_enable=YES   #显示会话状态信息,关!

文件定义:
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list #定义限制/允许更改用户主目录的文件
userlist_file=/etc/vsftpd/vsftpd.user_list #定义限制/允许用户登录的文件
banner_file=/etc/vsftpd/banner #定义登录信息文件的位置
banned_email_file=/etc/vsftpd/banned_emails #禁止使用的匿名用户登陆时作为密码的电子邮件地址
xferlog_file=/var/log/vsftpd.log #日志文件位置
message_file=.message #目录信息文件

目录定义:
user_config_dir=/etc/vsftpd/userconf  #定义用户配置文件的目录
local_root=webdisk #此项设置每个用户登陆后其根目录为/home/username/webdisk。定义本地用户登陆的根目录,注意定义根目录可以是相对路径也可以是绝对路径。相对路径是针对用户家目录来说的.
anon_root=/var/ftp   #匿名用户登陆后的根目录

用户连接选项:
max_clients=100   #可接受的最大client数目
max_per_ip=5   #每个ip的最大client数目
connect_from_port_20=YES   #使用标准的20端口来连接ftp
listen_address=192.168.0.2   #绑定到某个IP,其它IP不能访问,多网卡多IP机器时有用
listen_port=2121   #绑定到某个端口
ftp_data_port=2020   #数据传输端口
pasv_max_port=0   #pasv连接模式时可以使用port 范围的上界,0 表示任意。默认值为0。
pasv_min_port=0   #pasv连接模式时可以使用port 范围的下界,0 表示任意。默认值为0。

数据传输选项、vsftp限速:
anon_max_rate=51200 #匿名用户的传输比率(b/s)
local_max_rate=5120000 #本地用户的传输比率(b/s)

安全选项:
Idle_session_timeout=600 #(用户会话空闲后10分钟)
Data_connection_timeout=120 #(将数据连接空闲2分钟断)
Accept_timeout=60 #(将客户端空闲1分钟后断)
Connect_timeout=60 #(中断1分钟后又重新连接)
Local_max_rate=50000 #(本地用户传输率50K)
Anon_max_rate=30000 # (匿名用户传输率30K)

Max_clients=200 #(FTP的最大连接数)
Max_per_ip=4 #(每IP的最大连接数)
Listen_port=5555 #(从5555端口进行数据连接)

vsftp SSL相关选项:
ssl_enable=yes/no             //是否启用 SSL,默认为no
allow_anon_ssl=yes/no         //是否允许匿名用户使用SSL,默认为no
force_anon_logins_ssl=yes/no    //匿名用户登录时是否加密,默认为no
force_anon_data_ssl=yes/no     //匿名用户数据传输时是否加密,默认为no

force_local_logins_ssl=yes/no    //非匿名用户登陆时是否加密,默认为yes
force_local_data_ssl=yes/no     //非匿名用户传输数据时是否加密,默认为yes

rsa_cert_file=/path/to/file       //rsa证书的位置
dsa_cert_file=/path/to/file      //dsa证书的位置

ssl_sslv2=yes/no               //是否激活sslv2加密,默认no
ssl_sslv3=yes/no                //是否激活sslv3加密,默认no
ssl_tlsv1=yes/no                //是否激活tls v1加密,默认yes
ssl_ciphers=加密方法            //默认是DES-CBC3-SHA,也可以是值HIGH,安全性更加好。相关的值,可以用man ciphers在帮组文档中找到

implicit_ssl=YES             // 是否启用隐式ssl功能
listen_port=990              // 隐式ftp端口设置,如果不设置,默认还是21,但是当客户端以隐式ssl连接时,默认会使用990端口,导致连接失败!!
#debug_ssl=YES               // 输出ssl相关的日志信息

转自:Vsftpd匿名用户无法上传、删除、创建文件、修改文件的解决
分享到:
评论

相关推荐

    vsftpd-3.0.5-1.el6.x86_64.rpm

    sed -i 's|anonymous_enable=YES|anonymous_enable=NO|g' /etc/vsftpd/vsftpd.conf sed -i 's|listen=NO|listen=YES|g' /etc/vsftpd/vsftpd.conf sed -i 's|listen_ipv6=YES|listen_ipv6=NO|g' /etc/vsftpd/vsftpd....

    vsftpd-3.0.5-1.el8.x86_64.rpm

    sed -i 's|anonymous_enable=YES|anonymous_enable=NO|g' /etc/vsftpd/vsftpd.conf sed -i 's|listen=NO|listen=YES|g' /etc/vsftpd/vsftpd.conf sed -i 's|listen_ipv6=YES|listen_ipv6=NO|g' /etc/vsftpd/vsftpd....

    vsftpd-3.0.5.el 7.9.zip

    sed -i 's|anonymous_enable=YES|anonymous_enable=NO|g' /etc/vsftpd/vsftpd.conf sed -i 's|listen=NO|listen=YES|g' /etc/vsftpd/vsftpd.conf sed -i 's|listen_ipv6=YES|listen_ipv6=NO|g' /etc/vsftpd/vsftpd....

    vsftp安装及配置

    接下来,我们需要修改VSFTP的配置文件`/etc/vsftpd/vsftpd.conf`,以启用虚拟用户和相关设置: ```bash echo "anonymous_enable=NO" >> /etc/vsftpd/vsftpd.conf echo "pam_service_name=vsftpd.vu" >> /etc/vsftpd...

    vsftpd-3.0.3.tar

    配置文件通常位于`/etc/vsftpd.conf`,在这里可以调整服务器的行为,例如监听的端口、日志级别、用户权限等。 标签`vsftpd-3.0.3`明确指出了讨论的主题,表明重点是这个特定的VSFTPD版本。由于这是一个较旧的版本,...

    vsftp3.0.4适用于el7(centos7.x),规避3.0.2版本的漏洞

    cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak 4) 如果运行了vsftpd,则先停止: systemctl stop vsftpd 5) 安装升级vsftpd 3.0.4 rpm -Uvh vsftpd-3.0.4-1.el7.x86_64.rpm rpm -Uvh vsftpd-...

    centos升级vsftp3.0.2

    cp /usr/local/src/vsftpd-3.0.2/vsftpd.conf /etc/vsftpd/vsftpd.conf ``` 4. 创建匿名用户主目录 创建匿名用户主目录/var/ftp,并设置权限: ``` mkdir -p /var/ftp chown root:root /var/ftp chmod 755 /var/ftp ...

    VSFTP安装配置

    VSFTP的配置文件位于`/etc/vsftpd/vsftpd.conf`。此文件包含了所有的配置项,通过修改这些配置项可以实现对用户的权限控制。 2. **启动脚本** 可以创建一个启动脚本来自动启动VSFTP服务: ``` #!/bin/bash # ...

    linux下VSFTP的搭建及优化.pdf

    在`/etc/vsftpd/vsftpd.conf`中找到`anonymous_enable=YES`,将其改为`anonymous_enable=NO`,然后重启服务: ```bash # vi /etc/vsftpd/vsftpd.conf # service vsftpd restart ``` **实验二**:设置欢迎词和最大...

    RedHat6 建立基于防火墙和SELinux的虚拟用户vsFTP.docx

    * vsFTP的配置文件为/etc/vsftpd/vsftpd.conf * 文件中包含匿名账户、local账户、日志记录、虚拟用户等设置 知识点七:PAM认证文件 * PAM认证文件为/etc/pam.d/vsftpd * 文件中包含PAM认证的设置,用于认证虚拟...

    vsftp的配置文件

    vsftp的配置文件vsftpd.conf,位置是/etc/vsftpd/vsftpd.conf

    centos中配置vsftpd服务器

    - 更改 `VSFTP_DEFAULT_CONFIG` 的值为 `/etc/vsftpd/vsftpd.conf`。 - 更改 `tunable_banned_email_file` 的值为 `/etc/vsftpd/vsftpd.banned_emails`。 - 更改 `tunable_chroot_list_file` 的值为 `/etc/vsftpd...

    vsftpd.conf 中的所有配置信息 doc

    `vsftpd.conf` 是 VSFTP(Very Secure FTP Daemon)服务器的核心配置文件,它决定了服务器如何运行、哪些功能被启用以及各种安全措施等。以下是对该配置文件中部分关键配置项的详细解释。 #### 二、详细配置说明 #...

    Linux VSFTP服务器详细配置

    本文将详细介绍如何在Linux系统上配置VSFTP服务器,并重点讲解配置文件`/etc/vsftpd/vsftpd.conf`中的关键选项,以及如何通过用户列表来限制或允许特定用户访问FTP服务。 #### 二、VSFTP服务器基础配置 1. **安装...

    vsftp配置大全 超完整版.doc

    4. 安装 vsftp 配置文件、可执行程序和 man 等:安装 vsftpd 到 /usr/local/sbin/vsftpd-ano、vsftpd.8 到 /usr/share/man/man8、vsftpd.conf.5 到 /usr/share/man/man5、vsftpd.conf 到 /etc/vsftpd-ano.conf。...

    vsftp服务器配置

    mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak ``` 使用`vi`编辑器创建新的配置文件: ``` vi /etc/vsftpd/vsftpd.conf ``` 在新配置文件中,设置以下关键选项: - `listen=YES`:启用监听。 - ...

    VSFTP配置大全

    1. 修改配置文件`/etc/vsftpd/vsftpd.conf`: ``` listen_port=2121 ``` 2. 重启VSFTP服务使修改生效: ``` [root@homevsftpd]#/sbin/service vsftpd restart ``` #### 5. 用户目录限制 VSFTP支持限制用户...

    vsftp虚拟用户详细介绍

    install -m 644 vsftpd.conf.5 /usr/share/man/man5 install -m 644 vsftpd.conf /etc/vsftpd-pam.conf ``` 基于 DB 库存储用户名及密码 在基于 DB 库存储用户名及密码的认证方式中,我们需要安装 db4 软件包,并...

    史上最详细的vsftpd配置文件详解

    vsftpd作为一个主打安全的FTP服务器,有很多的选项设置。.../etc/vsftpd/vsftpd.conf 主配置文件 /usr/sbin/vsftpd Vsftpd的主程序 /etc/rc.d/init.d/vsftpd 启动脚本 /etc/pam.d/vsftpd PAM认证文

    vsftpd 的ipv6配置

    [root@redhat vsftpd-2.0.5]# cp vsftpd.conf.5 /usr/local/man/man5 [root@redhat vsftpd-2.0.5]# cp vsftpd.8 /usr/local/man/man8 ``` #### 二、vsftpd的 IPv6 监听配置 接下来是重点:如何让 vsftpd 支持 ...

Global site tag (gtag.js) - Google Analytics