Linux - Linux中的权限机制

Posted 1 + 1=王

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux - Linux中的权限机制相关的知识,希望对你有一定的参考价值。

文章目录

从文件属性看权限


列在输出结果中的前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将会提示用户输入旧密码和新密码。

以上是关于Linux - Linux中的权限机制的主要内容,如果未能解决你的问题,请参考以下文章

Linux中的默认权限与隐藏权限(文件文件夹)

理解Linux文档的默认安全机制隐藏属性特殊权限,妈妈在也不用担心你从删库到跑路!!!

Linux之文件权限

Linux权限管理总结--基础权限

linux 06 linux中的用户权限文件权限与目录权限

Android uid和pid安全机制