3FTP服务常见配置

[root@3rsyslog vsftpd]# vim vsftpd.conf
anon_upload_enable=YES   取消注释,允许匿名FTP用户上传文件
anon_mkdir_write_enable=YES   这个是允许匿名用户创建文件夹
[root@3rsyslog vsftpd]# systemctl restart vsftpd 重启服务
提醒无法上传文件,由于文件系统的文件夹没有权限,所以无法上传
[root@3rsyslog ftp]# ll /var/ftp/ -d
drwxr-xr-x 3 root root 17 5月  17 14:29 /var/ftp/   查看根目录是没有权限的
[root@3rsyslog ftp]# ll /var/ftp/ -d
给ftp所有权限队这个ftp的目录
发现登陆不上去了

ftp安全问题,不允许对根有写权限

[root@3rsyslog ftp]# setfacl -m u:ftp:rwx /var/ftp/   给ftp所有的权限
[root@3rsyslog ftp]# setfacl -b /var/ftp/  取消队这个目录的权限
[root@3rsyslog ftp]# mkdir /var/ftp/upload   创建文件夹
[root@3rsyslog ftp]# setfacl -m u:ftp:rwx /var/ftp/upload/  给这个目录的所有权限都给ftp的这个账户
上传文件成功

能上传但是下载不了

因为是600的权限所以下载不下来
匿名用户
anonymous_enable=YES 支持匿名用户
no_anon_password=YES(默认NO) 匿名用户略过口令检查 anon_world_readable_only (默认YES)只能下载全部读的文件   只有每个人都能读才能下载
anon_upload_enable=YES 匿名上传,注意:文件系统权限
anon_mkdir_write_enable=YES 匿名建目录
anon_umask=0333 指定匿名上传文件的umask,默认077
anon_other_write_enable=YES 可删除和修改上传的文件
指定上传文件的默认的所有者和权限
chown_uploads=YES(默认NO)
chown_username=wang
chown_upload_mode=0644
[root@3rsyslog upload]# vim /etc/vsftpd/vsftpd.conf
anon_world_readable_only=no   只能下载全部读的文件   只有每个人都能读才能下载  把这个改成no
[root@3rsyslog upload]# systemctl restart vsftpd
[root@4mariadb-server /]# ftp 172.22.90.3
ftp> cd upload
ftp> get f1   这会就可以下载了 
[root@3rsyslog upload]# vim /etc/vsftpd/vsftpd.conf
anon_umask=0333  把这个改成0333     666-333就相当于所有人都有读权限了,就都可以下载了
[root@3rsyslog upload]# systemctl restart vsftpd
传一个文件上去
这个文件就是每一个都都有读权限就可以下载了

可以下载这个文件

两种实现上传的方法

[root@3rsyslog upload]# vim /etc/vsftpd/vsftpd.conf
anon_other_write_enable=YES  这个就支持  可删除和修改上传的文件
[root@3rsyslog upload]# systemctl restart vsftpd

可以删除文件了
[root@3rsyslog upload]# vim /etc/vsftpd/vsftpd.conf
chown_uploads=YES
chown_username=wang
chown_upload_mode=0644
指定上传文件的默认的所有者和权限
[root@3rsyslog upload]# systemctl restart vsftpd


这个就是操作系统账户支持上传和下载的
root账户权限太大所以不让连接

ftp是明文的口令,干脆就不让输入口令

[root@3rsyslog upload]# vim /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=ftp   把所有的用户映射成ftp的用户,每个操作系统账户登陆映射的都是一个目录
[root@3rsyslog upload]# systemctl restart vsftpd重启服务
写在文件的最后几行,防止冲突
使用wang的系统用户账户密码登陆,默认的路径就是/下,映射成同一个人/是/var/ftp目录下/ftp家目录是这里
[root@3rsyslog upload]# mkdir /data/ftproot   创建ftp的家目录
[root@3rsyslog upload]# touch /data/ftproot/ftproot.txt   创建文件
[root@3rsyslog upload]# getent passwd ftp   查看ftp的家目录
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin   
[root@3rsyslog upload]# usermod -d /data/ftproot/ ftp  修改ftp的家目录
[root@3rsyslog upload]# getent passwd ftp    查看是否修改成功
ftp:x:14:50:FTP User:/data/ftproot/:/sbin/nologin


查看家目录已经修改了,因为都被映射了
[root@3rsyslog upload]# vim /etc/vsftpd/vsftpd.conf
guest_enable=YES     linux系统用户都映射成guest用户
guest_username=ftp  配合上面选项才生效,指定guest用户
local_root=/ftproot     guest用户登录所在目录
[root@3rsyslog upload]# usermod -d /var/ftp ftp   把用户的家目录修改回原来的
[root@3rsyslog upload]# getent passwd ftp   查看ftp用户的路径
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@3rsyslog upload]# systemctl restart vsftpd
ftp账户返回自己所在的家目录了

