【Linux】权限

目录

Linux下用户的分类

root用户和普通用户之间的切换

权限是什么

权限如何查看,以及相关概念

更改权限 

改变文件拥有者

改变文件所属组 

其他问题


Linux下用户的分类

  • root:超级用户
  • 普通用户:新建的用户,adduser指令

root用户基本不受权限的约束,普通用户是受权限约束的。

Linux中的所有用户,都要有密码,无论是root还是其他,即便是多个普通用户,也都要设置密码

root用户和普通用户之间的切换

su  

//su 指令默认 进入root用户,所以上图出现的密码是要输入root用户的密码,要返回原用户只需要exit即可

//注意这里的su只是进行了身份的切换,并没有以登录的方式到root,路径还在原用户。

//要使用重新登录用户的方式切换,使用su -  ,这里可以看到用户路径也切换了,这种方式下要返回原来的用户,使用 ctrl + d

【Linux】权限_第1张图片

PS:如果需要对一条指令进行提权(以root用户的身份执行),在指令前使用sudo。若需要输入密码,即输入root用户的密码。目前我们用adduser新建的用户,没有办法执行sudo,因为系统不信任你,除非将普通用户添加到系统的新人白名单里面

权限是什么

权限就是一件事情是否允许你去做

  1. 权限认证的是身份(和具体的人有关)
  2. 权限也和事物的属性有关,要访问的属性必须存在

那么Linux事物也就是文件的属性包含:可读、可写、可读写

权限如何查看,以及相关概念

第一列第一个字符 文件的类型:

  •  -:普通文件,文本,可执行程序,库基本都属于普通文件
  • d:目录文件
  • b:块设备文件,磁盘文件  ls /dev/vdal
  • c:字符设备文件,键盘,显示器文件等
  • p:管道文件,用来进行通信

//Linux系统中文件名后缀没有直接的意义(不代表不用),Linux中如何看待后缀,看用户的需求

【Linux】权限_第2张图片

文件的权限属性

  • r:可读
  • w:可写 
  • x:可执行   
  • -:对应的权限位置,没有权限 

【Linux】权限_第3张图片

 Linux下的权限身份

  • 拥有者
  • 所属组
  • 其他人

如下图所示:

三种权限身份对应的权限

如下图所示,每三个字符为一个权限身份的权限,分别是 拥有者权限,所属组权限,其他人权限

更改权限 

修改权限的前提是 当前用户是文件拥有者或者是root用户,有着对应的权限

//给文件拥有者加 读写修改 权限

chmod  u+rwx  test.txt

//给文件拥有者去掉 读写修改 权限

chmod u-rwx test.txt

//给所属组添加  读写修改 权限

chmod g+rwx test.txt

//给其他人加 读 权限

chmod o+r test.txt

//给所有人加 读 权限

chmod a+w test.txt

//多个用户时使用逗号为分隔符

 另一种写法,用八进制 表示  (三位二进制数对应读写修改权限,为1代表具有),每一个八进制数对应一种权限身份,分别是 拥有者,所属组,其他人

//所有人加 读 权限

chmod 444 test.txt

改变文件拥有者

 chown 新的文件拥有者的用户名  文件名

改变文件所属组 

chgrop 新的文件拥有者的所属组  文件名

其他问题

为什么普通文件的权限是664,目录文件的权限是775?

预备:

  1. 默认给普通文件的起始权限是666
  2. 默认给目录文件的起始权限是777

而出现664,775的原因是,Linux系统中存在一个权限掩码

umask 0002

权限掩码:凡是在umask中出现的权限,不会在最终的文件权限中出现

最终权限 = 起始权限 & (~umask)

改变权限掩码

umask 0555

目录文件的相关权限

r:是否允许我们查看指定目录下的文件内容

w:是否允许我们在当前目录下创建  、更改、删除

x:是否允许用户进入对应的目录

多个普通用户共享文件

        普通用户自己的家目录权限是 700,用户在自己家目录创建的文件别人看不到,因此,我们新建的共享文件,不能在任何一个人的家目录下,可在根目录下创建。

一个文件能否被删除,并不由文件本身决定,由这个文件所处的目录决定

粘滞位:给目录设置,这个目录一般是共享目录,各个用户可以在该目录进行各自文件的增删查改,只允许文件拥有者或者root能删这个文件,其他用户不允许。t权限是特殊的x权限

chmod o+t shared/

//此时x对应的权限位置会变成t,这是在该目录下,用户只能删除自己拥有的文件

Linux装机的时候,默认创建了一个tmp共享目录 

【Linux】权限_第4张图片

你可能感兴趣的:(Linux,linux,运维,服务器)