Linux基础命令详解之权限管理
来源:互联网 发布:服装面料软件 编辑:程序博客网 时间:2024/05/18 01:40
一,权限管理简介
Linux是个多用户的操作系统,允许多个用户同时登录系统进行工作,利用系统资源。为了维护系统的稳定以及各用户工作的正常进行,用户登录时需要用户名和口令的验证。这样,系统通过UID来区分不同用户,记录用户进行的各种操作。可以在逻辑上理解为;每个用户都是一个独立的“房间”,而打开某个房门的唯一钥匙就是“用户名和口令”。当你进入房间后,你的操作及结果就保留在这个房间里,而不会对其他房间造成什么影响。这是对普通用户而言的。对于超级用户来说,他就是一个房管,拥有所有房间的钥匙,所以可以管理所有房间。但普通用户想要进入其他房间恐怕只有碰壁了!
二,三种基本权限
在Linux中,从权限角度来看,可分为四种用户,即超级用户、文件属主、文件属组和其他用户。超级用户拥有所有权限,而其它用户的权限都是可以设定的。
三,查看目录/文件的权限
ls命令用来查看目录内容,其中-l选项可以显示目录和文件的详细信息。
字段包括:文件类型,属主、属组、其他用户的权限,硬链接次数,属主,属组,文件大小,时间戳。详见我的博客http://blog.csdn.net/rdgfdd/article/details/78546518
下面以图为例详解1-10位权限:
四,用户对文件/目录的权限
若访问用户与文件属主一致,则拥有属主权限(2-4位);否则,若访问用户与文件属组一致,则拥有属组权限;否则,访问用户拥有其他用户权限。
五,更改权限
更改权限常用chmod命令,其中可分为两种更改方式:
1,文字设定法:通过符号代表权限,如:rw——-
2,数值设定法:通过数值代表权限,如:600代表rw——-
1,文字设定法
chmod [ugoa] [+-=] [rwxugo] File/Directory
选项说明:
选项1:操作的对象,即更改权限的对象。
选项2:操作,即如何更改。
选项3:更改的权限
实例解析:
解析:我们用 ls 命令的 -l 选项查看文件book的权限信息,属主的权限为rw-(可读可写不可执行),我们用chmod u+x book,来给文件book的属主添加x(可执行)权限。如图所示,当我们再次查看book的权限时,其属主权限已经变成了rwx(可读可写可执行),我们将其属主权限与属组权限相同,可使用chmod u=g book.执行后,再次查看,结果正如我们预料中的那样。
2,数值设定法
chmod ugo File/Directory
用法说明:
u:一个八进制数,用来代表属主的权限
g:一个八进制数,用来代表属组的权限
o:一个八进制数,用来代表其它用户的权限数值权限对应表如下:
实例解析:
解析:我们先用 ls 的 -l 选项查看文件book 的权限,如图所示,其权限为 r–r–r–,转换为数值为444,我们通过数值设定法、利用命令 “chmod 222 book” 将其权限设置为222,再次查看可知book的权限已经变成了222(-w–w–w-)。用同样的方法可以再次将其权限改为333(-wx-wx-wx)。
六,更改属主和属组
只有root用户和文件的属主才拥有更改其属主、属组的权限,命令为 chown。
用法:
chown U:G File/Directory选项说明:
-R:同时修改目录及其内部文件的属性 U:G:将文件的属主/属组设定为U和G - -reference=/path/to/somefile 将文件或目录的属主和属组设定为与somefile一致
实例解析:
图一:
图二:
图三:
解析:
由图一,a.c 和 books 的属主和属组都是root.
由图二,我们使用chmod命令来更改文件 a.c 的属主和属组。其实,以上两部可以直接用一步来完成:chown jeffrey : jeffrey a.c 。
由图三,我们要完成的任务就是“把文件 books 的属主和属组更改成与文件 a.c 一致”。如图所示,用 –reference=a.c 即可实现。
7,设置文件和目录的生成掩码
用户可以使用命令 umask 来设置文件的默认生成掩码。默认的生成掩码告诉系统“当创建一个新的文件时,哪些权限是禁止的”。
用法:
umask [-S] [ugo]选项说明:
-S: 指定生成掩码
u : 屏蔽属主的权限ug: 屏蔽属组的权限g
o: 屏蔽其它用户的权限o
实例解析:
解析:
由图,我们先使用umask命令查看当前用户的生成掩码为0022,之后我们创建一个新文件b.c 。查看其属组和其他用户权限都没有w(2)权限。之后我们更改当前的生成掩码,umask 002 。然后,当我们再次创建新文件c.c时,c.c的属组拥有了w(2)权限,而其它用户的w(2)权限是被屏蔽的。
8,特殊权限
1,特殊权限介绍:
特殊权限汉族要包括SUID,SGID,sticky-bit等。对文件可设置SUID,SGID权限;对目录可设置SGID,sticky-bit权限。具体情况如下所示:文件的特殊权限
目录的特殊权限
实例解析:
一个典型的设置了SUID的例子就是passwd程序。passwd的功能是修改用户的密码,其实质是修改文件/etc/shadow的内容。在使用passwd命令时,普通用户也要获得对文件/etc/shadow的读写权限,但是/etc/shadow只对root用户开放权限,这个时候怎么办呢?是让/etc/shadow的权限对普通用户开放?但是若是这样的话,普通用户的权限过大,有可能造成灾难性的后果。在这种情况下,特殊权限就登上了舞台。拥有特殊权限的文件,会给操作她的用户以root用户的小马甲,也就是说普通用户在操作这类文件是,会拥有root用户的权限。所以,当普通用户执行passwd命令时,普通用户会获得root用户的“超能力”,所以可以成功地修改/etc/shadow。
另一个设置了sticky-bit的典型例子是系统临时文件目录/tmp,这样可以有效保护其他用户的文件不被别人删除。
2,特殊权限设置
设置特殊权限和之前设置普通权限一样,都使用命令chmod,并且也有字符设定法和数值设定法。
特殊权限的字符和数值表示
使用字符设定法设置特殊权限:可以使用s ,t ,字符。使用数值设定法可以使用4个八进制数。重点内容
实例解析:
解析:
首先我们看到books的的权限,然后利用”字符设定法“分别为其增加SID(S),SGID(S)和 sticky-bit (T)特殊权限。 最后利用数值设定法将其特殊权限设定为0(即没有特殊权限)普通权限设定为644。如图。
9,ACL权限
- Linux基础命令详解之权限管理
- linux 基础学习之权限管理命令
- Linux常用命令详解之权限管理命令
- Linux基础命令详解之目录管理
- linux基础命令详解之文件管理
- Linux权限管理命令详解
- linux基础命令 --linux权限管理
- Linux命令之权限管理命令
- linux命令之权限管理命令
- Linux基础命令详解之用户/组管理
- linux 学习笔记之权限管理命令
- Linux学习之权限管理命令
- Linux 系统命令权限管理 之 sudo
- Linux常用命令之权限管理命令
- Linux基础之权限管理ACL
- Linux基础学习笔记(Linux权限管理之基本权限)
- linux基础命令之文件权限的管理及ACL的扩展
- Linux权限管理命令
- 游戏开发——本身也是游戏
- 网络编程基础(一)
- 列表,字典
- 封装OKHttp
- Matlab 2015b 原先正常使用,突然让重新激活
- Linux基础命令详解之权限管理
- HDU--6063--RXD and math
- java作业gui1
- Socks
- 安卓使用videoview进行音频、视频播放,及播放控制
- 静态资源文件管理
- Hibernate事务处理
- 01 Spring Boot 核心
- 练习3