不管是在生活中还是在工作中,我们都会经常碰到关于电脑权限方面的一些问题。现在介绍一下在linux系统中关于如何设置和管理用户的权限问题,介绍基本但很重要的命令。
在Linux中,权限分为三大类:基本权限,acl权限及附加权限。
1 基本权限
对于访问方式,基本权限分为:读取,写入及可执行三种。
--读取:允许查看内容,用read首字母r表示;
--写入:允许修改内容,用write首字母w表示;
--可执行:允许运行和切换,用execute第二字母x表示;
*注意linux是严格区分大小写的,这些都是小写字母
①对于目录而言:
r权限表示用户能够ls浏览此目录内容;
w权限表示用户能够执行rm/mv/cp/mkdir/touch等更改目录的操作;
x权限表示用户能够cd切换到此目录;
备注:在通常情况下,r权限和x权限成对出现,因为如果能够cd到此目录中,为什么不让用户浏览目录内容,这有点矛盾,用户体验会很差
②对于文本文件来说:
r权限表示用户可以使用cat/head/tail/less等查看命令
w权限表示用户可以使用vim等命令编辑文本内容
x权限表示用户可以运行此文本(脚本)
③权限适用对象
所有者:拥有此文件/目录的用户-user,用u表示
所属组:拥有此文件/目录的组-group,用g表示
其他用户:除所有者、所属组以外的用户-other,用o表示
例如:
root@localhost 桌面]# ls -ld /etc/
drwxr-xr-x. 135 root root 8192 10月31 2017 /etc/
这条命令是查看etc目录的详细信息
[root@localhost 桌面]# ls -ld /etc/passwd
-rw-r--r--. 1 root root 2273 10月28 08:16 /etc/passwd
这条命令是查看etc下passwd文本的详细属性
上述两条命令显示的信息有七段,对应的具体含义如下:
权限位 硬连接数属主 属组 大小 最后修改时间 文件/目录名称
其中以“-”开头表示文本文件
以“d”开头表示目录
备注:权限位,属主(所属者),属组(所属组)是设置权限的关键位
权限位就是前面所述的三种权限分类,在权限位中有9个字符,三个一组,分别表示此文件对应身份u(所属者),g(所属组),o(其他用户)的权限,其中无对应权限用“-”表示
如rwxr-xr-x表示所属者的权限有r,w,x,所属组的权限有r,x,无w权限,其他用户的权限有r,x,无w权限
④设置权限(权限位)
使用 chmod 命令,基本格式如下
chmod [-R] 归属关系+,-,= 权限类别文档...
其中[-R]表示递归赋予权限
例如:[root@localhost 桌面]# mkdir /student
[root@localhost 桌面]# ls -ld /student/
drwxr-xr-x. 2 root root 6 10月 31 00:07 /student/
[root@localhost 桌面]# chmod u-x /student/
[root@localhost 桌面]# ls -ld /student/
drw-r-xr-x. 2 root root 6 10月 31 00:07 /student/
student目录创建之初,权限位为rwxr-xr-x,使用chmod命令修改后,权限位变为rw-r-xr-x,可以看出对于所属者来说,权限少了x权限,也就是u-x修改后的结果,所以,想要修改一个目录或文件的权限时,u,g,o分别对应好,使用“-”表示去除相应的权限,使用“+”表示增加相应的权限,-r去除r权限,+w增加w权限
或者用“=”将相应的权限写出来,如下:
[root@localhost 桌面]#chmod u=rwx,g=rwx,o=rwx /student/
[root@localhost 桌面]#ls -ld /student/
drwxrwxrwx. 2 root root 6 10月 31 00:07 /student/
⑤设置文档归属(属主,属组位)
使用 chown 命令,基本格式如下:
chown [-R] 属主 文档...
chown [-R] :属组 文档...
chown [-R] 属主:属组文档.
例如:
[root@localhost 桌面]# mkdir /wohenshuai
[root@localhost 桌面]# ls -ld /wohenshuai
drwxr-xr-x. 2 root root 6 10月 31 00:27/wohenshuai
[root@localhost 桌面]# chown hentai/wohenshuai
[root@localhost 桌面]# ls -ld /wohenshuai
drwxr-xr-x. 2 hentai root 6 10月 31 00:27/wohenshuai
[root@localhost 桌面]# chown :hy /wohenshuai
[root@localhost 桌面]# ls -ld /wohenshuai
drwxr-xr-x. 2 hentai hy 6 10月 31 00:27/wohenshuai
[root@localhost 桌面]# chown wohenshuai:hy /wohenshuai
[root@localhost 桌面]# ls -ld /wohenshuai
drwxr-xr-x. 2 wohenshuai hy 6 10月 31 00:27/wohenshuai
以上使用上述三条命令修改后的结果,wohenshuai目录创建之初,所属者与所属组都是root,修改后最终结果位所属者为wohenshuai,所属组为hy
需要注意的是,修改所属者时直接写入所属者的名称即可,但时修改所属组时格式为“:所属组“,所属组前有”:“,同时修改时格式为”属主:属组“
备注:介绍完上述命令后,涉及到另一个问题,如何判断用户具备何种权限?判断用户所属的身份
所有者>所属组>其他人 匹配及停止
2.看相应权限位的权限划分
上述规则说明,在linux中判断一个用户具有的权限时,先看用户是三种身份中的哪一种,是u?是g中的一员?是o?如果是u(所属者),就看所属者对应的权限为即可,后面就都可以不管,如果是g所属组中的一员,所属组有什么权限,用户就有什么权限,如果都不是,就是o(其他用户),看对应的权限位即可