linux(ubuntu)上配置vsftpd匿名用户和虚拟用户的注意事项

1.安装

apt-get install vsftpd

2 . 修改配置文件

 vi /etc/vsftpd.conf

2.1 配置匿名用户

anonymous_enable=YES           (YES表示允许匿名登陆)
anon_root=/home/ftp            (匿名用户登陆后的根目录,默认为/srv/ftp)
anon_mkdir_write_enable=YES    (YES表示允许匿名用户新建文件夹)
anon_other_write_enable=YES    (YES表示允许匿名用户修改或删除文件夹)
anon_upload_enable=YES         (YES表示允许匿名用户上传文件)
anon_mask=022                  (表示上传下载文件的掩码,此处权限为777-022=755)

以上配置为对匿名用户权限的配置,安装vsftpd之后,linux系统会自动添加一个名为ftp的用户

cat /etc/passwd  (可查看是否添加)

以上述anon_root = /home/ftp为例,要保证/home/ftp目录为其他用户可读,然后在该路径下新建一个文件夹

sudo mkdir /home/ftp/public
sudo chown ftp /home/ftp/public

注意一定要把public文件夹的所有者改成ftp,这样匿名用户对应在系统中的ftp用户才可以在public文件夹中操作。

ftp localhost

输入用户名: anonymous或ftp
密码: 直接Enter

此时匿名用户登陆到了/home/ftp中

cd public

必须切换到public下才能进行相应权限的操作。

 

2.2 配置虚拟用户

guest_enable=YES                            (允许虚拟用户登陆)
guest_username=vsftpd                       (虚拟用户对应的系统用户名)
allow_writeable_chroot=YES                  (禁止虚拟用户访问根目录外的其他目录)
pam_service_name=vsftpd                     (pam认证)
user_config_dir=/etc/vsftpd/vuser_dir       (虚拟用户外部配置权限文件的路径)

第1步:建立虚拟用户数据库文件:

vi /etc/vsftpd/user.txt

user.txt中单数行放用户名,双数行放密码。

然后生成数据库:

sudo apt-get install db5.3-util
db5.3_load -T -t hash -f /etc/vsftpd/user.txt /etc/vsftpd/login.db

第2步:创建FTP根目录及虚拟用户映射的系统用户:

sudo su mkdir -p /var/ftp
sudo useradd -d /var/ftp -s /usr/sbin/nologin vsftpd
sudo chmod 755 /var/ftp

第3步:建立支持虚拟用户的PAM认证文件。

vim /etc/pam.d/vsftpd
在首行加入以下配置
auth       required     pam_userdb.so db=/etc/vsftpd/login
account    required     pam_userdb.so db=/etc/vsftpd/login

第4步:为虚拟用户设置不同的权限。

 在/etc/vsftpd/vuser_dir下新建一个文件,文件名与虚拟用户名一致,在该文件中即可配置虚拟用户的权限。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装和配置vsftpd服务器并设置虚拟用户的步骤如下: 1. 安装vsftpd服务器: 在Ubuntu终端中运行以下命令安装vsftpd服务器: ``` sudo apt-get update sudo apt-get install vsftpd ``` 2. 配置vsftpd服务器: 打开vsftpd配置文件: ``` sudo nano /etc/vsftpd.conf ``` 3. 修改以下配置项: - 启用虚拟用户功能,将以下行取消注释并修改为: ``` virtual_use_local_privs=YES guest_enable=YES guest_username=ftp user_sub_token=$USER local_root=/home/ftp/$USER chroot_local_user=YES hide_ids=YES ``` - 禁用匿名访问,将以下行取消注释并修改为: ``` anonymous_enable=NO ``` - 允许写入权限,将以下行取消注释并修改为: ``` write_enable=YES local_umask=022 file_open_mode=0777 ``` 4. 保存并关闭文件。 5. 创建虚拟用户: 创建一个系统用户用于管理虚拟用户: ``` sudo adduser ftp ``` 6. 创建虚拟用户配置文件: 创建一个文件来存储虚拟用户用户名和密码: ``` sudo nano /etc/vsftpd/virtual_users.txt ``` 7. 在文件中添加虚拟用户用户名和密码,每行一个用户,格式为`用户名:密码`,例如: ``` user1:password1 user2:password2 ``` 8. 保存并关闭文件。 9. 生成虚拟用户数据库文件: 运行以下命令生成虚拟用户数据库文件: ``` sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db ``` 10. 设置权限: 运行以下命令设置虚拟用户数据库文件的权限: ``` sudo chmod 600 /etc/vsftpd/virtual_users.db ``` 11. 重启vsftpd服务: 运行以下命令重启vsftpd服务以使配置生效: ``` sudo service vsftpd restart ``` 现在,您已经成功安装和配置vsftpd服务器,并设置了虚拟用户

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值