第三章
一.Linux 的 root 用户
(1)了解什么是root用户(超级管理员)
无论是 windows 、Macos、 Linux均采用多用户的管理员模式进行权限管理。
在Linux系统中,拥有最大权限得账户名为:root( 超级管理员)
而在前面两章,我们一直使用的账户是普通用户:lijuan
root 用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。
如:普通用户在根目录下创建文件夹会提示权限不够,切换到root用户后 尝试是可以进行的。
注意:
普通用户的权限,一般在其HOME目录内是不受限的
一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限。
(2) 用户切换命令
su和exit 命令
在前面,我们接触果su命令切换到root账户。
su 命令就是用于账户切换的系统命令,其来源英文单词: switch user
语法: su - {用户名}
1 - 符号是可选的,表示是否切换在用户后加载环境变量,建议带上
-
参数:用户名,表示切换的用户,用户名可以省略表示切换到root
-
切换用户后,可以通过 exit 命令退回上一个用户,也可以使用快捷键:ctrl + d
-
使用普通用户,切换到其他用户需要密码,如切换到root用户
-
使用root用户切换到其他用户,无需密码,可以直接切换
(3)sudo命令
1.在得知root密码的时候,可以通过 su 命令得到最大权限。但是不建议长期使用root用户,避免带来系统损坏。
我们可以使用sudo命令,为普通的命令授权,临时以root 身份执行。
语法: sudo 其他命令
在其他命令之前,带上sudio,即可为这一条命令临时赋予 root授权
但是并不是所有的用户,都有权力使用sudo,我们需要为普通用户配置sudo认证
2.为普通用户配置sudo 认证
切换到root用户,执行visudo命令,会自动通过vi 编辑器打开: /etc/sudoers
在文件的最后添加
lijuan ALL=(ALL) NOPASSWD:ALL
其中最后的NOPASSWD:ALL表示使用 sudo 命令,无需输入密码
最后通过wq 保存。
切换回普通用户
执行的命令,均以root运行。
二.用户和用户组
1.用户、用户组的概念
linux系统中可以配置多个用户,多个用户组,用户可以加入多个用户组中
Linux中关于权限管控级别有2个
针对用户的权限控制
针对用户组的权限控制
比如,针对某文件,,可以控制用户的权限,也可以控制用户组的权限。
(1)用户组管理
注意:以下命令需root用户执行
创建用户组
groupadd 用户组名
删除用户组
groupdel 用户组名
如创建一个 ITtest 用户组 groupadd ITtest
(2)用户管理
注意:以下命令需root用户执行
a .创建用户
useradd[-g -d]用户名
选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
选项:-d 指定用户HOME路径,不指定home目录默认存在:/home/用户名
b.删除用户
userdel [-r]用户名
选项:-r,删除用户home目录,不使用-r,删除用户时,home目录保留
c.查看用户所属组
id [用户名]
参数:用户名,被查看的用户,如果不提供则查看自身
d.修改用户所属组
usermod -aG 用户组 用户名,将指定用户加入用户组。
e.getent
使用 getent 命令,可以查看当前系统中有那些用户
1.语法: genten passwd
共有七份信息,分别时:
用户名:密码(x):用户ID:组ID:描述信息(无用):home目录/执行终端(默认bash)
2.使用getent命令,同样可以查看当前系统中有那些用户组
语法:getent group
包含3份信息,组名称:组认证(显示为x):组ID
2.用户,用户组管理的相关命令
1.Linux用户管理模式
linux 可以支持多用户,多用户组,用户加入多个组
Linux权限管控的单元是用户级别和用户组级别
2.用户,用户组相关管理命令
groupadd 添加组,groupdel删除组
useradd添加用户,usedel删除用户
usermod修改用户组,id命令查看用户信息
getent passwd查看系统全部用户信息
getent group 查看系统全部组信息
三.查看权限控制信息
1.查看linux文件的权限管控信息
通过 ls -l 可以以列表形式查看内容,并显示权限细节
红色框:表示文件、文件夹的权限控制信息。
绿色框:表示文件、文件夹所属用户。
黄色框:表示文件、文件夹所属用户组。
2.读、写、执行权限的含义
(1)认知权限信息
权限细节总共分为10个槽位
(2)rwx到底代表什么呢?
r(read)表示读权限
w(writ)表是写权限
x(execute)表示执行权限
针对文件、文件夹的不同,rwx的含义有细微差别
r
针对文件,可以查看文件内容
针对文件夹,可以查看文件夹内容,如ls命令
w
针对文件,表示可以修改此文件
针对文件夹,可以在文件夹内:创建、删除、改名等操作
x
针对文件,表示可以将文件作为程序执行
针对文件夹,表示可以更改工作目录到此文件夹,即cd进去
1举例:drwxr-xr-x, Desktop来表示
首先我们按细节图给他分好
【d】【rwx】【r-x】【r-x】
【d】这是一个文件夹,首字母d表示
【rwx】所属用户的权限(绿色框——lijuan)是:有r有W有x。对于Desktop这个文件的话,lijuan 用户可以对它进行读 写 执行 的权限
【r-x】所属用户组的权限(黄色框有——lijuan)是:有r 无w 有x,(- 表示无权限)。对于Desktop这个文件的话,lijuan 用户组可以对它进行 读执行,无修改创建权限
【r-x】其他用户的权限是:有r 无w 有x
对于Desktop这个文件的话其他用户 如GGB是可以对它进行 读 执行,无修改创建的权限
rw-rw-r--
2.举例2 hello.txt的权限细节 -rw-rw-r--
【-】【rw-】【rw-】【r - -】
【-】这是一个文件,首字母 - 表示
【rw-】所属用户的权限(绿色框——lijuan)是:有读写权限
【rw-】所属用户组的权限(黄色框有——lijuan)是有读写权限
【r - -】其他用户的权限是:有读权限
四、chmod 命令
(1)使用chmod 修改权限信息
我们可以使用chmod 命令,修改文件、文件夹的权限信息
注意:只有文件、文件夹的所属用户或root用户可以修改
语法: chmod 【-R】 权限 文件或文件夹
选项【-R】:对文件夹内的全部内容应用同样的操作
示例:
(2)使用数字序号标记权限
权限可以用位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其他用户权限。
r代表4,w代表2,x代表1
rwx的相互组合可以的到从0到7 的8种权限组合
案列
五、chown 命令
功能,修改文件,文件夹的所属用户、组
限制,只可root 执行
语法: chown 【-R】 【用户】【:】【用户组】 文件或文件夹
选项【-R】,同chmod,对文件夹内全部应用相同规则
选项,用户,修改所属用户,
选项,用户组,修改所属用户组
:用于分隔用户和用户组
注意普通用户无法修改所属为其他用户或组,所以此命令只适用于root用户执行
改所属用户:
改所属用户组
改用户组和用户