【Linux】权限管理

本文详细讲解了Linux用户权限的概念,包括root和普通用户的切换方法,以及文件和目录的权限识别、修改、目录权限理解、umask作用和粘滞位的应用。适合深入理解Linux权限管理和面试准备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一.用户在使用Linux系统时的权限

1.概念

2.用户权限切换(角色切换)

1.普通用户切换root

2.root切换普通用户

二.用户在使用文件或目录时的权限

0.如何区分是文件还是目录?

1.拥有文件或目录权限的三个身份

2.文件或目录的权限

3.如何修改权限

(1)修改权限

(2)修改人

4.权限常见问题(面试题)

(1)目录权限

(2)权限掩码 - umask

(3)粘滞位


一.用户在使用Linux系统时的权限

1.概念

Linux下可以同时存在多个用户,Linux是一个多用户的操作系统

root:只有一个,具有linux下的最高权限(一般不受权限约束)

普通用户:可以有多个,受权限约束

2.用户权限切换(角色切换)

切换用户,本质就是切换权限

1.普通用户切换root

指令:su -,回车然后输入root密码

2.root切换普通用户

指令:su 指定用户,回车且不需要密码

或者 ctrl+d 或者 logout 或者 exit

二.用户在使用文件或目录时的权限

0.如何区分是文件还是目录?

Linux下,不以文件后缀来区分文件类型

那么,想要区分一个文件是文件还是目录,看下图

但是需要注意一点,如果我们用linux下的gcc编译器,编译一个后缀不是.c的文件就会报错!

为什么呢?

原因就是:gcc是linux环境下的一款软件,linux不以文件后缀区分文件类型,但是没有说软件不可以!其实gcc这款linux下的软件,需要文件后缀来确定链接哪一个静/动态库

1.拥有文件或目录权限的三个身份

2.文件或目录的权限

3.如何修改权限

(1)修改权限

第一种形式:chmod [u/g/o] [+/-] [r/w/x] [文件名]

第二种形式:chmod [三个八进制为] [文件名]

(2)修改人

普通用户没有权限修改人

要么在命令前使用sudo,要么切换成root,使用sudo超级命令时,需要输入用户自己的密码

 

4.权限常见问题(面试题)

(1)目录权限

进入一个目录的权限:x(执行)

在目录中创建或删除目录/文件:w(写)

查看目录下的目录/文件:r(读)

目录的可执行权限是表示你可否在目录下执行命令。如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目,即使目录仍然有-r读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限。所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档

没有x权限,只能ls查看该目录下的文件名,ls -l无法查看具体文件属性,tree显示为空!!

(2)权限掩码 - umask

一般的,创建一个目录系统的默认权限是777

创建一个文件系统的默认权限是666

可是实际我们看到的却是,创建目录:775,创建文件:664

为什么?以及是如何实现出来的?

答:一般的,other权限没有对文件/目录的w权限,这是为了保护文件/目录。其余权限默认为rwx。(说明一下,不管对于谁,都没有必要对文件有x权限,因为文件本身就没有执行属性)

以文件举例:刚开始创建好系统生成的默认权限就是777,而为了保护文件安全,需要去掉other的w权限,于是默认权限777会&一个~umask,umask是权限掩码,默认值为0002,而我们至于要关注后三位,且后三位是八进制位。

777&(~002) ---》775,就形成了最终我们所看到的默认权限775

也就是说,只要出现在umask上的权限,我们就不应该让文件/目录有这样的权限

注意,不是减法,而是 最终权限 = 起始权限 & (~umask),因为减法有进位问题。

umask是可以修改的,比如把umask修改为0777指令就是:umask 0777

(3)粘滞位

现在假设有这样一个场景:

一个公司,领导是root,员工是普通用户。此时为了便于多名员工协作开发一个项目,root创建了一个目录,这个目录的own和grp都是root,员工们是other。

目录的w权限:在目录中创建或删除目录/文件

此时思考一个问题:root是否要将此目录的other权限中的w权限打开呢?

员工在工作时,一定是需要自己能够自由的创建和删除目录下的文件(这个需求other需要w权限)

但是,仅仅只是能删除属于自己的文件(这个需求other不能拥有w权限)

这样就会产生矛盾,员工们既需要能够在目录下创建和删除文件,需要w权限。但一但w权限面对other开启,就意味着所有员工都可以自由的随意删除里面的任何文件。

如果才能做到:自己只能创建或删除属于自己的文件呢?

答:我们引入一个新的权限:粘滞位

指令:chmod +t [目录名]

此指令只能是目录的拥有者 或者 root才能执行 或者 sudo+指令

粘滞位只能给目录设置。

所以,这也说明了,虽然我的文件对外不开放rwx权限,但是如果拥有我这个文件所在目录的w权限,他虽然看不了改不了我的文件,但是可以删除我的文件!而粘滞位就很好的解决了这个问题!让他依然有这个目录的w权限,但是只能创建和删除属于自己的文件!

Linux授权管理权限是Linux系统中对用户和组进行权限管理的过程。通过授权管理,可以决定用户可以访问哪些文件和执行哪些操作。 在Linux中,权限管理主要涉及三个方面:用户管理、组管理和权限管理。 用户管理涉及到创建、删除和管理用户账户。每个用户都有一个唯一的用户名和密码,可以根据需要分配不同的权限给用户。这样,每个用户就可以根据其权限来访问和操作文件。 组管理是将用户分组的过程。通过将用户分组,可以更方便地管理用户的权限。可以将用户分配到不同的组中,然后为每个组设置相应的权限。这样,用户可以继承其所属组的权限。 权限管理是指确定用户对文件或目录的操作权限。在Linux中,每个文件或目录都有三种基本权限:读取权限、写入权限和执行权限。这些权限可以被分配给用户、用户组和其他用户。通过设置不同的权限,可以控制用户对文件的访问和操作。 需要注意的是,Linux系统中有一个特殊的用户——root用户。root用户是系统管理员,拥有最高权限。通过root用户,可以执行系统级别的操作。然而,root用户的权限应该谨慎使用,因为错误的操作可能导致系统的不稳定或安全性问题。 总结起来,Linux授权管理权限是通过用户管理、组管理和权限管理来确定用户对文件和操作的访问权限。这是Linux中非常重要和基础的知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值