码迷,mamicode.com
首页 > 系统相关 > 详细

Linux权限

时间:2015-09-11 12:46:18      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:执行文件   linux   八进制   

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, 分别对应读写和只读, 其他对应的权限是只读

[root@CentOS02 ~]# 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
[root@CentOS02 ~]# chmod 774 a
[root@CentOS02 ~]# 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

[root@CentOS02 ~]# chmod u= a
[root@CentOS02 ~]# ls -l a
----rwxr-- 1 root root 22 Sep 11 01:33 a
[root@CentOS02 ~]# chmod g=rw a
[root@CentOS02 ~]# ls -l a
----rw-r-- 1 root root 22 Sep 11 01:33 a
[root@CentOS02 ~]# chmod uo=w a
[root@CentOS02 ~]# ls -l a
--w--wx-w- 1 root root 22 Sep 11 01:33 a

或者直接用+rwx 或-rwx来设定说有三个的权限, 注意:如果有w在,只修改属主的

也可以分别只配置三个选项中的任意 go+x

[root@CentOS02 ~]# chmod -rwx a
chmod: a: new permissions are ----w----, not ---------
[root@CentOS02 ~]# ls -l a
-----w---- 1 root root 22 Sep 11 01:33 a

[root@CentOS02 ~]# chmod go+x a
[root@CentOS02 ~]# ls -l a
-----wx--x 1 root root 22 Sep 11 01:33 a

3. 参考文件权限

chmod [OPTION]... --reference=RFILE FILE...

[root@CentOS02 ~]# 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
[root@CentOS02 ~]# chmod --reference a b
[root@CentOS02 ~]# 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

[root@CentOS02 ~]# ls -ld test/
drwxr-xr-x 2 root root 4096 Sep 11 02:28 test/
[root@CentOS02 ~]# 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
[root@CentOS02 ~]# chmod -R 777 test/
[root@CentOS02 ~]# 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
[root@CentOS02 ~]# ls -ld test/
drwxrwxrwx 2 root root 4096 Sep 11 02:28 test/
[root@CentOS02 ~]#



修改属主属组命令

chown [OPTION]... [OWNER][:[GROUP]] FILE... 

1. 引号两边加要修改的属主属组, joice:jerry

2. 如果只修改属主就不加引号 joice

3 .如果属主属组都修改成相同的 joice: 或者joice:joice

4. 只修改属组  :joice

[root@CentOS02 ~]# ls -l a
--w--wx-w- 1 root root 22 Sep 11 01:33 a
[root@CentOS02 ~]# chown joice:jerry a
[root@CentOS02 ~]# ls -l a
--w--wx-w- 1 joice jerry 22 Sep 11 01:33 a

chown [OPTION]... --reference=RFILE FILE... 上chmod一样, 也可以用引用修改

[root@CentOS02 ~]# ls -l a
--w--wx-w- 1 joice jerry 22 Sep 11 01:33 a
[root@CentOS02 ~]# 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
[root@CentOS02 ~]# chown --reference a b
[root@CentOS02 ~]# 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修改目录和文件的属主属组

[root@CentOS02 ~]# chown -R :jerry test/
[root@CentOS02 ~]# 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
[root@CentOS02 ~]# ls -ld test/
drwxrwxrwx 2 root jerry 4096 Sep 11 02:28 test/

只修改属组命令

chgrp [OPTION]... GROUP FILE...  和上面命令类似, 但只修改属组

[root@CentOS02 test]# chgrp joice a
[root@CentOS02 test]# ls -l a
-rwxrwxrwx 1 root joice 0 Sep 11 02:28 a

chgrp [OPTION]... --reference=RFILE FILE... 和上面命令类似, 但只引用属组

[root@CentOS02 test]# ll
total 0
-rwxrwxrwx 1 tom tom   0 Sep 11 02:28 a
-rwxrwxrwx 1 tom jerry 0 Sep 11 02:28 b
[root@CentOS02 test]# chgrp --reference a b
[root@CentOS02 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

Linux权限

标签:执行文件   linux   八进制   

原文地址:http://jzrobbie.blog.51cto.com/6535329/1693735

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!