目录
概念
Linux中的角色
- 当前用户
- 当前用户组
- 其他用户组
Linux中的权限
- 读
- 写
- 执行(不是所有文件都需要执行权限,仅限与应用程序)
普通用户和最高管理员
- 普通用户:安装系统时我们创建的用户,这个也是可以由管理员来分配,如:zed
- 最高管理员:root,Linux系统内置,当第一次使用root用户需要修改密码。
修改最高管理员root用户的密码:
sudo passwd -- 然后按照提示输入密码即可
注意:终端输入密码时没有提示,如果输入错误按回车键会提示你重新输入。
普通用户和最高管理员切换
- 普通用户切换root用户
sudo -i -- 没有设置密码的时候,使用这个进入 su root -- 设置密码之后。通过这个命令进入
- root用户切换普通用户
su 用户名
用户相关操作
添加新用户
语法:useradd [选项] 用户名
eg: useradd -d /home -m lucy 解释:创建了一个用户lucy,并在家目录下为她分配了一个同名目录。
注意:如果在新建用户的时候没有指定用户组。系统就会自动创建与一个与用户组名相同的组名,并让新用户属于这个组。
例如:
lucy:lucy
eg:useradd -d /home/peter -mg lucy peter
说明:创建了peter用户,并创建了peter在home中的目录,将peter用户添加到lucy用户组中。
查看用户所属的组
语法:[sudo] groups 用户名
注意:sudo是在普通用户,临时提升提升权限至root
删除用户
语法:userdel [选项] 用户名
eg:userdel -rf peter 解释:删除peter用户,并再不提示任何信息的情况递归删除peter目录。
给用户添加口令(密码)
选项:
- -l :锁定口令,也就是禁用账号
- -u :口令解锁
- -d :使账号无口令
- -e :强制用户下次登录时修改口令 说明: ROOT用户下,给lucy设置密码:
说明:
- ROOT用户下,给lucy设置密码:
passwd lucy -- 这里对密码复杂度没有要求
- 普通用户下,给lucy设置密码:
passwd -- 这里对密码复杂度有要求
修改用户
语法: 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,可以有多个群 组,用 , 分割
用户组相关操作
添加用户组
语法: groupadd [选项] 组名
选项:
-g :GID,指定新用户组的组标识(唯一编号),如果不指定,系统会自动编号
eg: groupadd workgroup 创建一个工作组
查看所有用户组
- 语法: cat /etc/group
- 语法: cat /etc/gshadow
删除用户组
语法: groupdel [选项] 组名
eg: groupdel workgroup 删掉我们添加的workgroup组
修改用户组
语法: groupmod [选项] 新组名 旧组名
选项:
- -g :GID,微信的组指定新的唯一标识
- -o :和 -g 选项同时使用,允许用户组的新的GID和系统已有用户组的GID相同
- -n : 新用户组 将用户组的名字改为新名字
eg: groupmod -n C+Work workgroup 将workgroup组名改成C+Work
eg: groupmod -n workgroup C+Work -g 1003 -o 将C+Work改名workgroup,并且要求组和已经存在1003对 应的组GID相同
权限管理
- 修改目录的拥有者
解释:目录也就是文件夹,目录的拥有者也就是目录的创建者
语法: 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组内所有 用户)
- 修改文件或文件夹的可读可写可执行权限
语法: 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 ,三个数字,第1个数字代表当前用户(4+2+1),第2 个数字代表当前用户组(4+2+1),第3个数字代表其他用户(4+2+1),每个数字都是权限累 加的结果,比如 777 其实就是 4+2+1,4+2+1,4+2+1 。
eg: chmod 750 demo01.c 将当前路径下的demo01.c文件的拥有者权限设置为可读可写可执 行,同组用户可读可执行,其他用户没有任何权限。
快捷键
Ctrl + L :对终端当前屏幕进行清空,等价于 clear 这个指令
方向键上/下 :在终端通过方向键,从历史命令中获取历史命令。
Tab :对命令行中的命令进行补全,这里要注意,如果前缀在同级中有多个对应文件或者文件夹,会 失效。
Ctrl + c :强制退回到命令行状态(一般用于命令输错时)
存储单位换算
常用磁盘(硬盘)容量单位。
最小内存是以字节为单位。
- B:1Byte = 8bit
- KB:1KB = 1024B
- MB:1MB = 1024KB
- GB:1GB = 1024MB
- TB:1TB = 1024GB
- PB:1PB = 1024TB
三种方式学习Linux指令
- man [cp ] 官方帮助文档,不需要借助外网,但是是纯英文的
- [cp] -- help 中文翻译版的API文档,不需要借助外网,大部分内容是中文的
- 菜鸟教程:编程小白的强大利器,这个需要外网:https://www.runoob.com/
- 其他:AI