怎么让LINUX下的FTP用户只有上传、下载的权限,但不能删除FTP上的文件???
发布网友
发布时间:2022-05-09 14:34
我来回答
共2个回答
热心网友
时间:2024-02-02 07:24
希望对你有帮助:
实现不同用户不同权限
现在我们就来实现三个用户的不同权限:
a.upload用户,可以上传下载,可以新建文件夹,但不能删除文件和文件夹,不能重命名原有文件和文件夹;
b.download用户,只能下载;
c.admin用户,管理员,可以上传,可以下载,可以新建文件夹,可以删除和更改文件和文件夹名。
这些用户都不能登录系统,并且用ftp连接时锁定在自己的家目录中不能进入系统文件夹。
cat <logins.txt
>upload
>******* #upload用户的密码
>download
>*******
>admin
>****************
>!
说明,此文本文件的格式是:单数行为用户名,偶数行为密码
#db_load -T -t hash -f logins.txt /etc/vsftpd_login.db
#chmod 600 /etc/vsftpd_login.db
#useradd -d /home/ftpsite virtual;
#chmod 700 /home/ftpsite;
#su - virtual -c "echo hello>/homt/ftpsite/test.file
(建立虚拟用户所要访问的ftp目录并设置仅virtual用户访问的权限和创建一个供下载实验的文件)
#vi /etc/vsftpd.conf在此文件中插入下面的配置语句
guest_enable=YES(启用虚拟用户)
guest_username=virtual(将虚拟用户映射为本地virtual用户)
pam_service_name=vsftpd(指定PAM配置文件为在/etc/pam.d/下的vsftpd)
user_config_dir=/etc/vsftpd_user_conf(指定不同虚拟用户配置文件的存放路径)
保存退出
#mkdir /etc/vsftpd_user_conf
开放不同用户的不同权限
echo "anon_world_readable_only=NO">/etc/vsftpd_user_conf/download(开放download用户的下载权限——只能下载;注意这个不地方不要写成YES,否则将不能列出文件和目录)
#cp /etc/vsftpd_user_conf/download /etc/vsftpd_user_conf/upload
vi /etc/vsftpd_user_conf/upload,添加下列行
write_enable=YES (增加写权限)
anon_upload_enable=YES(增加上传权限)
anon_mkdir_write_enable=YES (增加创建目录的权限)
#cp /etc/vsftpd_user_conf/upload /etc/vsftpd_user_conf/admin
增加一行:
anno_other_writer_enable=YES(增加管理员用户的删除/重命名的权限)
测试
killall -9 vsftpd;/usr/local/sbin/vsftpd /etc/vsftpd.conf &
以用户名download和你设置的密码登录,ls,可以看到文件,下载,成功!put一个文件,提示
Permission denied。rename test.file同样权限被拒绝;delete test.file同样不成功!
输入quit退出,以upload用户登录,OK!可以上传,下载,mkdir lsf,提示“/lsf" created;rename lsf lsf1提示Permission denied,删除文件同样不成功!
输入quit退出,以admin用户登录,可以有上述所有权限,然后rmdir lsf,提示Remove directory oeration successful;delete test.file提示Delete operation successful!OK,大功告成了!
热心网友
时间:2024-02-02 07:24
LINUX中FTP服务默认为VSFTPD,配置用户权限使用vsftpd.conf文件
进行如下配置,附加配置说明
anon_world_readable_only=NO (下载权限 开放download用户的下载权限——只能下载;注意这个不地方不要写成YES,否则将不能列出文件和目录)
write_enable=YES (写权限)
anon_upload_enable=YES(上传权限)
anon_mkdir_write_enable=YES (创建目录的权限)
anno_other_writer_enable=NO(删除/重命名的权限 设置此项为NO则不能删除文件)