【玩转Linux】如何简单快速理解权限?

linux操作系统的shell命令及运行原理

在Linux系统中,shell充当着用户与操作系统内核之间的桥梁。为什么我们不能直接与内核交互呢?因为内核(kernel)是操作系统的核心部分,负责管理硬件资源和提供服务,而用户通常通过shell这个命令行解释器(command interpreter)来与内核沟通。shell的作用类似于Windows中的图形用户界面(GUI),它解析用户输入的命令,并将这些命令传递给内核执行,内核执行完毕后,shell再将结果解析并反馈给用户。

【玩转Linux】如何简单快速理解权限?

Linux权限管理

在Linux中,存在两种类型的用户:超级用户(root)和普通用户。用户可以通过su命令来切换身份,例如:

从root切换到普通用户user:su user从普通用户user切换到root:su root(可以省略root)

Linux文件权限管理涉及文件访问者的分类(人)和文件类型及访问权限(事物属性)。文件权限的基本表示方法如下:

Linux表示 说明 Linux表示 说明

r–只读-w-仅可写–x仅可执行rw-可读可写-wx可写和可执行r-x可读可执行rwx可读可写可执行—无权限

设置文件访问权限的方法主要包括chmod、chown和chgrp命令:

chmod:用于修改文件的权限。例如,chmod 755 filenamechown:用于修改文件的拥有者。例如,chown user filenamechgrp:用于修改文件的所属组。例如,chgrp group filename

umask命令用于设置新文件的默认权限。例如:

# umask 755# umask //查看# umask 044 //设置

sudo命令用于以其他用户身份执行命令。可以通过修改/etc/sudoers文件来分配sudo权限,例如:

# chmod 740 /etc/sudoers# vi /etc/sudoers

然后在文件中添加相应的配置,例如:

表单大师AI 表单大师AI

一款基于自然语言处理技术的智能在线表单创建工具,可以帮助用户快速、高效地生成各类专业表单。

表单大师AI 74 查看详情 表单大师AI

接受权限的用户登陆的主机 =(执行命令的用户) 命令

使用sudo执行授权的命令,例如:

$ sudo –u 用户名 命令

例如:

$ sudo -u root /usr/sbin/useradd u2

目录权限的特殊情况

在Linux中,如果用户对目录具有写权限,他们就可以删除目录中的文件,即使他们没有这些文件的写权限。这可能看起来不合理,因为理论上张三创建的文件不应该被李四删除。以下是一个验证过程:

[root@localhost ~]# chmod 0777 /home/[root@localhost ~]# ls /home/ -lddrwxrwxrwx. 3 root root 4096 9月 19 15:58 /home/[root@localhost ~]# touch /home/root.c[root@localhost ~]# ls -l /home/总用量 4-rw-r--r--. 1 root root 0 9月 19 15:58 abc.cdrwxr-xr-x. 27 litao litao 4096 9月 19 15:53 litao-rw-r--r--. 1 root root 0 9月 19 15:59 root.c[root@localhost ~]# su - litao[litao@localhost ~]$ rm /home/root.c #litao可以删除root创建的文件rm:是否删除有写保护的普通空文件 "/home/root.c"?y[litao@localhost ~]$ exitlogout

为了解决这个问题,Linux引入了粘滞位(sticky bit)的概念。设置了粘滞位的目录,其中的文件只能由文件的拥有者或root用户删除。例如:

[root@localhost ~]# chmod +t /home/ # 加上粘滞位[root@localhost ~]# ls -ld /home/drwxrwxrwt. 3 root root 4096 9月 19 16:00 /home/[root@localhost ~]# su - litao[litao@localhost ~]$ rm /home/abc.c #litao不能删除别人的文件rm:是否删除有写保护的普通空文件 "/home/abc.c"?yrm: 无法删除"/home/abc.c": 不允许的操作

关于权限的总结

目录的可执行权限(-x)表示用户是否可以在这个目录下执行命令。如果目录没有-x权限,用户将无法执行任何命令,甚至无法使用cd命令进入该目录,即使目录有-r读权限。相反,如果目录具有-x权限但没有-r权限,用户可以执行命令和进入目录,但由于没有读权限,无法读取目录下的文件。

学习编程需要循序渐进,夯实基础,不要在不稳固的基础上构建高台。

以上就是【玩转Linux】如何简单快速理解权限?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/488551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月8日 14:40:35
下一篇 2025年11月8日 14:41:52

相关推荐

发表回复

登录后才能评论
关注微信