权限的理解

本文介绍了在Linux系统中,如何在普通用户权限下使用sudo提升权限,如何通过chmod修改文件权限,包括文件所有者、所属组和使用umask设置默认权限。还详细讲解了粘滞位的概念,用于解决多用户开发中的文件保护问题。

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

账号的权限

在Linux下超级用户就是root,root账号基本可以做任何事,普通用户在某些方面则会受到权限不足无法执行指令的约束。

那如果我们想要在普通用户下执行超出自己权限的命令是该怎么办呢?

我们可以使用sudo来短暂的提升自己的权限,但是使用sudo的前提是我们的账户要在信任列表里。

那该如何把自己的账户添加到信任列表里呢?

c4b32cf2232e4503bd9ba5aeb1f8e8d6.png

当我们在root账户下执行vim /etc/sudoers命令后找到%wheel的位置,把%wheel那一行复制到下面一行,将%wheel改成自己的账户名即可。切回后就可以使用sudo命令了

文件的权限:

属性权限:

“r”对应的是读取权限,“w”对应的是写入权限,“x”权限对应的是执行权限,比如一个文件没有x权限的话,则我们无法进入这个文件

怎么修改文件的权限呢?

u,g,o,a分别对应拥有者,所属组,其他人,前三个之和

43599b922cb8423da61145402632b462.png

前一个bmm为拥有者,后一个为所属组

修改rwx

使用chmod u-r 文件名,就删除了拥有者的r权限。

使用chmod u+r 文件名,就添加了拥有者的r权限。

使用chmod a-r 文件名,就删除了拥有者,所属组,其他人的r权限。

注:若文件不在当前路径下则需要所以绝对路径

也可以使用8进制的方法来修改,1代表有,0代表无。因为二进制下111的值为7。如777代表所以权限都有,776代表没有x权限。

chmod 7(代表拥有者)7(代表所属组)7(代表other) 文件名。

注:若文件不在当前路径下可以采用绝对路径,相对路径不行

修改拥有者和所属组

普通用户是不能将其文件的所属组和拥有者改成其他人,必须要权限提升才行,此操作一般是管理员进行操作。

使用(chown  修改后的拥有者 文件名)来进行修改

chown user1 file 将file文件的拥有者改为user1

chown :user1 file 将file文件的所属组改为user1

chown user1:user2 file 将file文件的拥有者改为user1,所属组改为user2

chgrp user1 file 也可以修改文件的所属组

注:若文件不在当前路径下可以采用绝对路径,相对路径不行

umask

在文件创建的时候就会有一个默认的权限,我们可以通过umask命令来设置默认权限

Linux下,普通文件默认为666,目录为777

目录的最大默认权限是读、写、执行;但文件的默认最大权限只有读、写;文件的执行权限不会在默认权限中赋予,只能用户手动赋予。

如果umask 022,这样目录的权限就是755,通过777与设置的022相减得到

粘置位权限(x权限的一种特殊形式,只能给目录设置,只能给other设置)

当我们进行多用户在同一个目录下开发时,目录对每个用户都具有读写权限

这样就会有一个问题,别人想要删除我们的文件该怎么办?

有人说可以修改文件的权限,但其实这种方法是不行的,因为当我们将自己文件对other设置成000,虽然other不能对我们的文件进行读写以及打开,但是可以删除,这是由于能不能删除是由该文件的目录是否有w权限决定的,由于是多用户开发,w权限是肯定有的。

由此为了解决这个问题就有了粘滞位的概念,当目录被赋予粘滞位权限后,每个用户则就只能对自己创建的文件进行删除了,无法删除别的用户的文件

设置粘滞位

chmod +t 目录(可以采用绝对路径,相对路径不行)

删除粘滞位

一般来说粘滞位谁设置谁取消,权限更高的用户也是可以取消(root)。

chmod -t 目录(可以采用绝对路径,相对路径不行)

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值