linux安装ftp服务器指定访问目录,CentOS 安装vsftp 虚拟用户,单独访问目录

CentOS 安装vsftp 虚拟用户,单独访问目录

安装vsftp:

yum install vsftpd

1. vi account.txt

ftp_user

ftp_password

2.生成口令库文件,并修改其权限:

cd /etc/vsftpd/

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

chmod 600 /etc/vsftpd/account.db

3.新建一个虚拟用户的PAM文件。加上如下两行内容:

vi /etc/pam.d/vsftp.vu

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/account

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/account

4.建立虚拟用户,设置该用户所要访问的目录,并设置虚拟用户访问的权限

useradd -d /root/share_encoding_xml/ftpfile virtualuser

chmod 600 /root/share_encoding_xml/ftpfile

经过该步骤的设置,/root/share_encoding_xml/ftpfile就是virtualuser用户的主目录,

除root用户之外,只有该用户具有对该目录的读、写和执行的权限。

5.编辑/etc/vsftpd/vsftpd.conf文件,使其整个文件内容如下所示(去掉了注释内容):

anonymous_enable=NO

local_enable=YES

local_umask=022

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

one_process_model=NO

chroot_local_user=YES

ftpd_banner=Welcom to my FTP server.

anon_world_readable_only=NO

guest_enable=YES

guest_username=virtualuser

pam_service_name=vsftp.vu

上面代码中,guest_enable=YES表示启用虚拟用户;guest_username=virtual则是将虚拟用户映射为本地用户,

这样虚拟 用户登录后才能进入本地用户virtual的目录/ftpsite;

pam_service_name=vsftp.vu指定PAM的配置文件为 vsftp.vu。

6.重新启动VSFTP:

service vsftpd restart

7.以虚拟用户gou(Linux中并无该账号)进行测试:

# ftp 127.0.0.1

Connected to 127.0.0.1 (127.0.0.1).

220 Welcom to my FTP server.

Name (127.0.0.1:root): ftp_user

331 Please specify the password.

Password:

230 Login successful. Have fun.

Remote system type is UNIX.

Using binary mode to transfer files.

8. 在虚拟FTP服务器中,也可以对各个用户的权限、目录设置进行设置。方法是在/etc/vsftpd.conf文件中添加如下一行:

user_config_dir=/etc/vsftpd/vsftpd_user_conf

然后在用户配置文件目录下创建相应的用户配置文件,比如为上述名为ftp_user的用户创建一个配置文件(假设配置文件目录为/etc/vsftpd_user_conf):

#vi /etc/vsftpd_user_conf/ftp_user

local_root=/root/share_encoding_xml/ftpfile/ftp_user

write_enable=NO

anono_upload_enable=NO

9.新增FTP用户的步骤

(1).在account.txt中添加用户名和密码

(2).运行如下命令,将用户名和密码添加到数据库中

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

(3).在/root/share_encoding_xml/ftpfile中新建一个文件夹,与用户明相同

(4).在vsftpd_user_conf文件夹下新建和用户名相同的文件,并在其中加入

local_root=/root/share_encoding_xml/ftpfile/用户名

问题:Centos5.5 vsftp虚拟账户无法登陆

查看日志  more /var/log/secure

出现错误:[error: /lib/security/pam_userdb.so: wrong ELF cla

查看步骤3 lib64 是否是 lib 如果是lib改为lib640b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值