【Linux】 - Linux中的权限机制

举报
1+1=王 发表于 2022/12/17 10:48:31 2022/12/17
【摘要】 【Linux】 - Linux中的权限机制

@[TOC]

从文件属性看权限

在这里插入图片描述
列在输出结果中的前10个字符表示的是文件属性,其中第一个字符表示文件类型,其余9个字符称为文件模式,分别表示文件所有者、文件所属群组以及其他所有用户对该文件的读取、写入和执行权限。
在这里插入图片描述

文件类型

标示符 类型
- 普通文件
d 目录文件
l 符号链接。注意对于符号链接文件,剩下的文件属性始终是rwxrwxrwx,它是个 伪属性值。符号链接指向的文件的属性才是真正的文件属性
c 字符设备文件。该文件类型表示以字节流形式处理数据的设备,如终端或调制解 调器
b 块设备文件。该文件类型表示以数据块方式处理数据的设备,如硬盘驱动或者光 盘驱动

权限属性

标示符 文件属性 目录属性
r 允许打开和读取文件 如果设置了执行权限,那么允许列 出目录下的内容
w 允许写入或者截短文件;如果也设置了执行 权限,那么目录中的文件允许被创建、被删 除以及被重命名 但是该权限不允许重命名或者删除 文件。是否能重命名和删除文件由 目录权限决定
x 允许把文件当作程序一样来执行。用脚本语 言写的程序文件必须被设置为可读,以便能 被执行 允许进入目录下
文件属性 含义
-rwx------ 普通文件,文件所有者具有读取、写入和执行权限。组成员和其他所 有用户都没有任何访问权限
-rw------- 普通文件,文件所有者具有读取和写入权限。组成员和其他所有用户 都没有任何访问权限
-rwxr-xr-x 普通文件,文件所有者具有读取、写入和执行权限。其他所有用户也 可以读取和执行该文件
Lrwxrwxrwx 符号链接。所有的符号链接文件显示的都是“伪”权限属性,真正的权 限属性由符号链接指向的实际文件决定
drwxr-x— 目录文件。文件所有者可以进入该目录,而且可以创建、重命名和删 除该目录下的文件。所有者所在群组的成员可以进入该目录,但是不 能创建、重命名和删除该目录下的文件

id(显示用户身份标识)

在这里插入图片描述

chmod(更改文件模式)

chmod命令来更改文件或者目录的模式(权限)。只有文件所有者和超级用户才可以更改文件或者目录的模式。

chmod命令支持两种不同的改变文件模式的方式——八进制数字表示法 和符号表示法。

1. 八进制数字表示法
在这里插入图片描述

通过使用3位八进制数字,我们可以分别设置文件所有者、组成员和其他所有用户的文件模式。

chmod 700 foo.txt

在这里插入图片描述
2. 符号表示法
chmod命令支持一种符号表示法来指定文件模式。该符号表示法分为三 部分:更改会影响谁、要执行哪个操作以及要设置哪种权限。

==可以通过字符u、g、o和a的组合来指定要影响的对象:==

符号 含义
u 文件或者目录的所有者
g 文件所属群组
o 其他所有用户
a ‘u’, ‘g’和‘o’三者的组合

==可以通过字符+、-、=的组合来指定要执行哪个操作:==

符号 含义
+ 添加一种权 限
- 表示删除一种权限
= 表示只有指定的权限可用,其他所有的 权限都被删除

==权限由字符“r”、“w”和“x”来指定。==

chmod命令符号表示法实例

符号 含义
u+x 为文件所有者添加可执行权限
u-x 删除文件所有者的可执行权限
+x 为文件所有者、所属群组和其他所有用户添加可执行权限,等价于a+x
o-rw 除了文件所有者和所属群组之外,删除其他所有用户的读写权限
go=rw 除了文件所有者之外,设置所属群组和其他所有用户具有读写权限。
u+x, go=rx 为文件所有者添加可执行权限,同时设置所属群组和其他所有用户具有读权 限和可执行权限。

su(以另一个用户的身份运行shell)

su命令用来以另一个用户的身份来启动shell。

su [-[l]] [user_name]

# “-l”可缩写为“-”
# 没有指定user_name默认为用户root

在输入su命令后,系统会提示输入该超级用户的密码,开启一个新的交互命令界面。

也可以使用su命令执行单个命令,而不需要开启一个新的交互式命令界面,操作方式如下:

su -c "command"	# command表示待执行的命令

sudo(以另一个用户的身份执行命令)

sudo命令类似于su命令。

管理者可以通过配置sudo命令,使系统以一种可控的方式,允许一 个普通用户以一个不同的用户身份(通常是超级用户)执行命令。在特 定情况下,用户可能被限制为只能执行一条或者几条特定的命令,而对 其他命令没有执行权限。另一个重要的区别在于,使用sudo命令并不需 要输入超级用户的密码。使用sudo命令时,用户只需要输入自己的密码来进行认证。

chown(更改文件的所有者)

chown命令用来更改文件或者目录的所有者和所属群组(需要超级用户权限)。

chown [ower][:[group]] file

chown命令更改的是文件所有者还是文件所属群组,或者对两者都更 改,取决于该命令的第一个参数。

chown命令实例:

命令 结果
chown user file 把文件file所有者从当前所有者更改为用户user
chown user:users file 把文件file所有者从当前所有者更改为用户user,并把文件所属群组更改为 users组
chown :users file 把文件file所属群组更改为admins组,文件所有者不变
chown user: file 把文件所有者从当前所有者更改为用户user,并把文件所属群组更改为用户user登录系统时所属的组

passwd(更改用户密码)

使用passwd命令,可以设 置或者更改密码。该命令的语法格式如下。

passwd [user_name]

如果要更改的是用户自己的密码,那么只需要输入passwd命令。接下来 shell将会提示用户输入旧密码和新密码。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。