加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何递归设置权限,700个文件夹和600个文件,不使用find

发布时间:2020-12-14 01:05:44 所属栏目:Linux 来源:网络整理
导读:我试图找出一种方法来为递归设置权限700为特定路径上的目录和子目录和文件600.我会使用这些命令: find / path -type d -print0 | xargs -0 chmod 700 find / path -type f -print0 | xargs -0 chmod 600 但是用户没有运行“find”命令的权限. 作为一种解决
我试图找出一种方法来为递归设置权限700为特定路径上的目录和子目录和文件600.我会使用这些命令:

find / path -type d -print0 | xargs -0 chmod 700

find / path -type f -print0 | xargs -0 chmod 600

但是用户没有运行“find”命令的权限.
作为一种解决方法,我尝试使用setuid sticky bit设置包含来自root用户的上述命令的脚本,以便它将以root权限运行(例如普通用户以root权限运行的passwd或sudo命令):

chmod 4755 script.sh

但是我无法从有限的用户帐户执行脚本,它仍然说我没有运行find命令的权限.

有没有人知道如何在不使用“查找”命令的情况下完成此操作?

编辑:
操作系统:Centos 6.5

解决方法

显然,这很容易实现.有两种方法:仅使用chmod,或在所需路径上设置ACL(访问控制列表):

>使用chmod我会运行:

chmod -R u = rwX,g =,o = / path

对于用户所有者我给大写“X”,所以它只适用于目录而不是文件.

>使用ACL:

setfacl -Rm u :: rwX,g :: 0,o :: 0 / path

setfacl -Rm d:u :: rwX,o :: 0 / path

再次使用大写“X”,因此它仅适用于目录而不适用于文件.第一个命令应用ACL,第二个命令使其成为默认策略,因此新创建的文件将继承所需的权限.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读