VSFTP本地用户访问-设置

1、本地用户基本配置档设置如下

vim /etc/vsftpd/vstfpd.conf

local_enable=YES  -------允许本地用户登陆

write_enable=YES -----允许执行FTP命令,如果禁用,将不能进行上传、下载、删除、重命名等操作

local_umask=022  ---------本地用户上传umask值

注:默认为登录帐号的家目录。

2、创建自定义的登录ftp目录

mkdir /tmp/ftp

设置selinux上下文

semanage fcontext -a -t public_content_rw_t '/tmp/ftp(/.*)?'

restorecon -Rv /tmp/ftp/

3、在配置档中加入以下参数,修改用户登录的目录

vim /etc/vsftpd/vstfpd.conf

local_root=/tmp/ftp  ------设置本地用户的FTP根目录

chroot_local_user=YES  ------把用户限制到指定目录或主目录,即开启用户目录限

allow_writeable_chroot=YES  -------用户被限制在主目录,充用户对主目录写权限否者登录报错。

anon_other_write_enable=yes  ------允许查看删除文件和目录客戶端ls報425 Failed to establish

reverse_lookup_enable=NO 关闭DNS反向解析,提高登录速度,默认为开启

4、重启生效

systemctl restart vsftpd

5、创建ftp测试帐号

useradd test  #创建测试帐号

echo redhat | passwd --stdin test  #设定相关密码

groupadd tg  #创建tg组

gpasswd -a test tg  #把创建本地用户添加tg组中

chown root:tg /tmp/ftp #修改目录的所属组

chmod 775/tmp/ftp  #修改目录权限

注:按上面操作后,本地用户才能正常上传文件,6-7步骤为特殊设置,可根据需要配置。

6、排除特殊用户不受限制

开启用户目录限制后,排除特殊用户不受限制,方法如下:

vim /etc/vsftp.conf

Chroot_list_enable=YES

Chroot_list_file=/etc/vsftpd/chroot_list ----写入些文件的用户,可以访问任何目录。

注:vim /etc/vsftpd/chroot_list需手动创建chroot_lis文件,如果不创建,其他用户也将不能使用。

7、通过文件限制用户访问

7.1通过白名限制

7.2、通过黑名限制

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1. 安装vsftpd 在终端中输入以下命令安装vsftpd: ``` sudo apt-get update sudo apt-get install vsftpd ``` 2. 配置vsftpd 在终端中输入以下命令打开vsftpd的配置文件: ``` sudo nano /etc/vsftpd.conf ``` 在文件中添加以下配置: ``` listen=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/private/vsftpd.pem guest_enable=YES guest_username=ftp virtual_use_local_privs=YES user_sub_token=$USER local_root=/home/$USER/ftp ``` 解释一下这些配置: - `listen=YES`:允许vsftpd监听网络连接。 - `anonymous_enable=NO`:禁用匿名访问- `local_enable=YES`:允许本地用户访问- `write_enable=YES`:允许上传和下载文件。 - `local_umask=022`:设置默认的权限掩码。 - `dirmessage_enable=YES`:允许在目录中显示消息。 - `use_localtime=YES`:使用本地时间。 - `xferlog_enable=YES`:启用传输日志。 - `connect_from_port_20=YES`:使用端口20进行数据传输。 - `chroot_local_user=YES`:将用户锁定在其主目录中。 - `secure_chroot_dir=/var/run/vsftpd/empty`:将虚拟用户锁定在安全的目录中。 - `pam_service_name=vsftpd`:使用PAM进行身份验证。 - `rsa_cert_file=/etc/ssl/private/vsftpd.pem`:指定SSL证书文件。 - `guest_enable=YES`:启用虚拟用户- `guest_username=ftp`:指定虚拟用户用户名。 - `virtual_use_local_privs=YES`:使用本地权限。 - `user_sub_token=$USER`:将$USER替换为虚拟用户用户名。 - `local_root=/home/$USER/ftp`:指定虚拟用户的主目录。 3. 创建虚拟用户 在终端中输入以下命令创建一个虚拟用户: ``` sudo useradd -d /home/vsftpd/ftp -s /bin/false vsftpd ``` 设置用户的密码: ``` sudo passwd vsftpd ``` 4. 创建虚拟用户的主目录 在终端中输入以下命令创建虚拟用户的主目录: ``` sudo mkdir /home/vsftpd/ftp sudo chown nobody:nogroup /home/vsftpd/ftp sudo chmod a-w /home/vsftpd/ftp ``` 5. 创建虚拟用户的目录 在终端中输入以下命令创建虚拟用户的目录: ``` sudo mkdir /home/vsftpd/ftp/files sudo chown vsftpd:nogroup /home/vsftpd/ftp/files sudo chmod u+rwx,g+rx,o-rwx /home/vsftpd/ftp/files ``` 6. 重启vsftpd服务 在终端中输入以下命令重启vsftpd服务: ``` sudo service vsftpd restart ``` 现在,虚拟用户已经可以连接到vsftpd服务器,并且只能上传和下载文件,不能够修改和删除文件的权限。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码哝小鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值