最近公司需要虚拟用户的ftp账号,由于以前都是匿名ftp的方式进行访问,于是在网上查看资料并整理了如下文档
一 、 安装相关软件
[root@localhost ~]# yum install -y vsftpd
[root@localhost ~]# yum install -y db4-utils
二、生成db文件
创建文本文件
[root@localhost ~]# cat ftpuser.txt
a #用户名
123456 #密码
创建db文件
[root@localhost ~]# db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db
[root@localhost ~]# chmod 600 /etc/vsftpd/vsftpd_login.db
三、创建pam认证文件
[root@localhost ~]# vim /etc/pam.d/ftp.vu
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login #如果你是是32位操作系统请主机/lib 目录下是否存在文件
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
四、创建虚拟映射用户
[root@localhost ~]# useradd -d /cloud/picc/ -s /sbin/nologin virtual
[root@localhost ~]# chmod 700 /cloud/picc/
五、修改主配置文件
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=picc
pam_service_name=ftp.vu
user_config_dir=/etc/vsftpd/vsftpd_user_conf
六、创建虚拟用户配置文件
[root@localhost ~]# mkdir /etc/vsftpd/user_config_dir
创建和虚拟用户相对应的目录(和上面ftpuser.txt文件中的用户名保持一致)
[root@localhost user_config_dir]# cat a
anon_upload_enable=YES #开启上传权限
download_enable=YES #开启下载权限
anon_other_write_enable=YES #开启删除权限
anon_mkdir_write_enable=YES #创建目录的权限
local_root=/cloud/picc #设置此虚拟用户的加目录
七、验证可行性
[root@localhost vsftpd_user_conf]# lftp a@127.0.0.1
Password:
lftp a@127.0.0.1:~> put /root/install.log
29551 bytes transferred
lftp a@127.0.0.1:/> lcd /root/
lcd ok, local cwd=/root
lftp a@127.0.0.1:/> ls
drwxr-xr-x 2 0 0 4096 Jan 18 05:47 aa
-rw-r--r-- 1 0 0 0 Jan 18 05:48 bb
-rw------- 1 502 502 29551 Jan 18 05:53 install.log
lftp a@127.0.0.1:/> get bb
lftp a@127.0.0.1:/> ls
drwxr-xr-x 2 0 0 4096 Jan 18 05:47 aa
-rw-r--r-- 1 0 0 0 Jan 18 05:48 bb
-rw------- 1 502 502 29551 Jan 18 05:53 install.log
lftp a@127.0.0.1:/> !ls /root/
anaconda-ks.cfg files install.log.syslog logins.txt service.sh
bb install.log iptables.sh rhel-server-6.2-x86_64-dvd.iso
lftp a@127.0.0.1:/> mkdir a
mkdir ok, `a' created
lftp a@127.0.0.1:/> rm -rf a
rm ok, `a' removed
lftp a@127.0.0.1:/>
vsftpd 虚拟用户实现
最新推荐文章于 2023-12-15 16:32:36 发布