宇宙免责声明:只用于本人学习笔记
1、root用户(超级管理员)
root用户拥有最大的系统操作权限,而普通用户在许多地方权限受限
2、su 命令
可以用来切换用户,语法:su [ - ] [ 用户名 ]
- 表示切换后加载环境变量,建议带上
用户可以省略,省略不写默认切换到root
切换时,从普通用户切换到其他用户需要输入密码,而从root用户切换到其他用户时可直接切换
3、 sudo 命令
可以让一条普通命令带有root权限,语法:sudo 其他命令
需要先进入root用户执行 visudo 命令,增加配置后就可以让普通用户有sudo命令的执行权限
4、用户、用户组
一个用户可以加入多个用户组中
1.用户组管理相关命令(以下命令需root用户执行)
(1)创建用户组:groupadd 用户组名
(2)删除用户组:groupdel 用户组名
2.用户管理相关命令(需root用户执行)
(1)创建用户:useradd 用户名 [ -g -d ] [ 用户组 ]
选项 -g 用来指定用户所属的组,如果不指定用户所属的组,系统会默认创建和用户名相同名称的组并将用户加入里面,即一人一组,如果用户指定所属的组,则需要组已经存在,必须使用 -g,示例如下:
选项 -d 指定用户的HOME路径,不指定的话,HOME目录默认在:/home/用户名
(2)删除用户:userdel [ -r ] 用户名
-r 用来删除用户的HOME目录,不使用 -r ,在删除用户时,HOME目录会保留
所以删除用户时带 -r 会直接删干净
(3)查看用户所属的组:id [ 用户名 ]
参数,用户名表示被查看的用户,如果只写 id 则查看当前所在的用户
(4)修改用户所属组:usermod -aG 用户组名 用户名
表示将指定用户加入指定用户组,即一个用户可以加入多个组
3. getent 命令,可以查看当前系统中有哪些用户/用户组
(1) getent passwd 表示查看当前系统中的用户
共显示7份信息,分别为:
用户名:密码:用户ID:组ID:描述信息:HOME目录:执行终端(默认为bash)
(2) getent group 命令,可以查看系统中的用户组
包含3份信息:组名称:组认证:组ID
5、权限管理
权限信息:
根据上图:
序号1 表示文件/文件夹的权限控制信息
权限控制信息共分为10个位置,分别表示不同的属性
其中 r,w,x 分别表示可读可写可执行
针对文件和文件夹,rwx的含义有细微差别如下:
r 针对文件和文件夹区别不大,都是查看文件/文件夹内容
w 针对文件表示可以修改此文件,针对文件夹表示在文件夹内可以创建,修改,删除等操作
x 针对文件表示可以将文件作为程序执行,针对文件夹表示可以更改工作目录到此文件夹,即cd命令
序号2 表示文件/文件夹的所属用户
序号3 表示文件/文件夹的所属用户组
6、修改权限控制 chmod、chown
1. chmod 命令,可以用来修改文件、文件夹的权限信息
注意:只有文件、文件夹的所属用户和root用户才能修改
语法:chmod [ -R ] 权限 文件/文件夹
选项 -R 用于对文件夹内的全部内容应用同样的权限操作
例如:
(1)修改文件权限
chmod u=rwx,g=rx,o=x test.txt 表示将其文件权限修改为 -rwxr-x--x
其中,u代表所属用户,g代表用户组,o代表其他用户
(2)修改文件夹权限
chmmod -R u=rwx,g=rwx,o=rx test 表示将文件夹的权限修改为 drwxrwxr-x
由于加了选项 -R 所以该文件夹内的所有内容的权限都和该文件夹的权限一样
(3)快捷写法
chmod 754 hello.txt 表示将文件的权限修改为 -rwxr-xr--
可以理解为用二进制表示,即:7->111->rwx
5->101->r-x
4->100-->r--
2. chown 命令,用来修改文件和文件夹的所属用户和用户组
普通用户无法修改,只能用root用户执行
语法:chown [ -R ] [ 用户 ] [ : ] [ 用户组 ] 文件或文件夹
选项 -R 和 chmod 命令的用法一样
选项 用户 修改所属用户
选项 用户组 修改所属用户组
:用于分割用户和用户组,前面时用户,后面是用户组
(1) chown root hello.txt 表示将文件所属用户修改为root
(2) chown :root hello.txt 表示将文件所属用户组修改为root
(3) chown root:itheima hello.txt 表示将文件所属用户修改为root,所属用户组修改为itheima
(4) chown -R root:root test 表示将test文件夹的所属用户和所属用户组都修改为root,该文件夹内的全部内容都做同样修改