Linux权限管理

Linux权限管理

一、什么是权限?

Linux下有两种用户:超级用户(root)、普通用户。

  • 超级用户:可以在Linux系统下做任何事情,不受限制
  • 普通用户:在linux下做有限的事情。
  • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

比如:在root用户下,你可以通过 su user 这个命令切换到任意子用户,并且不用输入密码。

在这里插入图片描述

而普通用户,则需要输入密码来切换到root用户。

在这里插入图片描述

如果想从root用户退出到普通用户,可以通过输入exit或者使用ctrl+d。

在这里插入图片描述

二、权限管理

1.文件访问者的分类
  1. 文件和文件目录的所有者:u—User
  2. 文件和文件目录的所有者所在的组的用户:g—Group
  3. 其它用户:o—Others

我们要怎么看一个文件对于这三位不同的访问者的权限有什么不同呢?

使用 ll或者ls-l命令即可。

在这里插入图片描述

红线标识的是对应权限,黄线标识的是拥有者,蓝线标识的所属组

2.文件前缀
-rw-r--r-- 1 root root    0 Sep 24 10:31 a
drwxr-xr-x 2 root root 4096 Oct 15 16:33 dir
-rw-r--r-- 1 root root    0 Oct 15 16:33 test.txt
文件类型

d:文件夹

-:普通文件

l:软链接(类似Windows的快捷方式)

b:块设备文件(例如硬盘、光驱等)

p:管道文件

c:字符设备文件(例如屏幕等串口设备)

s:套接口文件

这就是对应的第一列字母的文件前缀。

在这里插入图片描述

从第二列开始,三个三个分为一组,分别对应文件和文件目录的所有者(owner),文件和文件目录的所有者所在的组的用户(group),其它用户(other)。

r->read 读权限

w->write 写权限

x->execute 执行权限

(-)则代表不拥有该权限

并且,首位一定是r读权限,第二位一定是w写权限, 第三位一定是x执行权限,顺序不可改变。

在这里插入图片描述

3.chmod权限修改

我们可以通过使用chmod命令,来对文件权限进行修改。

例如:

chmod u-r test.txt

这个命令可以对owner去掉读权限。

在这里插入图片描述

chmod u+r test.txt

反之+即可。

在这里插入图片描述

同理,也可对其他人进行修改。g->所属组,o-其他人。

chmod g-r test.txt //去掉所属组的r权限
chmod o-r test.txt //去掉其他用户的r权限

当然也可以在同一行进行修改。

chmod u+rwx,g+rwx,o-rwx test.txt 
//给拥有者,所属组加上所有权限。去掉other的所有权限

如果想要同时修改为同一权限,则可以使用a来指代all。

chmod a=rw test.txt

在这里插入图片描述

八进制修改

我们还可以通过八进制的方式来修改文件权限。

rwx
111
二进制对应7
  • 777的含义 -> 111 111 111 rwx

我们使用指令

chmod 777 test.txt

在这里插入图片描述

我们发现目标文件加上了所有的读写执行权限。


  • 666的含义 -> 110 110 110 rw-

我们使用指令

chmod 666 test.txt

在这里插入图片描述

我们发现目标文件加上了对应的rw读写权限。

所以说了解上面这个方式后,你便可以写出所有权限类型对应的编号。

权限二进制对应编号
rwx1117
rw-1106
r-x1015
r–1004
-wx0113
-w-0102
–x0011
4.chown修改拥有者

我们可以通过一个指令来修改文件的拥有者。

chown [参数] 用户名 文件名

注意,在默认情况下,系统是不允许你修改文件的拥有者的。不过我们可以通过在语句前面加sudo的方式,短暂获取root权限,或者直接使用root用户对文件拥有者进行修改。

在这里插入图片描述

5.chgrp修改所属组

我们同样可以通过一个指令来修改文件的所属组。

chgrp [参数] 用户名 文件名

在这里插入图片描述

6.默认权限

Linux有一个默认权限:

  • 目录文件权限777
  • 常规文件权限666

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。

我们可以通过umask命令来查看权限掩码。

在这里插入图片描述

抛开首位字母,我们通过刚刚学的八进制方式可以解读出这个权限为

--- -w- -w-

他的作用就是在权限掩码中出现的权限,在实际创建文件的时候不会出现!

观察下列文本就可以发现,文件的权限正好和权限掩码相反。

rwx rwx rwx //默认权限777
--- -w- -w- //权限掩码022
rwx r-x r-x //实际创建755

而常规文件正好也相反

rw- rw- rw- //默认权限666
--- -w- -w- //掩码022
rw- r-- r-- //实际权限644

那他就只是简单的减法吗?

答案是NO!

这里权限其实是通过对umask先取反(~),

再和默认权限进行按位与。

如:

常规文件:
666 ->       110 110 110
umask
022 ->       000 010 010
~umask ->    111 101 101
~umask&666-> 110 100 100
- rw- //默认权限666
--- -w- -w- //掩码022
rw- r-- r-- //实际权限644

那他就只是简单的减法吗?

答案是NO!

这里权限其实是通过对umask先取反(~),

再和默认权限进行按位与。

如:

常规文件:
666 ->       110 110 110
umask
022 ->       000 010 010
~umask ->    111 101 101
~umask&666-> 110 100 100
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值