首页 > 运维 > linux运维 > 正文

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

星夢妙者
发布: 2025-06-20 09:22:22
原创
258人浏览过

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 filename。
  • chown:用于修改文件的拥有者。例如,chown user filename。
  • chgrp:用于修改文件的所属组。例如,chgrp group filename。

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

# umask 755
# umask //查看
# umask 044 //设置
登录后复制

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

# chmod 740 /etc/sudoers
# vi /etc/sudoers
登录后复制

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

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

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

$ sudo –u 用户名 命令
登录后复制

例如:

$ sudo -u root /usr/sbin/useradd u2
登录后复制

目录权限的特殊情况

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

[root@localhost ~]# chmod 0777 /home/
[root@localhost ~]# ls /home/ -ld
drwxrwxrwx. 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.c
drwxr-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 ~]$ exit
logout
登录后复制

为了解决这个问题,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"?y
rm: 无法删除"/home/abc.c": 不允许的操作
登录后复制

关于权限的总结

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

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

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

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号