pam+vsftpd配置虚拟ftp用户(无需数据库)

pam_vsftpd创建虚拟用户方法(无需数据库)

pam+vsftpd的用户验证模式本质就是所有访问vsftpd的用户均以一个用户来登录,当然该用户不具有系统登录的权限,不实际创建用户,保障了系统的安全。

工具:
下载pam_pwdfile-0.99.tar.gz
      Linux-PAM-0.75.tar.bz2
一定要这两个版本的工具配合使用,否则会出现无法预料的结果,本人系统版本为redhat as4 u5。


一、编译安装Linux-PAM-0.75.tar.bz2(仔细按照步骤配置)
(具体安装步骤可以查看安装包里的INSTALL文件)
1.#bunzip2 -c Linux-PAM-0.75.tar.bz2 | tar -xvf -
2.#cd Linux-PAM-0.75/modules
3.#tar -xzvf /你存放pam_pwdfile-0.99.tar.gz的路径/pam_pwdfile-0.99.tar.gz
4.#cd ..
5.#rm default.defs(原英文文档是有这一条,但我配置实施时并没有这个文件,可以跳过,不影响配置)
6.#ln -s defs/redhat.defs default.defs
7.转到Linux-PAM-0.75目录下
8.#make
9.make完后就会在Linux-PAM-0.75/modules/pam_pwdfile-0.99/发现一个名叫pam_pwdfile.so的文件,把它复制到/lib/security/下面。
以上步骤便完成了pam环境的安装,接下来就是配置pam文件


二、配置pam
1.#cd /etc/pam.d
2.#vi vsftpd
(编辑指定的加密程序vsftpd)
3.将现有规则全部注释(按照个人的实际情况,并非一律)
4.输入以下两行规则(用于vsftpd的虚拟用户验证)
auth        required    pam_pwdfile.so          pwdfile /etc/vsftpd/passwd
account     required    pam_permit.so
(/etc/vsftpd/passwd为验证密码的文件,用touch创建一个名为passwd的空文件即可,当然也可以改其他名称)
5.保存退出


三、配置vsftpd
1.就某些规则修改如下:
anonymous_enable=NO
local_enable=YES
write_enable=YES

pam_service_name=vsftpd
userlist_enable=YES
listen=YES
tcp_wrappers=YES

#pasv_make
pasv_enable=YES
pasv_min_port=40000  
pasv_max_port=40100
(pasv连接端口可以随意设置)

user_sub_token=$USER
local_root=/home/vuser/$USER
(指定虚拟用户根目录)
guest_enable=YES
guest_username=vuser
(指定用vuserY用户作为ftp用户登录)

anon_umask=0022
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_upload_enable=YES
(开放登录用户的相应权限)

2.保存退出,重启vsftpd


四、新建ftp虚拟用户
1.#groupadd vuser
(建vuser用户组)
2.#cd /home
3.#mkdir vuser
(建ftp用户的主目录vuser)
4.#useradd -g vuser -s /sbin/nologin -d /home/vuser vuser
(建vuser用户,所有的用户均通过这个用户登录vsftpd)
5.#chown -R vuser.vuser vuser
(改变ftp用户主目录的属主)
6.#cd /home/vuser
7.#mkdir superman
(例如新建一个用户superman,在/home/vuser下新建该用户的根目录)
8.#chown -R vuser.vuser superman
(将该目录的所有属组改为vuser)
9.#cd /etc/vsftpd
10.#htpasswd passwd superman
(通过htpasswd加密该用户)
11.输入要设定的密码
12.完成





你可能感兴趣的:(职场,休闲,linux手把手)