Linux权限管理

1.Linux下的两种用户

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

指令:su [用户名],切换用户
例子:su user1,切换到user1;su root(或者su),切换到root;平级或向高级切换用户密码,root向低级切换就不用输入用户密码。

指令:sudo 执行操作,对普通用户执行一条指令进行提权,即在当前普通用户使用root权限进行操作,而不切换到root用户,需要输入root用户密码。

2.Linux权限管理

2.1文件访问者的分类(人)

  • 文件和目录的所有者:u--User--拥有者
  • 文件和目录的所有者所在的组的用户:g--Group--所属组
  • 其他用户:o--Others--others

这样分类是为了更细粒度的权限管理

2.2文件类型和访问权限(事物属性)

 一个文件或目录,拥有者和所属组分别只有一个,other是其他访问的人,可以有多个。

a、文件类型

  • d:目录
  • -:普通文件
  • l:软链接(类似Windows的快捷方式)
  • b:块设备文件(例如硬盘,光驱等)
  • p:管理文件
  • c:字符设备文件(例如屏幕等窗口设备)
  • s:套接口文件

b、基本权限

  • 只读(r / 4):对文件而言,具有读取文件内容的权限;对于目录而言,具有浏览该目录信息的权限(如果目录没有可读权限,仍然可以进入到这个目录里面,还可以在该目录下创建文件,但不可以查看目录里面的内容)
  • 只写(w / 2):对于文件而言,具有修改文件内容的权限;对于目录而言,具有删除移动目录内文件的权限(如果没有可写权限,可以进入目录和查看目录内容,但不可以创建删除文件)
  • 可执行(x / 1):对于文件而言,具有执行文件的权限;对于目录而言,具有进入目录的权限(如果没有可执行权限,不可以进入到这个目录里面,能否进入目录与rw无关,只与x有关)
  • '-':表示不具有该项权限

2.3文件权限值的表示方式

字符表示方法:

Linux表示说明Linux表示说明
r--只读-w-只写
--x只执行rw-可读可写
-wx可写可执行r-x可读可执行
rwx可读可写可执行---无权限

8进制数值表示方法:

权限符号(读写执行)八进制二进制

r--

4100
-w-2010
--x1001
rw-6110
r-x5101
-wx3011
rwx7111
---0000

如何判定一个用户是文件的哪种文件访问者?
拥有者 -> 所属组 -> other的顺序进行判定且只能判定一次,判定成功后就不会往下判定,比如一个用户是文件的拥有者和所属组,但判定该用户为拥有者。

2.4文件访问权限的相关设置方法

权限 = 访问者 + 访问权限
更改权限:更改访问者 或者 更改文件权限属性

更改文件/目录的访问权限:
指令:chmod [参数] 权限 文件名
           chmod 身份缩写+权限 文件 -> 对应身份增加权限
           chmod 身份缩写-权限 文件 -> 对应身份减少权限

只有文件的拥有者和root才可以改变文件的权限

chmod命令权限值的格式:

1.用户表示符 +/-/=权限字符:

  • +:向权限范围增加权限代号表示的权限
  • -:向权限范围取消权限代号表示的权限
  • =:向权限范围赋予权限代号所表示的权限
  • u:拥有者
  • g:所属组
  • o:其他用户
  • a:所有用户
  • 例子:chmod u+w file
               chmod a-x file

2.三位8进制数字:

用八进制文件权限值来表示每种访问者的访问权限
例子:chmod 664 file

           chmod 640 file

注意:修改一个文件有可执行权限,也不一定可以执行,还得需要文件本身就是可执行文件;可执行文件把文件的可执行权限禁止了,也不能执行了。

更改文件/目录的拥有者:

指令:chown [参数] 用户名 文件名
           例子:chown user1 file

                      chown -R user2 file(-R递归修改)

更改文件/目录的所属组:
指令:chgrp [参数] 所属组名 文件名

           例子:chgrp grp1 file

                      chgrp -R grp2 file1(-R递归修改)


注意:更改文件的访问权限实际上改的是文件本身,更改文件的拥有者或所属组却是把文件给别人,把文件给别人需要征得别人的同意(root可以直接给别人,普通用户不可以),所以需要使用sudo,使用root权限强制把文件给别人。

 

2.5 文件掩码

文件掩码(File Mask)是一种用于定义文件和目录的权限的设置,它决定了新创建的文件或目录的默认权限设置

文件权限由三种类型的用户访问控制(所有者、所属组、其他用户)组成,每种类型都有读、写和执行三种权限。文件掩码通过掩盖某些位来限制这些权限的设置。例如,掩码可以阻止新文件被赋予可写权限,或者限制某个目录的可见性。文件掩码通过限制文件和目录的默认权限,帮助系统管理员管理安全性和访问控制。

文件掩码通常是一个三位八进制数字,表示权限位的掩盖。每位可以是0到7之间的数字,具体含义如下:

  • 0:不掩盖任何权限
  • 1:掩盖执行权限
  • 2:掩盖写权限
  • 4:掩盖读权限

假设当前的掩码是022,这意味着:

  • 对于新创建的文件(默认权限通常是666,即rw-rw-rw-),掩码022会使其权限变为644(rw-r--r--)。
  • 对于新创建的目录(默认权限通常是777,即rwxrwxrwx),掩码022会使其权限变为755(rwxr-xr-x)。

查看或修改文件掩码:

新建文件默认权限=0666

新建目录默认权限=0777

指令:umask, 查看文件掩码
           umask 权限值, 修改文件掩码

默认权限mask,文件掩码umask,实际创建出来的文件权限是:mask & ~umask(即mask - umask)

3.file指令

辨识文件类型

指令:file [选项] 文件或目录

           -c 详细显示指令执行过程,便于排错或分析程序执行的情形
           -z 尝试去解读压缩文件的内容

4.粘滞位

场景:多个用户共享同一个目录,每个用户可以在该目录创建文件,且每个人都能可读可写,但不能删除别人的文件,只能删除自己的文件。

将目录设置为粘滞位
指令:chmod -t 目录


被设置为粘滞位的目录,该目录下的文件只能由:

  • 超级管理员删除
  • 该目录的所有者删除
  • 该文件的所有者删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

みずいろ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值