您的位置:首页 > 编程语言 > PHP开发

vsftpd 虚拟用户 安装配置

2012-04-20 11:41 330 查看
1. 安装 vsftpd 运行 yum install vsftpd . 默认rpm 方式安装..
2. 修改 vsftpd.cnf 配置文件 ( /etc/vsftpd 目录下)
查找 anonymous_enable=YES 修改为 anonymous_enable=NO
anon_upload_enable=YES 修改为 anon_upload_enable=NO 此选项一般被 # 注释
anon_mkdir_write_enable=YES 修改为 anon_mkdir_write_enable=NO 此选项一般被 # 注释

在文件最后添加下面 几项:
guest_enable=YES
guest_username=noah (noah 虚拟用户登录,下面会创建)
user_config_dir=/etc/vsftpd/conf ( 虚拟用户的配置文件路径)
chroot_local_user=YES
#virtual_use_local_privs=YES
user_sub_token=$USER
port_promiscuous=YES (是否检测用户端口,可以实现站站对传)

3. 创建虚拟用户列表文件。 名字随便起 ,这里我用 userlist 内容为 :
jicki //用户名
123456 //密码
user //用户名
12345 //密码

4. 将 虚拟用户列表文件userlist 转换成 数据文件 (由于虚拟用户登录时不是直接使用的文本文件,而是使用数据文件。)
将 文本文件 转换成 数据文件 需要安装 db4-utils 这个软件 运行 yum install db4-utils 进行安装就可以了。
运行 db_load -T -t hash -f userlist userlist.db 就会生成 userlist.db 这个文件。

5. 在 /etc/vsftpd 目录下 创建 conf 文件夹( mkdir conf ) 用于存放虚拟用户的配置文件。
在conf 文件夹下创建 用户配置文件 ( vi jicki ) 内容如下:
local_root=/home/jicki (虚拟用户的文件目录)
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

6. 进入 home 目录 创建 jicki 文件夹 (mkdir jicki) 然后创建noah 虚拟用户。
运行 useradd -d /home/jicki noah 参数-d 用于指定用户目录。
然后再修改 jicki 目录的拥有者和拥有组
运行 chown noah. jicki 将 jicki 文件夹 的拥有者 和 拥有组 都改成 noah。
使用 ls -lt 可查看。 drwxr-xr-x 2 noah noah 4096 08-31 13:39 jicki

7. 最后我们还要修改 /etc/pam.d/vsftpd 文件。
清空里面配置 只留下面两句
auth required pam_userdb.so db=/etc/vsftpd/userlist
account required pam_userdb.so db=/etc/vsftpd/userlist
然后重启 vsftpd 。 运行 service vftpd restart

然后我们测试一下 是否可以连接 运行
lftp jicki@localhost 输入密码 进去以后 查看文件夹下面的文件。
--------------------------------------------------------------------------------------------------
错误问题分析
1: Login failed: 500 OOPS: cannot change directory 错误
这个错误是因为 SElinux 的问题...
setsebool ftpd_disable_trans 1
service vsftpd restart
可以解决问题.........
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  VSftpd