linux服务之ftp服务器的配置

linux服务之ftp服务器的配置

**File Transfer Protocol,文件传输协议,应用层的文件共享服务**

软件包文件清单
ftpusers 在开启用户验证访问的前提下,默认是不可以使用ftp服务的,
user_list 在配置后,可以让这个文件中的用户才可以访问ftp服务
vsftpd_conf_migrate.sh 变量和设置,一般不用修改
vsftpd.conf 主配置文件

ftp用户
匿名用户–>系统用户
系统用户–>系统用户
虚拟用户–>系统用户

主配置文件详解

#####默认开启的选项

#允许匿名用户登录
anonymous_enable=YES
#允许本地用户登录
#When SELinux is enforcing check for SE bool ftp_home_dir
local_enable=YES
#允许用户写入
write_enable=YES
#本地用户的掩码
local_umask=022
#开启目录消息
dirmessage_enable=YES
#开启上传下载日志
xferlog_enable=YES
#锁定数据传输端口
connect_from_port_20=YES
#指定使用标准的xferlog日志格式
xferlog_std_format=YES
#是否允许监听,如果是,服务将自己监听和处理连接
listen=NO
#是否支持IPV6监听
listen_ipv6=YES
#设置PAM认证模块的配置文件,/etc/pam.d/vsftpd文件,并是否允许ftpusers文件中的账号进行登陆,默认为NO,如果为YES,则列表中的用户名可以登陆
pam_service_name=vsftpd
#是否阻止user_list文件中的用户登录服务器
userlist_enable=YES
#是否使用tcp_wrappers作为主机访问控制方式
tcp_wrappers=YES

	
#####默认关闭的选项

#开启匿名用户写入
#When SELinux is enforcing check for SE bool allow_ftpd_anon_write, allow_ftpd_full_access
anon_upload_enable=YES
#开启匿名用户目录写入权限
anon_mkdir_write_enable=YES
#开启匿名上传文件属主锁定
chown_uploads=YES
#指定匿名上传的文件所属者,强烈不建议使用root用户
chown_username=whoever
#指定日志文件
xferlog_file=/var/log/xferlog
#空闲会话超时时间
idle_session_timeout=600
#数据连接会话超时时间
data_connection_timeout=120
#运行服务需要的非特权系统用户,默认是nobody
nopriv_user=ftpsecure
#是否识别异步ABOR请求,建议关闭
async_abor_enable=YES
#开启ASCII模式上传,建议关闭
ascii_upload_enable=YES
#开启ASCII模式下载,建议关闭
ascii_download_enable=YES
#开始登陆欢迎信息
ftpd_banner=Welcome to blah FTP service.
#禁止某些邮件地址登陆服务器
deny_email_enable=YES
#指定邮件地址清单文件
banned_email_file=/etc/vsftpd/banned_emails
#开启本地用户家目录锁定
chroot_local_user=YES
#指定需要锁定家目录的用户列表
chroot_list_enable=YES
#通过列表指定用户
chroot_list_file=/etc/vsftpd/chroot_list
#是否允许递归查询,建议关闭
ls_recurse_enable=YES

一、匿名用户的ftp服务配置

下载功能的实现

默认配置即可实现   修改匿名用户下载选项 

上传功能的实现

#修改配置文件中匿名上传的相关选项
[root@ldap ftp]# vi /etc/vsftpd/vsftpd.conf
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
	
#修改匿名用户目录的权限
[root@ldap ftp]# chmod 777 pub/

#修改匿名上传布尔值
[root@ldap var]# getsebool -a | grep ftpd_anon_write
ftpd_anon_write --> on
[root@ldap ftp]# setsebool ftpd_anon_write on

#修改匿名上传的上下文权限
[root@ldap var]# ll -Z /var/ftp
drwxr-xrwx. root root system_u:object_r:public_content_rw_t:s0 pub
[root@ldap ftp]# chcon -t public_content_rw_t pub/

删除功能的实现

#修改配置文件,添加如下选项
[root@ldap ftp]# vi /etc/vsftpd/vsftpd.conf
anon_other_write_enable=YES

二、系统用户 的ftp服务配置

下载功能的实现

#修改主配置文件开启本地用户权限
[root@ldap ftp]# vim /etc/vsftpd/vsftpd.conf
local_enable=YES

#注释以下三行
	anon_umask=022
	anon_upload_enable=YES
	anon_mkdir_write_enable=YES
	
#修改如下选项
[root@ldap ftp]# vim /etc/vsftpd/vsftpd.conf
	anonymous_enable=NO

#修改布尔值打开/home目录的权限
[root@localhost haha]# getsebool -a | grep ftp_home_dir
ftp_home_dir --> off
[root@localhost haha]# setsebool -P ftp_home_dir on

上传功能的实现

#修改主配置文件开启本地用户权限
[root@ldap ftp]# vi /etc/vsftpd/vsftpd.conf
write_enable=YES

删除功能的实现

同上传配置

遍历功能的实现

#首先开启chroot选项
[root@ldap ftp]# vi /etc/vsftpd/vsftpd.conf
allow_writeable_chroot=YES

#然后使用下面两个选项之一

#指定本地用户能chroot
chroot_local_user=YES
			

#开启通过列表的方式来指定用户
chroot_list_enable=YES
#指定用户列表文件
chroot_list_file=/etc/vsftpd/chroot_list
#在当前目录创建用户列表文件
[root@localhost vsftpd]# cat chroot_list 
haha
	如果chroot_local_user=YES开启,那么指定列表中的用户可遍历
	如果没有开启chroot_local_user=YES,那么指定列表中的用户不可以遍历

三、虚拟用户的ftp服务配置

#创建系统用户,禁止该用户进行登陆
[root@ldap ftp]# useradd -s /sbin/nologin vhaha
#修改用户家目录权限
[root@localhost vsftpd]# chmod 704 /home/vhaha/

#修改主配置文件,增加以下三个选项
[root@ldap ftp]# vi /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=vhaha		#vhaha为系统用户
virtual_use_local_privs=YES

#创建虚拟用户数据库文件
#创建虚拟用户文件如下:
#格式为一行用户名,一行密码,示例中abc为用户名,redhat为密码
[root@localhost vsftpd]# cat vuser 
abc
redhat
xixi
redhat
haha
redhat
#将虚拟用户文件转换成用户数据库文件
[root@localhost vsftpd]# db_load -T -t hash -f vuser user.db
#修改虚拟用户数据库文件权限
[root@localhost vsftpd]# chmod 600 user.db
#查看虚拟用户数据库文件的上下文权限
[root@localhost vsftpd]# ll -Z user.db 
-rw-------. root root unconfined_u:object_r:etc_t:s0   user.db

#修改PAM认证方式
#编辑认证配置文件
[root@localhost vsftpd]# vi /etc/pam.d/vsftpd
#注释掉所有行,并添加以下两行:
auth	required	pam_userdb.so	db=/etc/vsftpd/user
account	required	pam_userdb.so	db=/etc/vsftpd/user
#注:数据库文件名的“.db”不用输入

#完成以上配置后,重启服务进行测试

tcpdump -i ens160 -nn -X -vv tcp port 21 and ip host 192.168.33.131
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值