ftp下vsftpd虚拟账号的实现
2012-12-19 12:19
190 查看
[align=center]ftp下vsftpd虚拟账号的实现[/align]
vsftpd虽然英文全称叫Very Secure FTP ,也就是非常安全的ftp.但是我们平时如果用本地系统账号来开放下载,上传权限时还是容易被一些不怀好意的Hacker窃取我们的用户名密码进入系统.一定层面上也给系统带来的不安全的隐患.那么解决这种问题建立虚拟账号来管理我的ftp不失为一个好办法.下面就来讨论下vsftpd的虚拟账号配置.
安装vsftp
[root@localhost ~]# cd /mnt/cdrom/Server
[root@localhost Server]# ll vsftp*
-r--r--r-- 86 root root 143838 Jul 24 2009 vsftpd-2.0.5-16.el5.i386.rpm
[root@localhost Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm
warning: vsftpd-2.0.5-16.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:vsftpd ########################################### [100%]
[root@localhost Server]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[root@localhost Server]# cd /etc/vsftpd/
[root@localhost vsftpd]# ll
total 20
-rw------- 1 root root 125 May 13 2009 ftpusers
-rw------- 1 root root 361 May 13 2009 user_list
-rw------- 1 root root 4579 May 13 2009 vsftpd.conf
-rwxr--r-- 1 root root 338 May 13 2009 vsftpd_conf_migrate.sh
[root@localhost vsftpd]# vi virtualuser.txt建立一个虚拟文件
然后我们需要生成hash加密的数据库文件以便让后续的pam.userdb 这个模块来读取我们的用户名密码进行验证.
安装db4-util:
[root@localhost Server]# rpm -ivh db4-utils-4.3.29-10.el5.i386.rpm
warning: db4-utils-4.3.29-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:db4-utils ########################################### [100%]
[root@localhost Server]#
[root@localhost Server]# db_load
usage: db_load [-nTV] [-c name=value] [-f file]
[-h home] [-P password] [-t btree | hash | recno | queue] db_file
usage: db_load -r lsn | fileid [-h home] [-P password] db_file
[root@localhost Server]# cd /etc/vsftpd/
[root@localhost vsftpd]# db_load -T -t hash -f virtualuser.txt virtualuser.db 转换成数据库文件
[root@localhost vsftpd]# cd /etc/pam.d/
编辑
[root@localhost pam.d]# cp vsftpd vsftpd.bak
[root@localhost pam.d]# vi vsftpd
这里的db=后面指的就是我们生成好的hash数据文件.文件后缀的.db是不需要打的,pam_userdb.so这个模块会自动帮我们识别.还有就记住/etc/pam.d/vsftpd 文件里面原先的内容一定要注释掉.只留新添加的两行即可.因为虚拟账号要登陆系统必须要影射到我们系统的真实用户上.不可能一个无缘无故的用户跑到我们系统上来.所以需要建立一个虚拟用户影射的系统账号:useradd user1不需要给这个用户密码,那么他也永远不能登陆系统.
[root@localhost security]# |less /usr/share/doc/pam
pam-0.99.6.2/ pam_ccreds-3/ pam_krb5-2.2.14/ pam_passwdqc-1.0.2/ pam_pkcs11-0.5.3/ pam_smb-1.1.7/
[root@localhost security]# |less /usr/share/doc/pam-0.99.6.2/txts/README.pam_userdb
-bash: syntax error near unexpected token `|'
[root@localhost security]# less /usr/share/doc/pam-0.99.6.2/txts/README.pam_userdb 查看帮助文档
[root@localhost security]# useradd -s /sbin/nologin -M user1 建立用户不启动shell不建立家目录
[root@localhost security]# vi /etc/vsftpd/vsftpd.conf 编辑主配置文档
重启服务:
[root@localhost security]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
这时用本地主机发现访问ftp不行,老是失败。
然后可以这样做:
[root@localhost security]# userdel -r user1 删除user1
userdel: error removing directory /home/user1
[root@localhost security]# vi /etc/passwd
[root@localhost security]# useradd -s /sbin/nologin user1重新创建user1并不赋予shell权限
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /home
[root@localhost home]# pwd
/home
[root@localhost home]# ll
total 12
drwx------ 3 liu liu 4096 Nov 20 01:24 liu
drwx------ 3 user1 user1 4096 Dec 18 03:42 user1
[root@localhost home]# cd user1
[root@localhost user1]# touch f1 在user1下建立一个简单文件f1可以在下面显示
[root@localhost user1]# cd ..
[root@localhost home]# chmod a+r user1 给user1读权限
用test用户可以访问>
本文出自 “海阔天空” 博客,请务必保留此出处http://liufan0321.blog.51cto.com/6155778/1093868
vsftpd虽然英文全称叫Very Secure FTP ,也就是非常安全的ftp.但是我们平时如果用本地系统账号来开放下载,上传权限时还是容易被一些不怀好意的Hacker窃取我们的用户名密码进入系统.一定层面上也给系统带来的不安全的隐患.那么解决这种问题建立虚拟账号来管理我的ftp不失为一个好办法.下面就来讨论下vsftpd的虚拟账号配置.
安装vsftp
[root@localhost ~]# cd /mnt/cdrom/Server
[root@localhost Server]# ll vsftp*
-r--r--r-- 86 root root 143838 Jul 24 2009 vsftpd-2.0.5-16.el5.i386.rpm
[root@localhost Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm
warning: vsftpd-2.0.5-16.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:vsftpd ########################################### [100%]
[root@localhost Server]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[root@localhost Server]# cd /etc/vsftpd/
[root@localhost vsftpd]# ll
total 20
-rw------- 1 root root 125 May 13 2009 ftpusers
-rw------- 1 root root 361 May 13 2009 user_list
-rw------- 1 root root 4579 May 13 2009 vsftpd.conf
-rwxr--r-- 1 root root 338 May 13 2009 vsftpd_conf_migrate.sh
[root@localhost vsftpd]# vi virtualuser.txt建立一个虚拟文件
然后我们需要生成hash加密的数据库文件以便让后续的pam.userdb 这个模块来读取我们的用户名密码进行验证.
安装db4-util:
[root@localhost Server]# rpm -ivh db4-utils-4.3.29-10.el5.i386.rpm
warning: db4-utils-4.3.29-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:db4-utils ########################################### [100%]
[root@localhost Server]#
[root@localhost Server]# db_load
usage: db_load [-nTV] [-c name=value] [-f file]
[-h home] [-P password] [-t btree | hash | recno | queue] db_file
usage: db_load -r lsn | fileid [-h home] [-P password] db_file
[root@localhost Server]# cd /etc/vsftpd/
[root@localhost vsftpd]# db_load -T -t hash -f virtualuser.txt virtualuser.db 转换成数据库文件
[root@localhost vsftpd]# cd /etc/pam.d/
编辑
[root@localhost pam.d]# cp vsftpd vsftpd.bak
[root@localhost pam.d]# vi vsftpd
这里的db=后面指的就是我们生成好的hash数据文件.文件后缀的.db是不需要打的,pam_userdb.so这个模块会自动帮我们识别.还有就记住/etc/pam.d/vsftpd 文件里面原先的内容一定要注释掉.只留新添加的两行即可.因为虚拟账号要登陆系统必须要影射到我们系统的真实用户上.不可能一个无缘无故的用户跑到我们系统上来.所以需要建立一个虚拟用户影射的系统账号:useradd user1不需要给这个用户密码,那么他也永远不能登陆系统.
[root@localhost security]# |less /usr/share/doc/pam
pam-0.99.6.2/ pam_ccreds-3/ pam_krb5-2.2.14/ pam_passwdqc-1.0.2/ pam_pkcs11-0.5.3/ pam_smb-1.1.7/
[root@localhost security]# |less /usr/share/doc/pam-0.99.6.2/txts/README.pam_userdb
-bash: syntax error near unexpected token `|'
[root@localhost security]# less /usr/share/doc/pam-0.99.6.2/txts/README.pam_userdb 查看帮助文档
[root@localhost security]# useradd -s /sbin/nologin -M user1 建立用户不启动shell不建立家目录
[root@localhost security]# vi /etc/vsftpd/vsftpd.conf 编辑主配置文档
重启服务:
[root@localhost security]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
这时用本地主机发现访问ftp不行,老是失败。
然后可以这样做:
[root@localhost security]# userdel -r user1 删除user1
userdel: error removing directory /home/user1
[root@localhost security]# vi /etc/passwd
[root@localhost security]# useradd -s /sbin/nologin user1重新创建user1并不赋予shell权限
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /home
[root@localhost home]# pwd
/home
[root@localhost home]# ll
total 12
drwx------ 3 liu liu 4096 Nov 20 01:24 liu
drwx------ 3 user1 user1 4096 Dec 18 03:42 user1
[root@localhost home]# cd user1
[root@localhost user1]# touch f1 在user1下建立一个简单文件f1可以在下面显示
[root@localhost user1]# cd ..
[root@localhost home]# chmod a+r user1 给user1读权限
用test用户可以访问>
本文出自 “海阔天空” 博客,请务必保留此出处http://liufan0321.blog.51cto.com/6155778/1093868
相关文章推荐
- vsftpd虚拟用户配置【虚拟用户映射到系统账号vuser{禁止该账户登录}登录ftp】
- FTP服务系列之vsftpd+pam+mysql实现虚拟用户认证
- 基于vsftpd+pam+mysql架设ftp并实现虚拟用户登录
- Linux FTP虚拟用户实现之vsftpd
- PureFtp+PureAdmin:实现基于虚拟账号的FTP服务器
- FTP服务-实现vsftpd虚拟用户
- PureFtp+PureAdmin:实现基于虚拟账号的FTP服务器
- 基于vsftpd+pam+mysql架设ftp并实现虚拟用户登录
- vsftpd+openssl+mysql实现sftp和ftp虚拟用户
- Debian+vsftpd+MySQL实现虚拟用户
- Linux系统vsftpd下建立虚拟用户的脚本实现
- FTP-Vsftpd的高级应用:虚拟用户 推荐
- [FTP服务]vsftpd 安装与虚拟用户配置
- centos6.5下vsftpd服务的安装及配置并通过pam认证实现虚拟用户文件共享
- vsftpd用户控制和虚拟账号
- Fedora16下安装vsftpd实现ftp小结
- vsftpd虚拟用户与匿名用户配合使用, Vsftpd使用虚拟用户访问FTP
- ubuntu中vsftpd虚拟用户实现不同用户不同权限
- 使用pam_mysql和VSFTPD实现ftp虚拟账号
- Linux下vsftpd安装以及配置FTP虚拟用户实践