使用wang账户登陆
local_enable=YES 是否允许linux用户登录
write_enable=YES 允许linux用户上传文件
local_umask=022 指定系统用户上传文件的默认权限
guest_enable=YES 所有系统用户都映射成guest用户
guest_username=ftp 配合上面选项才生效,指定guest用户
local_root=/ftproot guest用户登录所在目录
禁锢所有系统用户在家目录中
chroot_local_user=YES(默认NO,不禁锢)禁锢系统用户
禁锢或不禁锢特定的系统用户在家目录中,与上面设置功能相反 chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
当chroot_local_user=YES时,则chroot_list中用户不禁锢
当chroot_local_user=NO时,则chroot_list中用户禁锢
配置文件恢复默认就是会系统账户登陆的wang系统账户登陆
[root@3rsyslog upload]# vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES  配置文件加上这行,所有的用户只能在自己的家目录里工作
[root@3rsyslog upload]# systemctl restart vsftpd
ftp登陆不受影响
由于wang账户对家目录有写权限所以无法登陆
[root@3rsyslog upload]# chmod -w /home/wang/  取消写权限
这会wang账户就可以登陆了

这样禁锢 了所有用户只能在自己的家目录里访问
[root@3rsyslog wang]# vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES   这个启用了就表示则chroot_list中用户不禁锢
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list   这个列表的不禁用
root@3rsyslog vsftpd]# vim chroot_list
wang
[root@3rsyslog vsftpd]# systemctl restart vsftpd重启服务
现在wang用户可以去其他的目录访问了
[root@3rsyslog vsftpd]# vim /etc/vsftpd/vsftpd.conf
chroot_local_user=NO   把这个变成no就是默认所有用户不禁锢的
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list   但是这个挑出这些给禁锢了
[root@3rsyslog vsftpd]# systemctl restart vsftpd
王用户被禁锢了,访问不了etc了
[root@3rsyslog vsftpd]# vim /etc/vsftpd/vsftpd.conf
dual_log_enable=YES  使用vsftpd日志格式,默认不启用
[root@3rsyslog vsftpd]# systemctl restart vsftpd重启服务
查看已经生成本地日志了

vsftpd服务配置
wu-ftp日志:默认启用
xferlog_enable=YES (默认) 启用记录上传下载日志
xferlog_std_format=YES (默认) 使用wu-ftp日志格式
xferlog_file=/var/log/xferlog (默认)可自动生成
vsftpd日志:默认不启用
dual_log_enable=YES 使用vsftpd日志格式,默认不启用
vsftpd_log_file=/var/log/vsftpd.log(默认)可自动生成
登录提示信息
ftpd_banner=“welcome to mage ftp server"
banner_file=/etc/vsftpd/ftpbanner.txt
目录访问提示信息
dirmessage_enable=YES (默认)
message_file=.message(默认) 信息存放在指定目录下.message

查看日志信息
查看另一个日志信息都存在
[root@3rsyslog wang]# vim /etc/vsftpd/vsftpd.conf
ftpd_banner="welcome to mage ftp server"   加上登陆的提示信息
[root@3rsyslog wang]# systemctl restart vsftpd 重启服务
登陆的这句话已经显示出来 了
[root@3rsyslog wang]# vim /etc/vsftpd/vsftpd.conf
ftpd_banner="welcome to mage ftp server"  登陆信息的语句
banner_file=/etc/vsftpd/ftpbanner.txt    登陆信息来自这个文件
[root@3rsyslog wang]# vim /etc/vsftpd/ftpbanner.txt
dangerous!
[root@3rsyslog wang]# systemctl restart vsftpd
重启服务
登陆信息的文件这个优先级高
[root@3rsyslog wang]# vim /etc/vsftpd/ftpbanner.txt
^[[31mdangers^[[0m 修改成红色的警报
注意^这个是ctrl+v出来的,其他的不行

vsftpd服务配置
wu-ftp日志:默认启用
xferlog_enable=YES (默认) 启用记录上传下载日志
xferlog_std_format=YES (默认) 使用wu-ftp日志格式
xferlog_file=/var/log/xferlog (默认)可自动生成
vsftpd日志:默认不启用
dual_log_enable=YES 使用vsftpd日志格式,默认不启用
vsftpd_log_file=/var/log/vsftpd.log(默认)可自动生成
登录提示信息
ftpd_banner=“welcome to mage ftp server"
banner_file=/etc/vsftpd/ftpbanner.txt
目录访问提示信息
dirmessage_enable=YES (默认)
message_file=.message(默认) 信息存放在指定目录下.message

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容