文章目录
Linux的组管理和权限管理是Linux系统安全性的重要组成部分,它们共同确保了系统中文件和数据的安全访问。Linux的组管理和权限管理是Linux系统安全性的重要组成部分,它们共同确保了系统中文件和数据的安全访问。
一、组管理
1. 组基本介绍
在 linux 中的每个用户必须属于一个组,不能独立于组外,组是用户账户的集合,用于集中管理多个用户。通过组,系统管理员可以更方便地对一组用户进行权限控制。在 linux 中每个文件 有所有者、所在组、其它组的概念。 组的存在方便了权限设置,使得对一组用户的权限管理变得简单高效
2. 文件/目录 所有者 所在组
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组(默认)。
2.1 查看文件的所有者和所在组
ls -ahl
第一个root表示所有者,第二个root表示所在组
2.2 修改文件所有者
chown 用户名 文件名
2.3 修改文件所在组
chgrp 组名 文件名
2.4 其他组
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组
2.5 改变用户所在组
在添加用户时,可以指定将该用户添加到哪个组中,同样的用 root 的管理权限可以改变某个用户所在的组。
usermod –g 新组名 用户名 #改变所在组
usermod –d 目录名 用户名 #改变该用户登陆的初始目录。特别说明:用户需要有进入到新目录的权限。
3. 组操作
- 创建组:使用
groupadd
命令。可以指定组ID(GID)使用-g
选项。
groupadd -g GID groupname
- 修改组:使用
groupmod
命令。可以修改组的GID或名称。
groupmod -g newGID groupname
- 删除组:使用
groupdel
命令。注意,如果组是某个用户的主组,则不允许直接删除。
groupdel groupname
- 添加用户到组:使用
gpasswd
命令的-a
选项,或者使用usermod
命令的-aG
选项(注意usermod
的-aG
选项与gpasswd
的-a
选项用法略有不同,usermod
用于附加组,而gpasswd
用于主组或附加组)。
gpasswd -a username groupname
# 或者
usermod -aG groupname username
- 从组中移除用户:使用
gpasswd
命令的-d
选项。
gpasswd -d username groupname
4. 用户和组的存放位置
cat /etc/passwd
getent passwd
cat /etc/group
getent group
二、权限管理
1. 权限基本介绍
ls -l 中显示的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
0-9 位说明
第 0 位确定文件类型(d, - , l , c , b)
l 是链接,相当于 windows 的快捷方式
d 是目录,相当于 windows 的文件夹
c 是字符设备文件,鼠标,键盘
b 是块设备,比如硬盘
第 1-3 位确定所有者(该文件的所有者)拥有该文件的权限。—User
第 4-6 位确定所属组(同用户组的)拥有该文件的权限,—Group
第 7-9 位确定其他用户拥有该文件的权限 —Other
2. 文件访问者的分类
- 文件所有者(u):文件的创建者或修改者,对文件拥有最高的权限。
- 所属组(g):文件所有者所属的组,该组的成员对文件有一定的权限。
- 其他用户(o):既不是文件所有者也不属于文件所属组的用户,对文件有最低的权限。
3. rwx权限详解
3.1. 作用到文件
- [ r ] 代表可读(read): 可以读取,查看
- [ w ] 代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权 限,才能删除该文件.
- [ x ] 代表可执行(execute):可以被执行
3.2. 作用到目录
- [ r ] 代表可读(read): 可以读取,ls 查看目录内容
- [ w ] 代表可写(write): 可以修改, 对目录内创建+删除+重命名目录
- [ x ] 代表可执行(execute): 可以进入该目录
4. 文件及目录权限示例
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
10 个字符确定不同用户能对文件的权限:
第一个字符代表文件类型: - l d c b
其余字符每 3 个一组(rwx) 读® 写(w) 执行(x)
第一组 rwx : 文件拥有者的权限是读、写和执行
第二组 rw- : 与文件拥有者同一组的用户的权限是读、写但不能执行
第三组 r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行
可用数字表示为: r=4,w=2,x=1 因此 rwx=4+2+1=7 , 数字可以进行组合
其它说明:
数字1表示 该文件的硬连接数或 该目录的子目录数
root 用户
root 组
1213 文件大小(字节),如果是文件夹,显示 4096 字节
Feb 2 09:39 最后修改日期
abc 文件名
5. 修改权限的指令
-
chmod:用于修改文件或目录的权限。
-
- 符号表示法:通过角色(u/g/o/a)+权限(r/w/x)来修改。
chmod u+x,g+w filename
-
- 数字表示法:通过三个八进制数来修改,每个数字代表对应角色的权限(r=4, w=2, x=1)。
chmod 755 filename
- chown:用于改变文件或目录的所有者。
chown newowner filename
# 同时改变所有者和所属组
chown newowner:newgroup filename
- chgrp:用于改变文件或目录的所属组。
chgrp newgroup filename
6. 权限的继承与特殊权限
-
目录的默认权限:新创建的目录默认具有执行权限,以便用户可以进入该目录。
-
umask:用于设置文件创建时的权限掩码,影响新创建文件或目录的默认权限。
-
特殊权限:
-
- SUID:允许用户在执行文件时临时获得文件所有者的权限。
- SGID:对目录设置SGID后,在该目录下创建的新文件将自动继承该目录的所属组。
- Sticky Bit:用于目录,防止其他用户删除或移动该目录下的文件,即使他们具有写权限。