会员登录 | 会员注册 | 意见建议 | 网站地图

站长资源综合门户

当前位置:首页 > 站长学院 > 建站经验 > 深入浅出 Linux Vsftpd成立多虚拟用户教程

深入浅出 Linux Vsftpd成立多虚拟用户教程

时间:2012-06-26 19:11:37   作者:   来源:   点击:

Vsftpd 是一款轻量级并有着平安与简略单纯等特性的FTP办事器法度,破受欢迎。在 Linux 中一旦配置好 Vsftpd 情况便可以一劳永逸,任意的迁移到近似的办事器之上,因此我们对配置过程做个系统的体会也是有需要的。

本文的任务是成立两个虚拟账户,第一个账户(bugxm_admin)拥有可读写指定目录文件、不成登岸系统权限,第二个(bugxm_general)只拥有只读被绑定目录中文件的权限,依然不克不及登岸系统。新建一个虚拟用户并且公道分派权限、绑定目录,这和IDC商的虚拟主机效果是一样的。为了便利,直接采取的 Root 账户操作。

1、安装 Vsftpd 法度,为了便利我们采取以下体例进行自动安装

yum install -y vsftpd

2、成立"bugxm_admin"与"bugxm_general"这两个账户,密码暂定为"123456",其中奇数行暗示账号,偶数行暗示密码。

vi /etc/vsftpd/vm_user.txt

bugxm_admin

123456

bugxm_general

123456

2-1、成立 Vsftpd 认证文件

db_load -T -t hash -f /etc/vsftpd/vm_user.txt /etc/vsftpd/vm_user.db

注: 执行上条命令若提示:"bash: db_load: command not found",请安装"db4-utils",具体操作如下

yum install -y db4 db4-utils

注:如果呈现"db_load: unexpected end of input data or key/data pair、db_load: odd number of key/data pairs"提示,请在 vm_user.txt 最后一行添加空行,即回车一下。

3、编辑虚拟用户需要用到的PAM认证配置文件

rm -f /etc/pam.d/vsftpd

vi /etc/pam.d/vsftpd

3-1、PAM认证配置文件输入以下内容

auth required pam_userdb db=/etc/vsftpd/vm_user

account required pam_userdb db=/etc/vsftpd/vm_user

4、给 bugxm_admin、bugxm_general 这两个账户增加属性,节制拜候目录、权限等,首先成立 bugxm_admin 账户

mkdir /etc/vsftpd/users

vi /etc/vsftpd/users/bugxm_admin

4-1、输入以下内容

local_root=/data/htdocs/bugxm_admin

write_enable=YES

anon_umask=022

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

4-2、以下是对上面这步操作的注释弥补

local_root=/data/htdocs/bugxm_admin #根目录绑定

write_enable=YES #暗示拥有可写权限

anon_umask=022 #上传文件的权限,022暗示文件夹755、文件644权限

anon_world_readable_only=NO #暗示用户具有下载权限

anon_upload_enable=YES #暗示用户有权限上传文件

anon_mkdir_write_enable=YES #暗示用户具有成立和删除目录的权限

anon_other_write_enable=YES #暗示用户具有文件改名和删除文件的权限

4-3、成立 bugxm_general 用户

vi /etc/vsftpd/users/bugxm_general

4-4、输入以下内容

local_root=/data0/htdocs/bugxm_general

anon_world_readable_only=NO

5、两个用户成立完成之后,起头配置 Vsftpd。

vi /etc/vsftpd/vsftpd.conf

5-1、为平安斟酌,我们配置不允许匿名拜候。

默认:anonymous_enable=YES

改成:anonymous_enable=NO

5-2、YES 暗示用户不克不及分开被我们指定的上级的任何目录。

默认:#chroot_list_enable=YES

改成:chroot_list_enable=YES

5-3、允许用户使用ASCII上传文件。

默认:#ascii_upload_enable=YES

改成:ascii_upload_enable=YES

5-4、允许用户使用ASCII下载文件。

默认:#ascii_download_enable=YES

改成:ascii_download_enable=YES

5-5、在末尾添加以下内容

guest_enable=YES

guest_username=ftp

user_config_dir=/etc/vsftpd/users

6、重新启动 Vsftpd (service vsftpd restart),呈现了 500 OOPS: could not open chroot() list file:/etc/vsftpd/chroot_list 毛病,执行以下操作便可以解决问题。

touch /etc/vsftpd/chroot_list

service vsftpd restart

Shutting down vsftpd: [ OK ]

Starting vsftpd for vsftpd: [ OK ]

6-1、用软件毗连 ftp 办事器时,呈现了以下问题,防火墙开启 21 端口就可以取得解决。

状态: 正在毗连 192.168.182.128:21.

毛病: 毗连超时

毛病: 无法毗连到办事器

状态: 正在期待重试。

6-2、在防火墙中开启 21 端口

vi /etc/sysconfig/iptables

任意位置添加以下内容

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21-j ACCEPT

重启防火墙

/sbin/service iptables restart

6-3、再次毗连时呈现了不克不及切换目录毛病"500 OOPS: cannot change directory:/data/htdocs/bugxm_admin",执行以下操作便可解决。

setsebool -P ftpd_disable_trans 1

service vsftpd restart

6-4、终于毗连上了!

分享到:

网友评论

热门建站经验