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-)