- 浏览: 127251 次
- 性别:
- 来自: CQ
最新评论
-
akhuting:
学习了,很久都没研究过这些东西了。。。最近想好好研究下
Spring3.0新特性 -
yettie:
恩 有点落后了。用了很久3.0都没发现这么全的新特性。看来得仔 ...
Spring3.0新特性 -
awdxzc:
servlet里面的方法不能用这种方式被缓存吧? 不是要被AO ...
通过注解将Spring和Ehcache集成 -
awdxzc:
matt.u 写道虽然你的service是被spring管理了 ...
通过注解将Spring和Ehcache集成 -
matt.u:
虽然你的service是被spring管理了,但是由于你是Se ...
通过注解将Spring和Ehcache集成
转自http://yoozhu.com/?p=1469=1
CentOS 5.3建立vsftpd虚拟用户
我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。
匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。
本地用户登录:使用系统用户登录,在/etc/passwd中。
虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。
一、建立vsftpd虚拟用户:
1、添加虚拟用户口令文件安装vsftpd
添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。
2、生成虚拟用户口令认证文件
将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。
首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。
下面使用db_load命令生成虚拟用户口令认证文件。
出现没有db_load的提示是因为有些db4的包没有安装,需要安装下列包:
db4-*.rpm
db4-tcl-*.rpm
db4-utils-*.rpm
或者直接: yum -y install db4 db4-tcl db4-utils
db_load命令主要是用来生成db数据库使用的
格式:
db_load -T -t hash -f passwd.txt /etc/vsftpd/user_passwd.db
生成一个hash码型的数据库文件供ftp虚拟用户使用。
3、编辑vsftpd的PAM认证文件
在/etc/pam.d目录下,
将里面其他的都注释掉,添加下面这两行:
4、建立本地映射用户并设置宿主目录权限
所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。
[root@localhost ~]#useradd -d /home/vftpsite -s /sbin/nologin vftpuser
[root@localhost ~]#chmod 755 /home/vftpsite //网上为700,设置为700后FTP用户无上传权限
5、配置vsftpd.conf(设置虚拟用户配置项)
6、重启vsftpd服务
7、测试虚拟用户登录FTP
.//在配置vsftpd的时候连接vsftpd出现了500 OOPS: cannot change directory:/home/vftpsite
的错误,vftpsite为登录时使用的本地用户名。
解决办法:
也有网上说在终端输入命令:
就OK了!
测试:
二、虚拟用户高级设置:
1、virtual_use_local_privs参数
当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;
当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。
当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,
anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。
2. 建立各个虚拟用户自身的配置文件
添加:
编辑ftp1的配置文件
[root@localhost ~]#vi /etc/vsftpd/vsftpd_user_conf/ftp1
添加:
anon_world_readable_only=NO #开放ftp1的下载权限(只能下载)。注意这个地方千万不能写成YES,否则ftp1将不能列出文件和目录。
编辑ftp2的配置文件
[root@localhost ~]#vi /etc/vsftpd/vsftpd_user_conf/ftp2
添加:
write_enable=YES #开放ftp2的写权限
anon_world_readable_only=NO #开放ftp2的下载权限
anon_upload_enable=YES #开放ftp2的上传权限
anon_mkdir_write_enable=YES #开放ftp2创建目录的权限
anon_other_write_enable=YES #开放ftp2删除和重命名的权限
local_root=/home/ftp2 #用户ftp2对应的默认目录
3、所有虚拟用户使用一般配置
4、各个虚拟用户使用自身配置
编辑ftp1的配置文件
编辑ftp2的配置文件
如果出现:PAM unable to dlopen(/lib/security/pam_userdb.so
PAM adding faulty module: /lib/security/pam_userdb.so
则有可能是64位和32位库的问题,将lib切换成lib64可解决该问题。
参考Blog:
http://yuanbin.blog.51cto.com/363003/129071
http://blog.163.com/mike_homis/blog/static/20104948200951614143913/
CentOS 5.3建立vsftpd虚拟用户
我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。
匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。
本地用户登录:使用系统用户登录,在/etc/passwd中。
虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。
yum -y install vsftpd
一、建立vsftpd虚拟用户:
1、添加虚拟用户口令文件安装vsftpd
[root@localhost ~]#vi /etc/vsftpd/vftpuser.txt
添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。
ftp1 #用户名 123456 #密码 ftp2 #用户名 123456 #密码
2、生成虚拟用户口令认证文件
将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。
首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。
下面使用db_load命令生成虚拟用户口令认证文件。
[root@localhost ~]# db_load -T -t hash -f /home/vuser.txt /etc/vsftpd_login.db -bash: db_load: command not found
出现没有db_load的提示是因为有些db4的包没有安装,需要安装下列包:
db4-*.rpm
db4-tcl-*.rpm
db4-utils-*.rpm
或者直接: yum -y install db4 db4-tcl db4-utils
db_load命令主要是用来生成db数据库使用的
格式:
db_load -T -t hash -f passwd.txt /etc/vsftpd/user_passwd.db
生成一个hash码型的数据库文件供ftp虚拟用户使用。
[root@localhost ~]#[color=blue]db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db[/color]
3、编辑vsftpd的PAM认证文件
在/etc/pam.d目录下,
[color=blue][root@localhost ~]#vi /etc/pam.d/vsftpd[/color]
将里面其他的都注释掉,添加下面这两行:
[color=blue]auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser[/color]
4、建立本地映射用户并设置宿主目录权限
所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。
[root@localhost ~]#useradd -d /home/vftpsite -s /sbin/nologin vftpuser
[root@localhost ~]#chmod 755 /home/vftpsite //网上为700,设置为700后FTP用户无上传权限
5、配置vsftpd.conf(设置虚拟用户配置项)
[root@localhost ~]#vi /etc/vsftpd/vsftpd.conf [color=blue]guest_enable=YES #开启虚拟用户[/color] [color=blue]guest_username=vftpuser #FTP虚拟用户对应的系统用户[/color] [color=blue]pam_service_name=vsftpd #PAM认证文件[/color] [color=blue]listen_port=1221 #监听端口,可选设置[/color] [color=blue]user_config_dir=/etc/vsftpd/vsftpd_user_conf#虚拟用户配置目录[/color]
[color=blue]root@localhost ~]useradd -d /home/vftpsite -s /sbin/nologin vftpuser][/color]
6、重启vsftpd服务
[root@localhost ~]#service vsftpd restart
7、测试虚拟用户登录FTP
C:\Documents and Settings\Administrator>ftp 192.168.2.12 Connected to 192.168.2.12. 220 (vsFTPd 2.0.5) User (192.168.2.12:(none)): ftp1 331 Please specify the password. Password: 500 OOPS: cannot change directory:/home/vftpsiteConnection closed by remote host
.//在配置vsftpd的时候连接vsftpd出现了500 OOPS: cannot change directory:/home/vftpsite
的错误,vftpsite为登录时使用的本地用户名。
解决办法:
[root@localhost ~]# [color=blue]setsebool -P ftp_home_dir on[/color]
也有网上说在终端输入命令:
[root@localhost ~]# [color=blue]setsebool -P ftpd_disable_trans 1[/color] [root@localhost ~]# service vsftpd restart
就OK了!
测试:
C:\Documents and Settings\Administrator>ftp 192.168.2.12 Connected to 192.168.2.12. 220 (vsFTPd 2.0.5) User (192.168.2.12:(none)): ftp1 331 Please specify the password. Password: 230 Login successful.
二、虚拟用户高级设置:
1、virtual_use_local_privs参数
当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;
当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。
当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,
anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。
2. 建立各个虚拟用户自身的配置文件
[root@localhost ~]#vi /etc/vsftpd/vsftpd.conf
添加:
user_config_dir=/etc/vsftpd/vsftpd_user_conf
[root@localhost ~]#mkdir /etc/vsftpd/vsftpd_user_conf
编辑ftp1的配置文件
[root@localhost ~]#vi /etc/vsftpd/vsftpd_user_conf/ftp1
添加:
anon_world_readable_only=NO #开放ftp1的下载权限(只能下载)。注意这个地方千万不能写成YES,否则ftp1将不能列出文件和目录。
编辑ftp2的配置文件
[root@localhost ~]#vi /etc/vsftpd/vsftpd_user_conf/ftp2
添加:
write_enable=YES #开放ftp2的写权限
anon_world_readable_only=NO #开放ftp2的下载权限
anon_upload_enable=YES #开放ftp2的上传权限
anon_mkdir_write_enable=YES #开放ftp2创建目录的权限
anon_other_write_enable=YES #开放ftp2删除和重命名的权限
local_root=/home/ftp2 #用户ftp2对应的默认目录
3、所有虚拟用户使用一般配置
[root@localhost ~]#vi /etc/vsftpd/vsftpd.conf write_enable=YES anonymous_enable=NO local_enable=YES guest_enable=YES guest_username=vftpuser virtual_use_local_privs=NO pam_service_name=vsftpd anon_world_readable_only=NO #可以下载 anon_upload_enable=NO(默认值) #不能上传 anon_mkdir_write_enable=NO(默认值) #不能新建文件夹 anon_other_write_enable=NO(默认值) #不能删除和重命名文件 ftpd_banner=Welcome to yoozhu FTP server xferlog_enable=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES ascii_upload_enable=YES ascii_download_enable=YES tcp_wrappers=NO setproctitle_enable=YES listen_port=21 connect_from_port_20=YES idle_session_timeout=600 data_connection_timeout=120 max_clients=0 max_per_ip=3 local_max_rate=512000 user_config_dir=/etc/vsftpd/vsftpd_user_conf #虚拟用户配置目录
4、各个虚拟用户使用自身配置
[root@localhost ~]#vi /etc/vsftpd/vsftpd.conf write_enable=YES anonymous_enable=NO local_enable=YES guest_enable=YES guest_username=vftpuser virtual_use_local_privs=NO pam_service_name=vsftpd user_config_dir=/etc/vsftpd/vsftpd_user_conf #设定用户配置文件存放目录 ftpd_banner=Welcome to yoozhu FTP server xferlog_enable=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES ascii_upload_enable=YES ascii_download_enable=YES tcp_wrappers=NO setproctitle_enable=YES listen_port=21 connect_from_port_20=YES idle_session_timeout=600 data_connection_timeout=120 max_clients=0 max_per_ip=3 local_max_rate=512000
编辑ftp1的配置文件
[root@localhost ~]#mkdir /etc/vsftpd/vsftpd_user_conf [root@localhost ~]#vi /etc/vsftpd/vsftpd_user_conf/ftp1 anon_world_readable_only=NO
编辑ftp2的配置文件
[root@CentOS5 /]#vi /etc/vsftpd/vsftpd_user_conf/ftp2 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
如果出现:PAM unable to dlopen(/lib/security/pam_userdb.so
PAM adding faulty module: /lib/security/pam_userdb.so
则有可能是64位和32位库的问题,将lib切换成lib64可解决该问题。
参考Blog:
http://yuanbin.blog.51cto.com/363003/129071
http://blog.163.com/mike_homis/blog/static/20104948200951614143913/
发表评论
-
浅析tomcat nio 配置
2011-12-26 17:28 1454出处:http://hi.baidu.com/iamleafy ... -
.bash_profile和.bashrc的说明(转)
2011-09-09 12:46 2004/etc/profile:此文件为系统的每个用户设置环境信息, ... -
Ruby运行环境的安装
2011-05-12 22:31 16861、首先安装RVM,RVM(Ruby Version Mana ... -
(转)基于svnserve的服务器,权限文件authz配置的常见问题及解答
2011-02-24 23:50 1206最近在我用Subversion论坛 ... -
CentOS TCP性能优化
2011-01-19 22:27 3665在/etc/sysctl.conf中加入 fs.file-ma ... -
Tomcat SSL配置
2010-12-31 11:28 1532Tomcat使用SSL有两种方式 ... -
Tomcat整合APR
2010-12-31 09:43 3757tomcat6如果没配置APR,启 ... -
CentOS iptables 设置
2010-12-30 17:39 2232编辑/etc/sysconfig/iptables 然后运行 ... -
linux ln命令使用
2010-12-30 10:56 1563指令名称 : ln 使用权限 : 所有使用者 使用方式 ... -
(转)CentOS服务详解
2010-12-27 21:30 1468NetworkManager 0:关闭 1:关 ... -
FTP主动模式(Port)和被动模式(Pasv)区别
2010-12-24 17:03 35661. 什么是PASV模式和PORT模式? ftp port模式 ... -
(转)Linux logwatch使用笔记
2010-12-24 14:51 1357转自:http://www.187299.com/archiv ... -
Linux SSH配置和禁止Root远程登陆设置
2010-12-24 14:47 11609一、修改vi /etc/ssh/sshd_config 文件 ... -
Linux服务介绍
2010-12-24 11:07 1434Linux服务(Linux services):Network ... -
(转)linux shell的特殊符号
2010-12-02 09:58 2857转自:http://blog.csdn.net/liangjm ... -
(转)chkconfig 命令 、linux七个等级介绍
2010-11-20 11:04 1264转载自:http://hi.baidu.com/yo_life ... -
(转)Linux下chkconfig命令详解
2010-11-20 11:03 831转载自http://hi.baidu.com/longhtml ... -
redhat fedora centos查看服务列表
2010-11-20 10:40 1349检查服务状态: service --status-all s ... -
centos默认语言修改
2010-11-20 10:21 1358# nano /etc/sysconfig/i18n LANG ... -
linux下grep命令详解
2010-11-17 13:27 910linux下grep命令详解 ...
相关推荐
CentOS5.3挂载NTFS CentOS5.3挂载NTFS
CentOS5.3系统CentOS5.3系统
vsftpd虚拟用户的配置
CentOS 5.3下vsftp创建新用户
Centos7下安装vsftpd并启用虚拟用户访问
Centos5.3 下安装Oracle 11g
CentOS 7中vsftpd服务安全部署(匿名用户、本地用户、虚拟用户管理)
LINUX操作系统_CentOS5.3_超详细的安装图文教程.doc
centos5.3 配置DNS详解centos5.3 配置DNS详解centos5.3 配置DNS详解centos5.3 配置DNS详解
此文件由wdlinux收集,整理了centos5.3至5.8DVD版32_64位系统种子码
CentOS 5.3下安装ispCP教程CentOS 5.3下安装ispCP教程CentOS 5.3下安装ispCP教程CentOS 5.3下安装ispCP教程
阿里云服务器centos+apache+php5.3+mysql+Zend Guard Loader+memcached+ftp环境搭建笔记
CentOS5.3下vsftp虚拟用户配置实例,在CentOS5中可通用。
This Course will provide the basic tools, skills and practice to configure, secure and maintain Linux servers.
Centos5.3安装lm_sensors_cpu温度监控 Centos5.3安装lm_sensors_cpu温度监控
Centos7.9安装配置vsftpd
centos7部署vsftpd
CentOS5.3下JDK1.5的最完整安装过程。
Centos5.3安装oracle10g过程 详细
CentOS5.3_05_mysql安装