Linux命令 -- chmod

Linux命令 -- chmod

  • 参数含义
  • 权限说明
  • 修改文件权限
  • 修改目录权限

参数含义

文件用户

  • u 文件所有者
  • g 文件所有者同组的用户
  • o 其它用户
  • a 所有用户

文件权限

  • r 读权限(对应数值4)
  • w 写权限(对应数值2)
  • x 执行权限(对应数值1)

命令参数

  • -c 打印权限改变信息
  • -v 打印详细信息
  • -R 递归改变文件夹及其下所有文件的权限

常用操作

  • 增加权限:chmod[用户]+[权限][文件名] 或 chmod[数字权限][文件名]
  • 解除权限:chmod[用户]-[权限][文件名] 或 chmod[数字权限][文件名]

权限说明

[hdfs@vml ~]$ ll
total 0
[hdfs@vml ~]$ drwxrwxr-x 2 hdfs hdfs 27 Jul 29 08:03 testdir
[hdfs@vml ~]$ ---x------ 1 hdfs hdfs 27 Jul 29 08:05 asd.txt

对于asd.txt文件,- 代表它是一个普通文件,- - x代表文件所有者拥有执行权限,- - - 代表与所有者属同一用户组用户的权限,- - - 代表其他用户的权限。也就是1+3+3+3,一共10个参数。

修改文件权限

# 给当前用户添加读写权限
[hdfs@vml ~]$ chmod u+rw asd.txt
[hdfs@vml ~]$ ll
total 0
[hdfs@vml ~]$ -rwx------ 1 hdfs hdfs 27 Jul 29 08:05 asd.txt

# 给当前用户添加读写执行权限(7),同组用户添加读写权限(6),其他用户不添加权限(0)
[hdfs@vml ~]$ chmod 760 asd.txt
[hdfs@vml ~]$ ll
total 0
[hdfs@vml ~]$ -rwxrw---- 1 hdfs hdfs 27 Jul 29 08:05 asd.txt
# 解除同组用户的读写权限
[hdfs@vml ~]$ chmod g-rw asd.txt
[hdfs@vml ~]$ ll
total 0
[hdfs@vml ~]$ -rwx------ 1 hdfs hdfs 27 Jul 29 08:05 asd.txt

# 给当前用户添加执行权限(1),同组用户无权限(0),其他用户无权限(0)
[hdfs@vml ~]$ chmod 100 asd.txt
[hdfs@vml ~]$ ll
total 0
[hdfs@vml ~]$ ---x------ 1 hdfs hdfs 27 Jul 29 08:05 asd.txt

修改目录权限

# 解除所有用户对testdir目录的执行权限
[hdfs@vml do]$ ll
total 0
[hdfs@vml do]$ drwxrwxrwx 2 hdfs hdfs 27 Jul 29 08:03 testdir
[hdfs@vml do]$ chmod a-x testdir
[hdfs@vml do]$ ll
total 0
[hdfs@vml do]$ drw-rw-rw- 2 hdfs hdfs 27 Jul 29 08:03 testdir

# 给testdir目录及其子目录或子文件,添加所有权限(读写执行,三种权限和为7)
[hdfs@vml do]$ chmod 777 -R testdir
[hdfs@vml do]$ ll
total 0
[hdfs@vml do]$ drwxrwxrwx 2 hdfs hdfs 27 Jul 29 08:03 testdir

-c 参数查看权限的变化,-v 查看现在拥有的权限

[hdfs@vml do]$ ll
total 0
[hdfs@vml do]$ drwxrwxrwx 2 hdfs hdfs 27 Jul 29 08:03 testdir
[hdfs@vml do]$ chmod -c a-x testdir
mode of 'testdir' changed from 0777 (rwxrwxrwx) to 0666 (rw-rw-rw-)
[hdfs@vml do]$ chmod -v a-x testdir
mode of 'testdir' retained as 0666 (rw-rw-rw-)

你可能感兴趣的:(Linux,linux)