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(一般默认)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)