Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2499979
  • 博文数量: 867
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 9800
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-27 14:44
文章分类

全部博文(867)

文章存档

2007年(6)

2006年(861)

我的朋友

分类: LINUX

2006-09-07 21:03:03



下面是以独立运行的vsftpd为例进行配置,具体操作如下:

生成虚拟用户口令文件
[root@www vsftpd]# cat <login.txt
>bruce
>111
>guoxin
>111
>!
[root@www vsftpd]#
此本本文件的格式是:单数行为用户名,偶数行为口令。

下面生成口令库文件
[root@www vsftpd]# db_load -T -t hash -f login.txt /etc/vsftpd/vsftpd_login.db

[root@www vsftpd]# chmod 600 /etc/vsftpd/vsftpd_login.db

[root@www vsftpd]# vi /etc/pam.d/vsftpd.vu

auth     required   /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account   required   /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
保存后退出vi


建立虚拟用户所需访问的目录并设置仅virtual用户访问的权限
[root@www vsftpd]# mkdir /home/ftpsite

[root@www vsftpd]# useradd -d /home/ftpsite virtual

[root@www vsftpd]# chmod 700 /home/ftpsite/

在目录中生成测试文件
[root@www vsftpd]# su - virtual -C "echo hello>/home/ftpsite/test_file"


然后配置vsftpd文件
以下是我的vsftpd.conf配置文件,大家可以参考下:

[root@www vsftpd]# more /etc/vsftpd/vsftpd.conf
max_clients=30
max_per_ip=4
anonymous_enable=NO
local_enable=YES
write_enable=NO
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_world_readable_only=NO
xferlog_enable=YES
connect_from_port_20=YES
hide_ids=YES
pasv_min_port=50000
pasv_max_port=60000
ls_recurse_enable=NO
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=120
async_abor_enable=YES
ftpd_banner=Welcome to Bruce FTP service.
chroot_list_enable=YES
accept_timeout=60
connect_timeout=60
userlist_enable=YES
listen=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
user_sub_token=$USER #为每个虚拟用户分配各自的目录
这样,一台基于虚拟用户的FTP服务器配好了。

接下来为不同的虚拟用户分配不同的权限
[root@www vsftpd]# mkdir /etc/vsftpd/vsftpd_user_conf   //不同用户的配置文件的存放路径

[root@www vsftpd]# vi /etc/vsftpd/vsftpd.conf     //加入一行:
user_config_dir=/etc/vsftpd/vsftpd_user_conf

[root@www vsftpd]# touch bruce

[root@www vsftpd]# touch guoxin

现在来设置虚拟用户bruce的权限,开启bruce的读权限,且进入FTP服务器后,访问/home/bruce目录

[root@www vsftpd]# echo "anon_world_readable_only=NO">/etc/vsftpd/vsftpd_user_conf/bruce

[root@www vsftpd]# echo "local_root=/home/bruce">/etc/vsftpd/vsftpd_user_conf/bruce

用户bruce现在只能浏览、下载文件,且只能进入/home/bruce目录。

现在来设置虚拟用户guoxin的权限,开启guoxin的读,写,建文件夹,移动文件夹,改名,删除文件及文件夹权限,进入的是默认的目录。

[root@www vsftpd]# vi /etc/vsftpd/vsftpd_user_conf/guoxin     //加入以下内容:
local_root=/home/ftp/$USER #用户主目录
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
//存盘退出vi

经过以上的配置,用户guoxin不仅具有用户bruce具有的浏览、下载权限外,还具有上传文件和文件夹,改名,删除文件和文件夹及移动文件和

文件夹的权限。

重新启动vsftpd

[root@www vsftpd]# service vsftpd restart


基于mysql的虚拟用户登录请参考


阅读(1050) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~