centos 6.5下 vsftp 虚拟用户配置

前端之家收集整理的这篇文章主要介绍了centos 6.5下 vsftp 虚拟用户配置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一:基本知识
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服务

1. [root@localhost~]#chkconfig--list
如果没有安装,安装vsftpd服务

1. [root@localhost~]#yum-yinstallvsftpd

三、配置虚拟用户

1)检查服务器selinux是否开启,如果开启,关闭selinux

1. [root@localhost~]#/usr/sbin/sestatus-v

2. SELinuxstatus:enabled

1.1关闭selinux方法

修改/etc/selinux/config 文件, 将SELINUX=enforcing改为SELINUX=disabled, 重启机器即可

2)创建虚拟用户文本文件,添加虚拟用户和密码

1. [root@localhost~]#cd/etc/vsftpd/

2. [root@localhost~]#touchvuser.txt

奇数行是用户名,偶数是密码
比如:
lowkeyman
123456

3生成虚拟数据库文件*如果db_load没有安装,yum install db4-utils db4-develdb4-4.3安装才能使用。

1. [root@localhost~]#db_load–T–thash–f/etc/vsftpd/vuser.txt/etc/vsftpd/vuser.db

4)配置PAM文件,目的是对客户端进行验证

编辑/etc/pam.d/vsftpd文件,批注所有内容,后添加

1. authrequiredpam_userdb.sodb=/etc/vsftpd/vuser

2. accountrequiredpam_userdb.sodb=/etc/vsftpd/vuser

*不能写成db=/etc/vsftpd/vuser.db
5
修改虚拟数据库文件vuser.db的权限为 700

1. [root@localhost~]#chmod700vuser.db

6增加一个系统用户vuser ,使用它来对应所有虚拟用户,虚拟用户使用系统用户来访问ftp服务器。

1. [root@localhost~]#mkdir/vsftp

2. [root@localhost~]#useradd-d/var/ftp/pub-s /sbin/nologinvuser

3. [root@localhost~]#chownvuser:vuser/var/ftp/pub

7修改vsftpd.conf配置文件,使虚拟用户可以访问vsftpd服务器,增加以下参数

修改/etc/vsftpd/vsftpd.conf如下:

@H_503_502@

anonymous_enable=NO(是否允许匿名登录FTP 服务器,默认设置为YES 允许,即用户可使用用户名ftp 或anonymous 进行ftp 登录,口令为空。如 不允许匿名访问设置为NO)

local_enable=YES(是否允许本地用户登录FTP服务器,默认设置为YES允许,本地用户登录后会进入指定的用户主目录,而匿名用户登录后进入匿名用户的下载目录/var/ftp/pub;设置虚拟账户必须设会YES)

local_umask=022(设置本地用户文件掩码为缺省022,得到上传文件的初始权限)

#anon_upload_enable=YES(是否允许匿名用户上传文件,须将write_enable=YES,默认设置为YES 允许)

#anon_mkdir_write_enable=YES(是否允许匿名用户创建新文件夹,默认设置为YES允许)

xferlog_enable=YES(默认值为NO如果启用此选项,系统将会维护记录服务器上传和下载情况的日志文件,默认情况该日志文件为/var/log/vsftpd.log,也可以通过下面的xferlog_file 选项对其进行设定)

connect_from_port_20=YES(设定 FTP 服务器将启用FTP数据端口的连接请求,端口20为ftp-data数据传输,21 为连接控制端口)

#chown_uploads=YES(设定是否允许改变上传文件的属主,与下面一个设定项配合使用)

#chown_username=whoever(设置想要改变的上传文件的属主,如果需要,则输入一个系统用户名,例如可以把上传文件都改成root 属主。whoever任何人)

#xferlog_file=/var/log/xferlog(设定系统维护记录FTP 服务器上传和下载情况的日志文件,/var/log/vsftpd.log是默认的,也可以另设其它)

xferlog_std_format=YES

