删除子目录中所有文件的权限

删除子目录中所有文件的权限

我有一个文件夹我的文件夹有很多文件和目录,如下所示:

-rwxrwx--x user1  user1   .
-rwxrwx--x root   root    ..
-rw-rw---- user1  user1   file1
-rw-rw---- user1  user1   file2
-rwxrwx--x user1  user1   dir1

我想要一个用户:掌握谁能够删除所有文件和文件夹。能够做到:

rm -fr myfolder/*

执行以下操作并不能解决问题:

chown user1:master myfolder

因为用户没有子文件夹的写入权限。子文件夹是由用户1随机的。

我无法在一次性操作中更改这些文件的权限/所有者。如果我这样做,user1 将无法再创建/编辑文件。

你有什么建议吗?

答案1

我建议使用 ACL,即类似的东西setfacl -R -m u:master:rwX -m d:u:master:rwX ./myfolder,尤其是第二部分d:u:master:rwX与此相关,因为这意味着在myfolder目录中创建的任何新文件都将获得rwX用户的权限master

答案2

好吧,让我们这样做...

创建特殊组。

user1:~$ sudo groupadd test

品牌user1master成员

user1:~$ sudo usermod -a -G test user1
user1:~$ sudo usermod -a -G test master

递归更改myfolder目录的组和权限

user1:~$ chown -R user1:test myfolder
user1:~$ chmod -R 774 myfolder

然后你就可以得到你想要的remove所有内容。myfolder

如果您只想 rm 文件,则递归选项允许用户 master 也修改 myfolder 的内容,并且对您拥有的目录具有简单的读写权限

相关内容