Linux的vsftpd服务常用配置项以及常用管理

Linux的vsftpd服务常用配置项以及常用管理,第1张

Linux的vsftpd服务常用配置项以及常用管理 设置后台监听

background=YES

改变该服务的监听地址和端口

listen_address=192.168.0.1

listen_port=2121

开启被动模式

pasv_enable=yes

connect_from_port_20=yes:表示主动模式下的数据连接的端口号为20

开启主动模式

port_enable=yes

被动模式的随机端口的设置

pasv_min_port=xxxx(大于1024)

pasv_max_port=xxxx(大于1024)

配置ASCII模式

ascii_download_enable=yes

ascii_upload_enable=yes

配置超时选项

data_connection_timeout=xxx(以秒为单位) :数据传输的最大时长

idle_session_timeout=xxx(以秒为单位) :会话的最大空闲时长

connect_timeout=xxx(以秒为单位) :在与服务器连接的时候最大的连接时长

配置用户的传输速率

anon_max_rate=5000(单位为b/s)(匿名用户)

local_max_rate=5000(单位为b/s)(本地用户)

最大用户连接数,以及每用户最大IP使用数

max_clients=xxx:最大用户连接数

max_per_ip=xxx:每用户最大IP使用数

设置用户登录时的提示

banner_file=xxx //如果提示信息比较多,就可以使用这个选项,将提示信息存入文件当中后再显示

ftpd_banner=xxxx:显示该选项后面的提示信息

设置进入目录的信息提示

diremessage_enable=YES :开启目录的信息提示

message_file=.message :定义信息提示文件的名字

对应信息提示文件我们应该放在想要进行提示的目录里面,然后再开启这两项即可。

匿名用户相关配置

1、开启匿名登录

anonmyous_enable=YES

默认匿名用户只能读取,不能改变目录结构,即不能上传,删除。

2、开启匿名用户创建文件夹的权限

anon_mkdir_write_enable=yes 

3、设置匿名用户上传的权限

anon_upload_enable=yes 

4、设置用户仅具有下载的权限

anon_world_readable_only=yes  //设置用户仅有下载权限

5、设置用户开启其他的权限

anon_other_write_enable=yes:开启其他的权限,比如重命名,删除

6、设置用户创建的内容的默认权限

anon_umask=xxx:设置匿名用户创建新内容时其对应的权限

7、修改匿名用户上传内容的默认拥有者

匿名用户上传后默认的拥有者都是对应的登录用户

chown_uploads=YES:当该选项为YES,所以匿名用户上传的文件的拥有者将会改变

chown_username=xxx:该项配合上面一项,所有匿名用户上传的文件拥有者变为该项指定的用户

匿名用户upload,mkdir,other三种权限的解读

upload权限意味着用户是否能够上传东西到服务器上面,如果只有这个权限就只能上传文件夹,因为它没有任何权限创建文件夹

mkdir意味着用户是否可以在服务器上创建文件夹

如果仅仅有upload和mkdir权限那么该用户只能上传文件和文件夹,不能删除任何东西,或者重命名,不能做任何修改

剩下的权限就是anon_other_write_enable=yes这条命令给与的。

ftp_username=xxx :表示使用xxx用户作为匿名用户,该用户的家目录为匿名登录时进入的目录

no_anon_password=NO :表示匿名用户默认不输入密码,yes则表示要输入密码

anon_root=目录路径 :表示将匿名登录时登录的路径进行切换

本地用户相关

1、设置是否支持本地登录

local_enable=YES

2、设置本地用户创建内容的默认权限

local_umask=nnn

3、设置本地用户的写权限

write_enable=YES

4、设置用户是否能够下载

download_enable=YES

5、设置用户是否能够修改文件权限

chmod_enable=YES

6、限制本地用户切换出主目录

chroot_local_user=YES

在chroot_local_user设置为YES之后,一些特例外的用户还可以切换出主目录

chroot_list_enable=YES :表示有特例用户在限制之后还可以切换出主目录

chroot_list_file=/etc/vsftpd/chroot_list :特例用户记录在这个文件中

allow_writeable_chroot=YES:表示被限制在主目录的用户对主目录具备写权限

当我们设置了chroot_local_user=YES之后,默认登录的用户在其所被限制的目录中是没有写权限的,所以当登录之后会报错“500 OOPS: vsftpd: refusing to run with writable anonymous root Login failed”.只有加上allow_writeable_chroot=YES才能正常进入。

7、限制本地用户登录

userlist_enable=YES :代表限制本地用户登录的相关文件user_list生效

userlist_deny=YES :代表开启了本地用户限制

user_list_file=/etc/vsftpd/user_list :例外的用户填入此文件

上面几项配合产生的效果:

userlist_enable=YES && userlist_deny=YES :这样只有user_list文件中的用户才能正常登录

userlist_enable=YES && userlist_deny=NO :这样只有文件中的用户不能正常登录

黑名单文件

/etc/vsftpd/ftpusers

在该文件添加用户名字就能限制对应的用户登录FTP服务器

虚拟用户

使用自己创建的与系统用户不相关的用户作为FTP服务器的登录用户

1、安装对应的数据库组件

yum  -y install db4-utils 

2、使用数据库组件生成数据库文件
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

其中/etc/vsftpd/vuser.txt文件是一个普通的文本文件,其记录了虚拟用户的信息,奇数行为用户名,偶数行为密码。

/etc/vsftpd/vuser.db是根据vuser.txt文本文件生成的数据库文件,是一个二进制文件,也是后面用于登录的凭据。

3、修改/etc/pam.d/vsftpd文件
将文件中原本的内容全部注释,其作用是禁止本地用户登录。

注释之后在文件中加入下面两行
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib/security/pam_userdb.so db=letc/vsftpd/vuser

4、建立本地用户作为虚拟用户的映射
useradd -d /home/vftproot -s /sbin/nologin :添加一个不能登录shell的用户,并指定家目录为/home/vftproot
chmod 755 /home/vftproot :修改家目录权限
guest_enable=YES :表示开启虚拟用户功能
guest_username=vuser :将我们数据库文件中的用户都映射成这个用户
pam_service_name=vsftpd :默认已经加入
 

PS:其中虚拟用户的相关权限的管理是使用匿名用户的权限管理项:

比如要修改所有虚拟用户的速率:anon_max_rate=10000

针对个别用户的个别管理

1、在/etc/vsftpd/目录下面创建一个userconf目录

2、然后再该目录下创建对应用户名的具有针对性的配文件置

比如有一个用户user1不想要使用conf文件中的全局配置,那么就可以在userconf目录下面创建一个user1文件,然后在user1文件中写入该用户想要的配置,比如速率可以和其他用户不同,可以锁定该用户的家目录,或者其权限也可以不同

日志相关 1、启用日志

xferlog_enbale=YES

2、设置日志文件的路径与名称

xferlog_file=/var/log/vsftpd.log 

3、设置日志格式

xferlog_std_format=YES(一般默认)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5714849.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存