Linux 系统权限概述
• Linux 是多用户多任务操作系统,为了确保系统安全和稳定,需要精细的权限管理。系统中的每个文件、目录和进程都有相应的权限设置,决定了哪些用户或用户组可以对其进行访问和操作。
权限架构
• 用户和用户组
◦ 用户:Linux 系统中的用户是权限管理的基本对象。分为 root 用户(超级用户)和普通用户。root 用户拥有最高权限,可以对系统进行任何操作。普通用户则受到权限限制,只能在其权限范围内进行操作。
◦ 用户组:为了方便管理用户权限,将具有相同权限需求的用户归为一个用户组。例如,开发人员可以属于一个开发组,他们对开发相关的文件和目录具有特定的访问权限。
• 文件权限
◦ 读(r):允许用户查看文件的内容。例如,对于一个文本文件,具有读权限的用户可以使用文本编辑器打开并查看文件内容。
◦ 写(w):允许用户修改文件的内容。例如,用户可以向文件中添加、删除或修改数据。
◦ 执行(x):对于可执行文件(如脚本或二进制程序),允许用户运行该文件。对于目录,执行权限允许用户进入该目录。
• 权限表示
◦ 数字表示法:用三位数字表示文件权限,每位数字对应所有者、所属组和其他用户的权限。例如,755表示所有者具有读、写、执行权限(4 + 2 + 1 = 7),所属组和其他用户具有读和执行权限(4 + 1 = 5)。
◦ 字符表示法:例如,rwxr-xr-x,分别表示所有者、所属组和其他用户的权限,r表示读,w表示写,x表示执行,-表示没有相应权限。
运维中的权限管理
• 系统安全
◦ 通过合理设置文件和目录权限,可以防止未经授权的用户访问敏感信息或篡改系统文件。例如,将系统配置文件的权限设置为只允许 root 用户和相关系统组进行读写操作,避免普通用户误操作或恶意修改导致系统故障。
• 用户管理
◦ 运维人员可以根据用户的工作需求为其分配相应的权限。例如,为数据库管理员用户赋予对数据库文件和相关配置文件的读写权限,使其能够正常管理数据库;为普通用户只分配对其个人目录的读写权限,确保用户数据的独立性和安全性。
• 进程权限
◦ 进程在运行时也具有相应的权限。例如,网络服务进程通常需要绑定到特定的端口(如 80 端口用于 HTTP 服务),但普通用户没有权限绑定到小于 1024 的端口,因此需要将网络服务进程以 root 用户或具有相应权限的用户身份运行。不过,为了安全起见,应尽量减少以 root 用户身份运行的进程,避免潜在的安全风险。
权限管理命令
• chmod:用于修改文件或目录的权限。例如,chmod 777 file.txt将文件file.txt的权限设置为所有者、所属组和其他用户都具有读、写、执行权限。
• chown:用于更改文件或目录的所有者和所属组。例如,chown user:group file.txt将文件file.txt的所有者更改为user,所属组更改为group。
Linux 系统权限架构为系统的安全运行和高效运维提供了有力保障。运维人员需要深入理解并合理运用权限管理,以确保系统的稳定性、安全性和可用性。
一,权限体系架构:
用户身份:
-
用户UID(0=root,1-999系统用户,1000+普通用户)
-
用户组GID(主组/附加组)
-
getent passwd/getent group查看完整映射 -
权限类型:
-
rwx权限位(文件/目录差异)
-
特殊权限(SUID/SGID/sticky bit)
-
-
访问控制扩展:
-
ACL(setfacl/getfacl实现细粒度控制)
-
SELinux/AppArmor(强制访问控制)
-
二、关键运维技术
1.权限管理命令
# 递归修改属主/属组
chown -R apache:apache /var/www
# 权限掩码计算(777 - umask)
umask 027 # 默认创建750权限
# SUID设置(passwd命令示例)
chmod u+s /usr/bin/passwd
2.特权分离实践
-
服务账户隔离(如nginx运行用户为www-data)
-
能力机制(替代root全权):
setcap 'cap_net_bind_service=+ep' /usr/sbin/nginx
3.审计与监控
实时监控敏感目录:
auditctl -w /etc/shadow -p war -k shadow_access
权限变更日志分析:
grep 'chmod\|chown' /var/log/auth.log



被折叠的 条评论
为什么被折叠?