idle_session_timeout=600(设置数据传输中断间隔时间,此语句表示空闲的用户会话中断时间为600秒,即当数据传输结束后,用户连接FTP服务器的时间不应超过600秒,可以根据实际情况对该值进行修改

#data_connection_timeout=120(设置数据连接超时时间,该语句表示数据连接超时时间为120秒,可根据实际情况对其修改

#nopriv_user=ftpsecure(运行 vsftpd 需要的非特权系统用户,缺省是nobody)

#async_abor_enable=YES

#ascii_upload_enable=YES

#ascii_download_enable=YES

#ftpd_banner=Welcome to blah FTP service.

#deny_email_enable=YES

#banned_email_file=/etc/vsftpd/banned_emails

#chroot_list_enable=YES(设置为 NO 时,用户登录FTP 服务器后具有访问自己目录以外的其他文件的权限,设置为 YES时,用户被锁定在自己的宿主目录中,vsftpd 将在下面 chroot_list_file 选项值的位置寻找 chroot_list 文件,此文件用户建立,再将需锁定在自己宿主目录的用户列入其中,每行一个用户

# (default follows)

#chroot_list_file=/etc/vsftpd/chroot_list(此文件需自己建立,被列入此文件用户,在登录后将不能切换到自己目录以外的其他目录,由 FTP 服务器自动地 chrooted 到用户自己的home 目录下,使得 chroot_list 文件中的用户不能随意转到其他用户的FTP home 目录下,从而有利于FTP 服务器的安全管理和隐私保护)

listen=YES(如果设置为YES,则 vsftpd 将以独立模式运行,由vsftpd 自己监听和处理连接请求)

#listen_ipv6=YES(设定是否支持IPV6

pam_service_name=vsftpd(设置 PAM 外挂模块提供的认证服务所使用的配置文件名,即/etc/pam.d/vsftpd 文件,此文件中file=/etc/vsftpd/ftpusers 字段,说明了PAM 模块能抵挡的帐号内容来自文件/etc/vsftpd/ftpusers 中)

userlist_enable=YES(此选项默认值为NO,则不启用user_list文件;若此项设为YES ,则启用user_list 文件,而如果同时设置了 userlist_deny=YES ,则 user_list 文件中的用户将不允许登录FTP 服务器,甚至连输入密码提示信息都没有,直接被FTP 服务器拒绝,如果userlist_deny=NO,将则只允许user_list文件中的用户登陆FTP服务器)

userlist_deny=YES(若已启用userlist_enable项,此项默认为YES,则阻止user_list 文件中的用户登录FTP 服务器;反之,则只允许user_list文件中的用户登录

tcp_wrappers=YES(表明服务器使用tcp_wrappers作为主机访问控制方式)

write_enable=NO(决定是否允许一些FTP命令去更改文件系统。包括上传文件删除文件,新增目录,删除目录)

download_enable=NO(决定是否允许下载文件,如果设为NO,下载请求将返回“permission denied”)

guest_enable=YES(如果启用,所有的非匿名用户登录时将被视为游客,其名字将被映射为guest_username里所指定的名字。采用虚拟用户必须设置该选项)

guest_username=vuser(设置当游客进入后,其将会被映射的名字。这里设置为“vuser”,即虚拟用户登陆ftp后被映射的本地用户名

virtual_use_local_privs=YES(虚拟用户和本地用户权限相同。很重要,保证虚拟用户有和映射的本地用户相同的权限)

chroot_local_user=YES(设置虚拟用户被锁定在自己的宿主目录中。)

user_config_dir=/etc/vsftpd/user_config(定义用户配置文件的目录)

上表中标红的参数为重要的修改项,每项参数都在其后面的括号中有简单的说明。当然还有其他的很多参数来配置VSFTPD,这里不一一例句,附录中将会进行统一的说明。



1. guest_enable=YES####激活虚拟账户

2. guest_username=vuser####把虚拟账户绑定为系统账户vuser

3. pam_service_name=vsftpd####使用PAM验证

8)设置虚拟用户的主配置文件,编辑vsftpd.conf文件添加

1. user_config_dir=/etc/vsftpd/vsftpd_user_conf

9)建立vsftpd_user_conf

1. [root@localhost~]#mkdir/etc/vsftpd/vsftpd_user_conf

10)设置虚拟用户配置文件,与虚拟账户同名

1. [root@localhost~]#touch/etc/vsftpd/vsftpd_user_conf/lowkeyman

11)编辑虚拟账户lowkeyman配置文件lowkeyman,是虚拟账户lowkeyman获得相应的权限

1. anon_world_readable_only=NO###浏览FTP目录和下载

2. anon_upload_enable=YES###允许上传

3. anon_mkdir_write_enable=YES###建立和删除目录

4. anon_other_write_enable=YES####改名和删除文件

5. local_root=/var/ftp/pub####指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录。

原文链接:https://www.f2er.com/centos/378821.html

猜你在找的CentOS相关文章