Linux中的主要权限有: R(读), W(写), X(执行)
两大文件类型目录和文件, 分别对应上面的三种权限,
目录:
R: 可以用ls -l命令查看目录自己的元数据
W:可以在此目录中创建或者删除文件, 前提是一定要有执行权限
X: 可以cd到目录中,执行相关操作
文件:
R: 可以用ls -l命令查看文件的元数据
W: 可以修改文件
X: 可以执行文件(启动成进程,并且提给进程), 默认文件没有执行权限, 为了避免权限过高的人误运行脚本文件.
下面说下文件或目录权限修改的命令的几种格式
1.八进制权限修改模式
chmod [OPTION]... OCTAL-MODE FILE...
用八进制码来表示权限
每个文件都有属主, 属组, 和其他关系, 且分别对应RWX, 所有当我们ls -l查看某个文件时可以看到所有的权限
下图, a的属主,属组为root, 分别对应读写和只读, 其他对应的权限是只读[[email protected] ~]# ls -l a
-rw-r--r-- 1 root root 22 Sep 11 01:33 a
所以这里一共有这八种组合权限表示对应的八进制格式
---0
--x1
-w-2
-wx3
r--4
r-x5
rw-6
rwx7例[[email protected] ~]# chmod 774 a
[[email protected] ~]# ls -l a
-rwxrwxr-- 1 root root 22 Sep 11 01:33 a
2. 直接指定使用者的权限
chmod [OPTION]... MODE[,MODE]... FILE...
直接用u或者g或者o后边=r,w,x来指定权限, 什么都不加等于---
可以多选项指定uo=r[[email protected] ~]# chmod u= a
[[email protected] ~]# ls -l a
----rwxr-- 1 root root 22 Sep 11 01:33 a
[[email protected] ~]# chmod g=rw a
[[email protected] ~]# ls -l a
----rw-r-- 1 root root 22 Sep 11 01:33 a
[[email protected] ~]# chmod uo=w a
[[email protected] ~]# ls -l a
--w--wx-w- 1 root root 22 Sep 11 01:33 a
或者直接用+rwx 或-rwx来设定说有三个的权限, 注意:如果有w在,只修改属主的
也可以分别只配置三个选项中的任意 go+x[[email protected] ~]# chmod -rwx a
chmod: a: new permissions are ----w----, not ---------
[[email protected] ~]# ls -l a
-----w---- 1 root root 22 Sep 11 01:33 a
[[email protected] ~]# chmod go+x a
[[email protected] ~]# ls -l a
-----wx--x 1 root root 22 Sep 11 01:33 a
3. 参考文件权限
chmod [OPTION]... --reference=RFILE FILE...[[email protected] ~]# ls -l {a,b}
--w--wx-w- 1 root root 22 Sep 11 01:33 a
-rw-r--r-- 1 root root 0 Sep 11 02:21 b
[[email protected] ~]# chmod --reference a b
[[email protected] ~]# ls -l {a,b}
--w--wx-w- 1 root root 22 Sep 11 01:33 a
--w--wx-w- 1 root root 0 Sep 11 02:21 b
4, 修改目录和目录里所有文件的属性
加选项-R[[email protected] ~]# ls -ld test/
drwxr-xr-x 2 root root 4096 Sep 11 02:28 test/
[[email protected] ~]# ls -l test/
total 0
-rw-r--r-- 1 root root 0 Sep 11 02:28 a
-rw-r--r-- 1 root root 0 Sep 11 02:28 b
[[email protected] ~]# chmod -R 777 test/
[[email protected] ~]# ls -l test/
total 0
-rwxrwxrwx 1 root root 0 Sep 11 02:28 a
-rwxrwxrwx 1 root root 0 Sep 11 02:28 b
[[email protected] ~]# ls -ld test/
drwxrwxrwx 2 root root 4096 Sep 11 02:28 test/
[[email protected] ~]#
修改属主属组命令
chown [OPTION]... [OWNER][:[GROUP]] FILE...
1. 引号两边加要修改的属主属组, joice:jerry
2. 如果只修改属主就不加引号 joice
3 .如果属主属组都修改成相同的 joice: 或者joice:joice
4. 只修改属组 :joice[[email protected] ~]# ls -l a
--w--wx-w- 1 root root 22 Sep 11 01:33 a
[[email protected] ~]# chown joice:jerry a
[[email protected] ~]# ls -l a
--w--wx-w- 1 joice jerry 22 Sep 11 01:33 a
chown [OPTION]... --reference=RFILE FILE... 上chmod一样, 也可以用引用修改[[email protected] ~]# ls -l a
--w--wx-w- 1 joice jerry 22 Sep 11 01:33 a
[[email protected] ~]# ls -l {a,b}
--w--wx-w- 1 joice jerry 22 Sep 11 01:33 a
--w--wx-w- 1 root root 0 Sep 11 02:21 b
[[email protected] ~]# chown --reference a b
[[email protected] ~]# ls -l {a,b}
--w--wx-w- 1 joice jerry 22 Sep 11 01:33 a
--w--wx-w- 1 joice jerry 0 Sep 11 02:21 b
-R修改目录和文件的属主属组[[email protected] ~]# chown -R :jerry test/
[[email protected] ~]# ls -l test/
total 0
-rwxrwxrwx 1 root jerry 0 Sep 11 02:28 a
-rwxrwxrwx 1 root jerry 0 Sep 11 02:28 b
[[email protected] ~]# ls -ld test/
drwxrwxrwx 2 root jerry 4096 Sep 11 02:28 test/
只修改属组命令
chgrp [OPTION]... GROUP FILE... 和上面命令类似, 但只修改属组[[email protected] test]# chgrp joice a
[[email protected] test]# ls -l a
-rwxrwxrwx 1 root joice 0 Sep 11 02:28 a
chgrp [OPTION]... --reference=RFILE FILE... 和上面命令类似, 但只引用属组[[email protected] test]# ll
total 0
-rwxrwxrwx 1 tom tom 0 Sep 11 02:28 a
-rwxrwxrwx 1 tom jerry 0 Sep 11 02:28 b
[[email protected] test]# chgrp --reference a b
[[email protected] test]# ls -l
total 0
-rwxrwxrwx 1 tom tom 0 Sep 11 02:28 a
-rwxrwxrwx 1 tom tom 0 Sep 11 02:28 b
原文:http://jzrobbie.blog.51cto.com/6535329/1693735