仅更改其他人的权限

时间:2016-06-27 10:32:13

标签: linux file-permissions chmod

我在HDFS上有以下目录(松散地遵循POSIX模型):

[ojoqcu@sandbox ~]$ hdfs dfs -ls /
Found 11 items
drwxrwxrwx   - yarn   hadoop          0 2016-03-14 14:19 /app-logs
drwxr-xr-x   - hdfs   hdfs            0 2016-06-27 09:40 /apps
drwxr-xr-x   - yarn   hadoop          0 2016-03-14 14:19 /ats
drwxr-xr-x   - hdfs   hdfs            0 2016-03-14 14:50 /demo
drwxr-xr-x   - hdfs   hdfs            0 2016-03-14 14:19 /hdp
drwxr-xr-x   - mapred hdfs            0 2016-03-14 14:19 /mapred
drwxrwxrwx   - mapred hadoop          0 2016-03-14 14:19 /mr-history
drwxr-xr-x   - hdfs   hdfs            0 2016-03-14 14:42 /ranger
drwxrwxrwx   - spark  hadoop          0 2016-06-27 10:02 /spark-history
drwxrwxrwx   - hdfs   hdfs            0 2016-06-27 09:38 /tmp
drwxr-xr-x   - hdfs   hdfs            0 2016-06-27 09:38 /user

显而易见,其他人'可以在这些目录上自由操作。

我希望保持所有者和群组权限不变/原样,但更改其他人'自定义表格,例如

drwxr-xr-x   - hdfs   hdfs            0 2016-06-27 09:40 /apps

to

drwxr-x---   - hdfs   hdfs            0 2016-06-27 09:40 /apps

drwxr-xr-x   - hdfs   hdfs            0 2016-03-14 14:19 /hdp

to

drwxr-xr--   - hdfs   hdfs            0 2016-03-14 14:19 /hdp

在极端情况下,我可能只需要向其他用户提供只读或无访问权限,例如:

drwxrwxr--   - yarn   hadoop          0 2016-03-14 14:19 /app-logs
drwxr-xr--   - hdfs   hdfs            0 2016-06-27 09:40 /apps
drwxr-xr--   - yarn   hadoop          0 2016-03-14 14:19 /ats
drwxr-xr--   - hdfs   hdfs            0 2016-03-14 14:50 /demo
drwxr-xr--   - hdfs   hdfs            0 2016-03-14 14:19 /hdp
drwxr-xr--   - mapred hdfs            0 2016-03-14 14:19 /mapred
drwxrwxr--   - mapred hadoop          0 2016-03-14 14:19 /mr-history
drwxr-xr--   - hdfs   hdfs            0 2016-03-14 14:42 /ranger
drwxrwxr--   - spark  hadoop          0 2016-06-27 10:02 /spark-history
drwxrwxr--   - hdfs   hdfs            0 2016-06-27 09:38 /tmp
drwxr-xr--   - hdfs   hdfs            0 2016-06-27 09:38 /user

如何在不指定所有者和组的位的情况下递归执行此操作?

1 个答案:

答案 0 :(得分:1)

从这里采取:https://www.washington.edu/computing/unix/permissions.html

  

要更改文件的模式,请使用chmod命令。一般形式是

  chmod X@Y file1 file2 ...
     

其中:X是字母'u'(对于所有者),'g'的任意组合(对于   group),'o'(对于其他人),'a'(对于所有人;也就是对于'ugo'); @是   “+”表示添加权限,“ - ”表示删除权限,或“=”表示删除权限   绝对分配权限;和Y是'r','w'的任意组合,   'X'。以下是一些例子:

 chmod u=rx file        (Give the owner rx permissions, not w)
 chmod go-rwx file      (Deny rwx permission for group, others)
 chmod g+w file         (Give write permission to the group)
 chmod a+x file1 file2  (Give execute permission to everybody)
 chmod g+rx,o+x file    (OK to combine like this with a comma)

所以根据这个,答案将是:

chmod -R o-wx path