linux ftp平台部署

  1. 系统环境
[root@ceshiji ~]# cat /etc/redhat-release
CentOS release 6.7 (Final)
[root@ceshiji ~]# iostat -c
Linux 2.6.32-573.3.1.el6.x86_64 (ceshiji) 	01/05/2018 	_x86_64_	(8 CPU)
[root@ceshiji ~ ]# getenforce
Disabled
  1. vsftp,pam,db4安装 [root@ceshiji ~]# yum install vsftpd pam* db4* -y
  2. 开启vsftp自启服务
[root@ceshiji ~]]# chkconfig --level 35 vsftpd on
[root@ceshiji ~]]# chkconfig --list
  1. 配置vsftpd服务的宿主
#useradd vsftpdadmin -s /sbin/nologin -d /data/vsftpdadmin -m``
说明:这个vsftpdadmin只是用来替换root的,并不需要登录
  1. 建立ftp虚拟宿主帐 #useradd -s /sbin/nologin -d /data/ftpuser -m ftpuser
  2. 配置vsftpd.conf 说明:更改配置前最好备份一下然后再改。 #vim /etc/vsftpd/vsftpd.conf
  3. 下面是我的vsftpd.conf配置内容: #cat /etc/vsftpd/vsftpd.conf |grep -v '^#'
##不允许匿名用户登录ftp
anonymous_enable=NO
##允许本地用户登录
local_enable=YES
##启用任何形式的FTP写入命令
write_enable=YES
##上传后文件的权限掩码
local_umask=022
##开启目录标语,默认是YES
dirmessage_enable=YES
##开启日志,默认是YES
xferlog_enable=YES
##设定连接端口20
##这个端口我更改为50100
connect_from_port_20=YES
listen_port=50100
##设定vsftpd的服务日志保存路径
 xferlog_std_format=YES
 ##会话超时,客户端连接到ftp但未操作,可根据个人情况修改
idle_session_timeout=600
##支持异步传输功能,默认是注释掉的
async_abor_enable=YES
##支持ASCII模式的上传功能,默认是注释掉的
ascii_upload_enable=YES
##支持ASCII模式的下载功能,默认是注释掉的
ascii_download_enable=YES
##FTP的登录欢迎语,本身是被注释掉的
ftpd_banner=Welcome to datagrand FTP service.
##禁止本地用户登出自己的FTP主目录
chroot_local_user=YES
##锁定登录用户只能在家目录的位置的文件
chroot_list_file=/etc/vsftpd/chroot_list
##侦听ipv4地址
listen=YES
##########启用vsftpd虚拟用以及虚拟用户账号配置目录############
##设定启用虚拟用户功能
guest_enable=YES
##指定虚拟用户的宿主用户
guest_username=ftpuser
##设定pam服务下vsftpdd的验证配置文件名
pam_service_name=vsftpd
##设定虚拟用户的权限符合他们的宿主用户
virtual_use_local_privs=YES
##设定虚拟用户个人Vsftp的配置文件存放路径
user_config_dir=/etc/vsftpd/vconf
##拒绝登录用户名单
userlist_enable=YES
userlist_deny=NO
##限制主机对VSFTP服务器的访问
tcp_wrappers=YES
############################虚拟用户全局配置###############
##开放虚拟用户创建目录的权限
anon_mkdir_write_enable=YES
##开放虚拟用户的下载权限
 anon_world_readable_only=YES
##开放虚拟用户的写权限
write_enable=YES
##开放虚拟用户的上传权限
anon_upload_enable=YES
##开放虚拟用户删除、重命名目录和文件
anon_other_write_enable=YES
  1. 建立日志文件
#touch /var/log/vsftpd.log    //日志文件  
#chown vsftpdadmin.vsftpdadmin /var/log/vsftpd.log   //属于vsftpdadmin这个宿主
  1. 建立虚拟用户文件
#mkdir /etc/vsftpd/vconf/  
#touch /etc/vsftpd/vconf/vir_user
  1. 建立虚拟用户
#vim /etc/vsftpd/vconf/vir_user 
##用户名
xiaoming
##密码
12345678

说明: (1)第一行用户名,第二行是上一行用户名的密码,其他人的以此类推; (2)用户名,密码后面不要有空格!

#vim /etc/vsftp/chroot_list
##用户名
xiaoming

说明:加入需要锁定登录用户只能家目录的位置然后将帐户输入一行一个,保存就可以了。

#vim /etc/vsftpd/user_list
##添加虚拟用户
xiaoming

创建虚拟用户具体文件和步骤:

#pwd
/etc/vsftpd/vconf
#touch xiaoming
#vim xiaoming
##添加如下内容:
##虚拟用户的根目录,需要预先建立并赋予相应权限
 local_root=/data3/xiaoming
 local_umask=022
 :wq
在相应的目录下(data3)创建文件xiaoming:
#mkdir -p /data3/xiaoming
更改所属主,组:
#chown -R ftpuser:ftpuser /data3/xiaoming
  1. 生成数据库
#db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db  
设置数据库文件的访问权限:
#chmod 600 /etc/vsftpd/vconf/vir_user.db  
#chmod 600 /etc/vsftpd/vconf/vir_user
  1. 修改/etc/pam.d/vsftpd内容
将/etc/pam.d/vsftpd文件里的内容全部注释掉(前面加#)或删掉,在里面添加如下内容:
echo "auth required pam_userdb.so db=/etc/vsftpd/vconf/vir_user" >> /etc/pam.d/vsftpd  
echo "account required pam_userdb.so db=/etc/vsftpd/vconf/vir_user" >> /etc/pam.d/vsftpd
  1. 重启ftp服务
#service vsftpd restart
#netstat -lnp|grep vsftpd
  1. 关于vsftpd的端口号的更改 要求:vsftpd启动后,默认的ftp端口是21,现在我想把ftp端口改成50100 ,修改后能保证用户上传下载不受影响。
#vim /etc/vsftpd/vsftpd.conf
##在该配置文件中添加此行
listen_port=50100
:wq
#vim /etc/services
#ftp             21/tcp
 ftp             50100/tcp
#ftp             21/udp          fsp fspd
 ftp             50100/udp          fsp fspd
 :wq
 #service vsftpd restart
 #netstat -lnp|grep vsftpd
相关文章
相关标签/搜索