centos 6.5下 vsftp 虚拟用户配置
2016-03-18 18:02
671 查看
一:基本知识
1:虚拟用户:与系统无关联,不能登入系统,只能访问FTP服务器
2:vsftp的服务进程是vsftpd
3:vsftpd的配置文件是/etc/vsftpd/vsftpd.conf .
4:vsftpd的用户文件是/etc/vsftpd/ftpusers
5:vsftpd的用户文件是/etc/vsftpd/user_list
6:推荐使用虚拟用户登入vs-FTP服务器
二、安装vsftp
查看是否安装vsftpd服务
[root@localhost ~]# chkconfig --list
如果没有安装,安装vsftpd服务
[root@localhost ~]# yum -y install vsftpd
1)检查服务器selinux是否开启,如果开启,关闭selinux
[root@localhost ~]# /usr/sbin/sestatus -v
SELinux status: enabled
修改/etc/selinux/config 文件, 将SELINUX=enforcing改为SELINUX=disabled, 重启机器即可。或者#setenforce 0
2)创建虚拟用户文本文件,添加虚拟用户和密码
[root@localhost ~]# cd /etc/vsftpd/
[root@localhost ~]# touch vuser.txt
比如:
lowkeyman
123456
3)生成虚拟数据库文件(*如果db_load没有安装,yum install db4-utils db4-devel db4-4.3安装才能使用。)
[root@localhost ~]# db_load –T –t hash –f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
4)配置PAM文件,目的是对客户端进行验证
编辑/etc/pam.d/vsftpd文件,批注所有内容,后添加:
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
5)修改虚拟数据库文件vuser.db的权限为 700
[root@localhost ~]# chmod 700 vuser.db
[root@localhost ~]# mkdir /ftpdir
[root@localhost ~]# useradd -d /ftpdir vuser
[root@localhost ~]# chown vuser.vuser /ftpdir
[root@localhost ~]# usermod -s /sbin/nologin vuser
注意:“=”两边不能有空格
guest_enable=YES ####激活虚拟账户
guest_username=vuser ####把虚拟账户绑定为系统账户vuser
pam_service_name=vsftpd ####使用PAM验证
user_config_dir=/etc/vsftpd/vsftpd_user_conf
[root@localhost ~]# mkdir /etc/vsftpd/vsftpd_user_conf
[root@localhost ~]# touch /etc/vsftpd/vsftpd_user_conf/lowkeyman
anon_world_readable_only=NO ###浏览FTP目录和下载
anon_upload_enable=YES ###允许上传
anon_mkdir_write_enable=YES ###建立和删除目录
anon_other_write_enable=YES ####改名和删除文件
local_root=/ftpdir/ #### 指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录。
四、vsftpd.conf部分解释:
一: 进程类别优化:
1:listen=YES/NO 设置独立进程控制vsftpd
二: 登录和访问控制选项优化:
1:anonymous_enable=YES/NO 允许/禁止匿名用户登陆
2:banned_email_file=/etc/vsftpd/vsftpd.banned_emails
允许/禁止邮件的使用的存放路径和目录
配合使用:deny_email_enable=YES/NO 允许/禁止匿名用户使用邮件作为密码
3:banner_file=/etc/vsftp/banner_file 在文件banner_file添加欢迎词即可
4:cmds_allowed=HELP,DIR,QUIT,! 列出被允许使用的FTP命令
5:ftpd_banner=welcome to ftp server 和第三条一样是欢迎词屏幕,方法不一样
6:local_enable=YES/NO 允许/禁止本地用户登陆
7:pam_service_name=vsftpd 使用pam模块进行ftp客户端的验证
8:userlist_deny=YES/NO 禁止/允许文件列表user_list的用户访问ftp服务器
配合使用:userlist_file=/etc/vsftpd/user_list 用户列表文件
配合使用:userlist_enable=YES/NO 激活/失效第8条的功能
9:tcp_wrappers=YES/NO 启用/不启用tcp_wrappers控制服务访问的功能
三: 匿名用户选项的优化:
1:anon_mkdir_write_enable=YES/NO 允许/禁止匿名用户创建目录、删除文件
2:anon_root=/path/to/file 设置匿名用户的根目录,默认是/var/ftp/
你可以修改这个默认路径
3:anon_upload_enable=YES/NO 允许/禁止匿名用户上传
4:anon_world_readable_only=YES/NO 禁止/允许匿名用户浏览目录和下载
5:ftp_username=anonftpuser 把匿名用户绑定到系统用户名
6:no_anon_password=YES/NO 不需要/需要匿名用户的登录密码
四:本地用户选项的优化:
1:chmod_enable=YES/NO 允许/禁止本地用户修改文件权限
2:chroot_list_enable=YES/NO 启用/不启用禁锢本地用户在家目录
3:chroot_list_file=/path/to/file 建立禁锢用户列表文件,一行一个用户
4:guest_enable=YES/NO 激活/不激活虚拟用户
5:guest_username=系统实体用户 把虚拟用户绑定在某个实体用户上
6:local_root=/path/to/file 指定或修改本地用户的根目录
7:local_umask=具体权位数字 设置本地用户新建文件的权限
8:user_config_dir=/path/to/file 激活虚拟用户的的主配置文件
五:目录选项的优化:
1:text_userdb_names=YES/NO 启用/禁用用户的名称取代用户的UID
六:文件传输选项优化:
1:chown_uploads=YES/NO 启用/禁用修改匿名用户上传文件的权限
配合使用:chown_username=账户 指定匿名用户上传文件的所有者
2:write_enable=YES/NO 启用/禁止用户的写权限
3:max_clients=数字 设置FTP服务器同一时刻最大的连接数
4:max_per_ip=数字 设置每ip的最大连接数
七:网络选项的优化:
1:anon_max_rate=数字 设置匿名用户最大的下载速率(单位字节)
2:local_max_rate=数字 设置本地用户最大的下载速率
1:虚拟用户:与系统无关联,不能登入系统,只能访问FTP服务器
2:vsftp的服务进程是vsftpd
3:vsftpd的配置文件是/etc/vsftpd/vsftpd.conf .
4:vsftpd的用户文件是/etc/vsftpd/ftpusers
5:vsftpd的用户文件是/etc/vsftpd/user_list
6:推荐使用虚拟用户登入vs-FTP服务器
二、安装vsftp
查看是否安装vsftpd服务
[root@localhost ~]# chkconfig --list
[root@localhost ~]# chkconfig --list
如果没有安装,安装vsftpd服务
[root@localhost ~]# yum -y install vsftpd
[root@localhost ~]# yum -y install vsftpd三、配置虚拟用户
1)检查服务器selinux是否开启,如果开启,关闭selinux
[root@localhost ~]# /usr/sbin/sestatus -v
SELinux status: enabled
[root@localhost ~]# /usr/sbin/sestatus -v SELinux status: enabled1.1)关闭selinux方法
修改/etc/selinux/config 文件, 将SELINUX=enforcing改为SELINUX=disabled, 重启机器即可。或者#setenforce 0
2)创建虚拟用户文本文件,添加虚拟用户和密码
[root@localhost ~]# cd /etc/vsftpd/
[root@localhost ~]# touch vuser.txt
[root@localhost ~]# cd /etc/vsftpd/ [root@localhost ~]# touch vuser.txt奇数行是用户名,偶数是密码
比如:
lowkeyman
123456
3)生成虚拟数据库文件(*如果db_load没有安装,yum install db4-utils db4-devel db4-4.3安装才能使用。)
[root@localhost ~]# db_load –T –t hash –f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
[root@localhost ~]# db_load –T –t hash –f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
4)配置PAM文件,目的是对客户端进行验证
编辑/etc/pam.d/vsftpd文件,批注所有内容,后添加:
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
auth required pam_userdb.so db=/etc/vsftpd/vuser account required pam_userdb.so db=/etc/vsftpd/vuser*不能写成db=/etc/vsftpd/vuser.db
5)修改虚拟数据库文件vuser.db的权限为 700
[root@localhost ~]# chmod 700 vuser.db
[root@localhost ~]# chmod 700 vuser.db6)增加一个系统用户vuser ,使用它来对应所有虚拟用户,虚拟用户使用系统用户来访问ftp服务器。
[root@localhost ~]# mkdir /ftpdir
[root@localhost ~]# useradd -d /ftpdir vuser
[root@localhost ~]# chown vuser.vuser /ftpdir
[root@localhost ~]# usermod -s /sbin/nologin vuser
[root@localhost ~]# mkdir /ftpdir [root@localhost ~]# useradd -d /ftpdir vuser [root@localhost ~]# chown vuser.vuser /ftpdir [root@localhost ~]# usermod -s /sbin/nologin vuser7)修改vsftpd.conf配置文件,使虚拟用户可以访问vsftpd服务器,增加以下参数
注意:“=”两边不能有空格
guest_enable=YES ####激活虚拟账户
guest_username=vuser ####把虚拟账户绑定为系统账户vuser
pam_service_name=vsftpd ####使用PAM验证
guest_enable=YES ####激活虚拟账户 guest_username=vuser ####把虚拟账户绑定为系统账户vuser pam_service_name=vsftpd ####使用PAM验证8)设置虚拟用户的主配置文件,编辑vsftpd.conf文件,添加:
user_config_dir=/etc/vsftpd/vsftpd_user_conf
user_config_dir=/etc/vsftpd/vsftpd_user_conf9)建立vsftpd_user_conf
[root@localhost ~]# mkdir /etc/vsftpd/vsftpd_user_conf
[root@localhost ~]# mkdir /etc/vsftpd/vsftpd_user_conf10)设置虚拟用户配置文件,与虚拟账户同名
[root@localhost ~]# touch /etc/vsftpd/vsftpd_user_conf/lowkeyman
[root@localhost ~]# touch /etc/vsftpd/vsftpd_user_conf/lowkeyman11)编辑虚拟账户lowkeyman的配置文件lowkeyman,是虚拟账户lowkeyman获得相应的权限
anon_world_readable_only=NO ###浏览FTP目录和下载
anon_upload_enable=YES ###允许上传
anon_mkdir_write_enable=YES ###建立和删除目录
anon_other_write_enable=YES ####改名和删除文件
local_root=/ftpdir/ #### 指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录。
anon_world_readable_only=NO ###浏览FTP目录和下载 anon_upload_enable=YES ###允许上传 anon_mkdir_write_enable=YES ###建立和删除目录 anon_other_write_enable=YES ####改名和删除文件 local_root=/ftpdir/ #### 指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录。
四、vsftpd.conf部分解释:
一: 进程类别优化:
1:listen=YES/NO 设置独立进程控制vsftpd
二: 登录和访问控制选项优化:
1:anonymous_enable=YES/NO 允许/禁止匿名用户登陆
2:banned_email_file=/etc/vsftpd/vsftpd.banned_emails
允许/禁止邮件的使用的存放路径和目录
配合使用:deny_email_enable=YES/NO 允许/禁止匿名用户使用邮件作为密码
3:banner_file=/etc/vsftp/banner_file 在文件banner_file添加欢迎词即可
4:cmds_allowed=HELP,DIR,QUIT,! 列出被允许使用的FTP命令
5:ftpd_banner=welcome to ftp server 和第三条一样是欢迎词屏幕,方法不一样
6:local_enable=YES/NO 允许/禁止本地用户登陆
7:pam_service_name=vsftpd 使用pam模块进行ftp客户端的验证
8:userlist_deny=YES/NO 禁止/允许文件列表user_list的用户访问ftp服务器
配合使用:userlist_file=/etc/vsftpd/user_list 用户列表文件
配合使用:userlist_enable=YES/NO 激活/失效第8条的功能
9:tcp_wrappers=YES/NO 启用/不启用tcp_wrappers控制服务访问的功能
三: 匿名用户选项的优化:
1:anon_mkdir_write_enable=YES/NO 允许/禁止匿名用户创建目录、删除文件
2:anon_root=/path/to/file 设置匿名用户的根目录,默认是/var/ftp/
你可以修改这个默认路径
3:anon_upload_enable=YES/NO 允许/禁止匿名用户上传
4:anon_world_readable_only=YES/NO 禁止/允许匿名用户浏览目录和下载
5:ftp_username=anonftpuser 把匿名用户绑定到系统用户名
6:no_anon_password=YES/NO 不需要/需要匿名用户的登录密码
四:本地用户选项的优化:
1:chmod_enable=YES/NO 允许/禁止本地用户修改文件权限
2:chroot_list_enable=YES/NO 启用/不启用禁锢本地用户在家目录
3:chroot_list_file=/path/to/file 建立禁锢用户列表文件,一行一个用户
4:guest_enable=YES/NO 激活/不激活虚拟用户
5:guest_username=系统实体用户 把虚拟用户绑定在某个实体用户上
6:local_root=/path/to/file 指定或修改本地用户的根目录
7:local_umask=具体权位数字 设置本地用户新建文件的权限
8:user_config_dir=/path/to/file 激活虚拟用户的的主配置文件
五:目录选项的优化:
1:text_userdb_names=YES/NO 启用/禁用用户的名称取代用户的UID
六:文件传输选项优化:
1:chown_uploads=YES/NO 启用/禁用修改匿名用户上传文件的权限
配合使用:chown_username=账户 指定匿名用户上传文件的所有者
2:write_enable=YES/NO 启用/禁止用户的写权限
3:max_clients=数字 设置FTP服务器同一时刻最大的连接数
4:max_per_ip=数字 设置每ip的最大连接数
七:网络选项的优化:
1:anon_max_rate=数字 设置匿名用户最大的下载速率(单位字节)
2:local_max_rate=数字 设置本地用户最大的下载速率
相关文章推荐
- CentOS7.2查看系统信息(1)
- Linux之V4L2基础编程
- Linux命令笔记
- Linux命令:tail
- Android和Linux动态加载机制
- CentOS之更新
- CentOS如何挂载硬盘
- linux如何查看磁盘剩余空间
- Linux下多线程查看工具(pstree、ps、pstack)
- linux重启和关闭系统命令
- Linux errno参照表
- CentOS 6.5系统上安装SVN服务器端的方法及步骤
- CentOS下添加新硬盘
- 文件管理系统课堂笔记
- linux记录操作命令
- Linux命令:head
- linux系统优化脚本
- centos 6.x 开机自启动ejabberd
- 加速Linux程序编译
- linux抓sip