Skip to content

Linux 组管理和权限管理

组管理

Linux每个用户必须属于一个组,不能独立于组外,在Linux中,每个文件有所有者、所在组、其他组的概念。
1. 所有者 - 一般是创建文件的用户
2. 所在组
3. 其他组

查看文件所有者和所在组

ls -ahl

修改文件所有者

chown 用户名 文件名
chown 所有者:所在组 文件/目录
如果是目录,要使子文件和目录全部生效,添加 -R 选项

创建组

groupadd 组名
加入用户:
useradd -g 组名 用户名

修改文件所在组

chgrp 组名 文件名

改变用户所在组

usermod -g 新组名 文件名
改变用户初始目录:
usermod -d 目录名 用户名

权限管理

-rw-r--r-- 1 oscar root 13 2月 7 15:52 apple.txt
0-9位说明 (d/-/l/c/b):
1. 第0位确定文件类型:
- l 是链接
- d 是目录
- c 是字符设备文件,例如鼠标、键盘
- b 是块设备,例如硬盘
2. 第1-3位确定所有者对文件的权限
3. 第4-6位确定所属组对文件的权限
4. 第7-9位确定其他用户对文件的权限

rwx 对于文件:
r 代表可读,w 代表可写,x 代表可执行
rwx 对于目录:
r 代表可读,可以查看目录内容,w 代表可写,可以对目录内创建、删除、重命名,x 代表可以进入该目录
也可以用数字表示:r = 4, w = 2, x = 1
第二列的数字:如果是文件,就是硬连接数;如果是目录,就是子目录数+文件数

修改权限

  1. 通过 + - = 变更权限
    u = 所有者 g = 所有组 o = 其他人 a = 所有人
    例如:
    chmod u=rwx, g=rx, o=x 文件/目录名
  2. 通过数字变更权限
    r = 4, w = 2, x = 1
    chmod u=rwx,g=rx,o=x 文件/目录名 相当于 chmod 751 文件/目录名