说明
- 不同于windows系统,Linux和其他类UNIX系统是多用户、多任务的操作系统。
- 多用户允许多人在Linux中创建独立的账户来确保个人数据的安全性;而多任务允许多个用户同时登陆,同时使用系统的软硬件资源。
用户管理
用户管理
查看所有用户和用户信息
cat /etc/passwd
新增用户
useradd 用户名
更改密码
root@debian:/home/xxx/test# passwd
输入新的 UNIX 密码:
root@debian:/home/xxx/test# passwd 用户名
输入新的 UNIX 密码:
删除用户
userdel 用户名
查看当前登陆用户(所有登陆的用户)
users
用户组管理
查看所有用户组
cat /etc/group
查看当前登陆用户组
groups
查看组内有哪些用户
groups 组名
添加用户组
groupadd 组名
删除用户组
groupdel 组名
用户权限管理
- 权限是操作系统用来限制用户资源访问的机制,权限一般分为读、写、执行。
- 系统中每个文件都拥有特定的权限、所属用户及所属组,通过这样的机制来限制哪些用户、哪些组可以对特定的文件进行什么样的操作。
- 文件和目录默认是属于所创建的用户和用户所属组
- 每个进程都是以某个用户的身份运行,所以进程的权限与该用户的权限一样,用户的权限越大,该进程所拥有的权限也就越大
- root用户有完整权限,也可以将部分权限赋予给其它用户。
- 不能直接使用root用户,权限太大,容易误删文件,造成系统出问题。
权限类型
权限 | 对文件的影响 | 对目录的影响 |
---|
r(读取) | 可读取文件内容 | 可列出目录内容 |
w(写入) | 可以修改文件内容 | 可在目录创建、删除文件 |
x(执行) | 可以作为命令执行 | 可访问目录内容 |
- 所以,目录必须拥有 “x” 权限才可查看其内容。很多时候,执行权限 “x” 对于目录而言也叫浏览权限。仅有 “r” 权限是无法查看目录内容的(因为连访问都做不到)。
UGOA模型
- U 代表 User,是文件或文件夹所属用户的权限;G 代表 Group,是文件或文件夹所属组的权限;O 代表 Other,是其他用户对文件或文件夹的权限; A 代表 UGO
- 权限三个一组(rwx),对应 UGO 分别设置(总共有 3 个组 9 个权限)
- 每一个文件拥有一个所属用户和所属组,对应 U、G模型;不属于该文件所属用户和所属组的使用 O(Other)模型对应的权限
- 使用 ls -l 可以查看权限信息
root@debian:/home/xxx/test# ls -l
总用量 4
-rwxrwxrwx 1 lwh lwh 2 6月 5 23:17 t.txt
root@debian:/home/xxx/test#
- 第1位是文件类型描述符,“d"表示目录,”-"表示文件
- 第2-4位"rwx"是U模型权限,可读可写可执行
- 第5-7位"r-x"是G模型权限,可读可执行,不可写
- 第8-10位"r-x"是O模型权限
- 1: 文件链接数量
- lwh:所属用户U
- lwh:所属组G
- 2:文件大小
- 6月 5:日期
- 23:17:时间
- t.txt:文件或目录名
更改文件或目录所属用户和组
chown username filename
常用参数:
-R 归地修改目录下所有文件的所属用户
chgrp groupname filename
常用参数:
-R 递归地修改目录下所有文件的所属组
更改权限
chmod mode filename
mode 参数格式如下:
u、g、o 分别代表用户、组、其他
a 代表ugo
+、-、= 代表加入或删除或设置对应权限
r、w、x 代表三种权限
-R 递归地修改
示例:
chmod u +rw test.md 给文件的所属用户添加rw权限
chmod g -x test.md 给文件的所属组移除x权限
chmod go +r test.md 给文件的所属组和其他用户添加r权限
chmod a -x test.md 给文件的所属UGO三个模型均移除x权限
命令 chmod 也支持以三位八进制数值的方式修改权限,rwx 权限值分别由数字表示如下:
r = 4 (2 ^ 2)
w = 2 (2 ^ 1)
x = 1 (2 ^ 0)
使用数字表示权限时,每组权限分别为对应数字之和:
rw = 4 + 2 = 6
rwx = 4 + 2 + 1 = 7
r-x = 4 + 1 = 5
所以,使用数字表示 UGO 权限时,可以用如下方式表示:
chmod 0660 test.md 设置 UGO 权限为 rw-rw----
chmod 0775 test.md 设置 UGO 权限为 rwxrwxr-x