#%PAM-1.0
#####32位系统配置
#auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/xnpasswd
#account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/xnpasswd
#####64位系统配置
auth sufficient /lib64/security/pam_userdb.so db=/opt/vsftp/passwd
account sufficient /lib64/security/pam_userdb.so db=/opt/vsftp/passwd
#以上两条是手动添加的,内容是对虚拟用户的安全和帐户权限进行验证。
#这里的auth是指对用户的用户名口令进行验证。
#这里的accout是指对用户的帐户有哪些权限哪些限制进行验证。
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include system-auth
account include system-auth
session include system-auth
session required pam_loginuid.so
八、虚拟用户的配置
1.)定制虚拟用户模板配置文件(虚拟用户的配置文件名需要和虚拟用户一致,因为在登录ftp时输入相应的用户名之后会根据名称去加载相应的配置文件)
vim /etc/vsftpd/vconf/test
local_root=/opt/vsftp/file
#指定虚拟用户仓库的具路径
anonymous_enable=NO
#设定不允许匿名访问
write_enable=YES
#允许写的操作
local_umask=022
#上传文件的权限掩码
anon_upload_enable=NO
#不允许匿名上传
anon_mkdir_write_enable=NO
#不允许匿名用户建立目录
idle_session_timeout=300
#设定空闲链接超时时间
data_connection_timeout=1000
#设定单次传输最大时间
max_clients=0
#设定并发客户端的访问数量
max_per_ip=0
#设定客户端的最大线程数
local_max_rate=0
#设定用户的最大传输速率,单位b/s
2.)建立虚拟用户的仓库目录并更改相应属主/组且赋予相应权限
mkdir -p /opt/vsftpd/file
chown virtusers:virtusers /opt/vsftpd/file
chmod 755 /opt/vsftpd/file
3.)随便建立个文件方便后续检测是否安装成功:touch /opt/vsftpd/file/abc
九、启动方式
ftp守护进程的启动方式有两种,standalone和(xinetd/inetd)
1.)xinetd模式:大多数较新的系统采用的是xinetd超级服务守护进程,它是inetd(因特网守护进程)的替代品。在linux中一些不主要的服务,并没有作为单独的守护进程在开机时启动,而是将他们的监听端口交给一个独立的进程xinetd集中监听,当收到客户端的请求之后,xinted进程就临时启动相应服务器并把端口移交给相应的服务,客户端断开之后,相应的服务进程结束,xinetd继续监听。
有的系统可能会需要安装xinetd:yum install xinetd
若是在/etc/xinetd.d/中没有vsftpd则需要新建,并添加如下内容:
service ftp
{
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
nice = 10
disable = no
}
释掉”/etc/vsftpd.conf“中的listen=YES之后重启,以xinetd启动 /etc/rc.d/init.d/xinetd restart
2.)standalone模式:运行期间一直驻留在内存中,对接入信号反应较快但是占用了些系统资源,因此常常用于需求较高的服务。
standalone模式运行ftp:
此模式便于实现PAM验证功能,进入这种模式首先关闭xinetd下的vsftpd,设置”disable=yes“,或则注释掉/etc/initd.conf中的相应的行,然后取消/etc/vsftpd/vsftpd.conf中listen=YES的注释。
启动:service vsftpd restart
十、从其他机器登陆ftp进行测试
建议关闭iptables 与 selinux 进行测试。
#需要先下载客户端 yum -y install ftp
Name (192.168.1.67:root):test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,1,67,23,40).
150 Here comes the directory listing.
-rwxr-xr-x 2 500 500 4096 May 05 03:53 abc
226 Directory send OK.
可能会出现的错误:
1.)500 OOPS:错误
有可能是你的vsftpd.con配置文件中有不能被实别的命令,还有一种可能是命令的YES 或 NO 后面有空格
2.)若是提示权限问题,检测配置文件无误后执行:setsebool -P ftp_home_dir=1