vsftpd简介及搭建配置(3)


#%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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/419109b255d3e28eb19ffe2221df079d.html