1. 超级用户和普通用户
root就是超级用户,普通用户就是我们新建的用户(adduser)。root不受权限的约束,普通用户受全权限的约束。
1.1 两者的转换

1.2 提权问题
如果想暂时对一条命令进行提权,可以用sudo 命令。例如sudo whoami,对其进行提权,以超级用户执行。此时需要输入当前用户的密码。但是,目前我们用adduser新建的用户没有办法执行sudo,系统不信任我们。除非将普通用户添加到白名单。

2. 权限
2.1 权限的概念
权限:一件事情是否允许被你做。linux中权限有两个特点:(1)权限认证的是身份(权限与“人”有关);(2)权限也和事物的属性有关。
2.2 文件的权限
- 权限认证的是身份
人代表的权限身份 (角色)有拥有者、所属组和其他人。具体的用户有root和普通用户。root和普通用户既可以是拥有者、所属组,也可以是其他人。为什么会有所属组?需要组内协同,又不想让其他人看到。
- 权限也和事物的属性有关

(1)文件的类型:
-:普通文件(文本,可执行程序,库基本都是普通文件)
d:目录文件
b:块设备文件(磁盘文件)
c:字符设备文件(键盘,显示器,文件)
p:管道文件(用来进行通信的)
(2)从文件的类型看,Linux系统中文件名后缀没有直接意义。但是,不代表其他linux系统上运行的软件不需要后缀。window系统中文件名后缀可区别文件。
(3)linux中,事物的属性就是文件的属性:可读(r),可写(w),可执行(x)。rwx位置是确定的,每个位置只有是或者否,具有指定的权限。

(4)权限的修改
法1
文件的拥有者和root可以修改权限

root不受权限约束。例如,root没有读权限,依旧可以读。

法2
用比特位的1和0表示权限属性的是与否,3个比特位表示一个身份的的一个权限 ,可以用一个八进制位表示。

更改文件的拥有者和所属组

验证

(5)其他问题
问题1为什么创建的文件和目录的默认权限是我们所见的那样?

预备知识:默认给普通文件的起始权限是666,默认给目录文件的起始权限是777。权限掩码(umask):凡是在umask中出现的权限,不会在最终的文件权限中出现。

这也是为什么我们看到的普通文件的权限是664,目录的权限是775。

权限掩码可以修改

起始权限与权限掩码不是减法关系。最终权限 = 起始权限 & (~umask),或者按定义记,凡是在umask中出现的权限,在最终权限中不出现。

问题2
对于目录,读,写,可执行意味着什么?



总结:
目录的r权限:是否允许我们查找指定目录下的文件内容。
目录的w权限:是否允许我们在当前目录下进行创建、更改、删除。
目录的x权限:是否允许用户进入对应的目录。
问题3
普通用户自己的家目录权限是700,我在我的家目录创建的文件,别人都看不到。有时,我们多个用户想进行文件数据的共享。我们所创建的共享目录不能在任何一个人的家目录下。所以在root的根目录下创建。


一个文件能否被删除,并不由文件本身决定,由这个文件的目录决定。不能去掉共享目录 的w权限。我们也同时无法创建文件!要求:任何用户在共享下都可以创建和销毁,但不想看到删除别人的文件。
可以用粘滞位:t。

此时,在nihao这个用户想删除,zn_174创建的文件,不能实现。

结论:粘滞位:给目录设置,一般是共享文件,大家可以在该目录下进行各自文件的增删查改,只允许文件拥有者或者root能删除这个文件,其他人一概不允许,是一种特殊的x权限。
本文讲述了Linux中的超级用户与普通用户权限区别,如何转换权限,提权方法,以及文件权限的概念,包括文件类型与权限的关系、umask的作用和目录权限的解读。最后介绍了粘滞位在共享文件夹中的应用,确保文件安全。

被折叠的 条评论
为什么被折叠?



