目录
一、概念
(一)Linux中的角色:
- 当前用户
- 当前用户组
- 其他用户组
(二)Linux中的权限:
- 读
- 写
- 执行(不是所有的文件都需要执行权限,权限于应用程序)
(三)普通用户和最高管理员
- 普通用户:安装系统时我们创建的用户,这个也可以由管理员来分配,如:yueqian
- 最高管理员:root,Linux系统内置,当第一次使用root用户需要修改密码
修改最高管理员root用户的密码:
sudo passwd -- 然后按照提示输入密码即可
注意:终端输入密码时没有提示,如果输入错误按回车键会提示你重新输入
二、相关操作
(一)普通用户和最高管理员切换
1. 普通用户切换root用户
指令:
sudo -i
su root -- 设置密码之后,可以通过这个命令进入
2. root用户切换普通用户
指令:su 用户名
(二)用户相关操作
1. 添加新用户
语法:useradd [选项] 用户名
Eg:useradd -d /home/lucy -m lucy;创建了一个用户lucy,并在家目录下为她分配了一个同名目录。(-m :mkdir创建目录,有就加入没有就创建)
注意:如果在新建用户的时候没有指定用户组,就会创建一个与用户名相同的组名,并让新用户属于这个组。
例如:
lucy:lucy
Eg:useradd -d /home/peter -mg lucy peter (-d 目录 ;-mg m创建 g分组,有组就 加入,没有就创建)
说明:创建了peter用户,并创建peter用户在home中的目录,将peter用户添加到lucy用户组中
2. 查看用户所属的组
语法:[sudo] groups 用户名
注意:sudo是在普通用户中,临时提升权限至root
3. 删除用户
语法:userdel [选项] 用户名
Eg:userdel -rf peter 删除peter用户,并在不提示任何信息的情况递归删除peter目录。
4. 给用户添加口令(密码)
语法:passwd [选项] 用户名
选项:
-l:锁定口令,也就是禁用账号
-u:口令解锁
-d:使账号无口令
-e:强制用户下次登录时修改口令
说明:
root用户下,给lucy设置密码:
passwd lucy -- 这里对密码复杂度没有要求
普通用户下,给lucy设置密码:
passwd -- 这里对密码复杂度有要求
5. 修改用户
语法:usermod [选项] 用户名
选项:
-c:备注,修改用户账号的备注文字
-g:用户组,修改用户所属的用户组
-G:群组,修改用户所属的附加群组
-s:shell,修改用户登入后所使用的shell
-u:uid,修改用户id
Eg:usermod -g root lucy 将lucy用户所属的组改成root组
Eg:usermod -g lucy -G root lucy 将lucy用户所属的组改成lucy组,群组改成root,可以有多个群组,用“,”分割。
(三)用户组相关
1. 添加用户组
语法:groupadd [选项] 组名
选项:
-g:GID,指定新用户组的组标识(唯一编号),如果不指定,系统会自动编号
Eg:groupadd workgroup 创建一个工作组
2. 查看所有用户组
语法:
cat /etc/group
cat /etc/gshadow
3. 删除用户组
语法:groupdel [选项] 组名
Eg:groupdel workgroup 删除我们添加的workgroup组
4. 修改用户组
语法:groupmod [选项] 新组名 旧组名
选项:
-g:GID,为新的组指定新的唯一标识
-o:和-g选项同时使用时,允许用户组的新的GID和系统已有用户组的GID相同
-n:新用户组将用户组的名字改为新名字
Eg:groupmod -n YQ workgroup 将workgroup组名改为YQ
Eg:groupmod -n workgroup YQ -g 1003 -o 将YQ 改名为workgroup,并且要求YQ组和已经存在1003对应的组GID相同
(四)权限管理
1. 修改目录的拥有者
解释:目录也就是文件夹,目录的拥有者也就是目录的创造者
语法:chown [选项] 用户名 或者 :组名 文件/目录的路径
选项:
-c:显示更改部分的信息
-f:忽略错误信息
-h:修复符号链接
-R:处理指定目录以及子目录中的所有文件
-v:显示详细的处理信息
Eg:chown lucy /home/yueqian/demo01.c --修改demo01.c文件的拥有者为lucy(单个用户)
Eg:chown :root /home/yueqian/demo01.c --修改demo01.c文件的拥有者为root组(root组内所有用户)
2. 修改文件或文件夹的可读、可写、可执行权限
语法:chmod [选项] 权限 文件或目录的路径
选项:
-c:显示更改部分
-f:忽略提示信息
-R:递归修改指定目录及其子目录中的所有文件
-v:显示详细信息
(1)方式一:文字设定法
语法:chmod [who] [+,-,=] 权限名 文件或目录路径
格式说明:
who 可选:
a:all所有用户
u:user当前用户
g:group 当前用户组(当前用户所在组)
o:other 其他用户或者用户组
+:增加权限
-:删除权限
=:设置权限
权限名:
r:可读
w:可写
x:可执行
-:不可(不可读、写和执行)
Eg:chmod u=rwx,g=rx,o=- demo01.c 将当前路径下的demo01.c文件的拥有 者权限】设置为可读可写可执行,同组用户可读可执行,其他用户没有任何权限
(2)方式二:数字设定法
语法:chmod 权限数字 文件或目录的路径
格式说明:
权限数字:
r:4
w:2
x:1
-:0
注意:我们的权限数字表示:“777”,三个数字,第一个数字代表当前用户(4+2+1),第 二个数字代表当前用户组(4+2+1),第三个数字代表其他用户(4+2+1),每个数字都是权 限累加的结果,比如“777”其实就是4+2+1,4+2+1,4+2+1。
Eg:chomd 750 demo01.c 当前路径下的demo01.文件的拥有者权限设置为可读可写可执 行,同组用户可读可执行,其他用户没有任何权限
3. 权限说明
权限的类型 | 权限的数值 | 普通文件 | 目录(文件夹) |
r:可读 | 4 | cat,less,more等 | ls |
w:可写 | 2 | >(覆盖插入),>>(追加插入),touch,rm | mkdir,rmdir(删除空目录),rm(递归删除) |
x:可执行 | 1 | ./文件名(执行文件) | cd |
-:无权限 | 0 | 无操作 | 无操作 |
三、学习Linux指令的方式
- man [cp]:官方帮助文档,不需要借助外网,但是是纯英文的
- [cp] -- help:中文翻译版的API文档,不需要借助外网,大部分内容是中文的
- 菜鸟教程:编程小白的强大利器,需要外网
- 其他:
文心一言:百度大模型
通义灵码/天问:阿里大模型
昆仑天工
......