root用户(超级管理员)
无论是Windows,MacOS,linux均采用多用户的管理模式进行权限管理
在Linux系统中,拥有最大权限的账户为root(超级管理员)
而在前期,我们一直使用的账户是普通的用户:itheima
root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的
演示:
使用普通用户在根目录下创建文件夹
mkdir/test 然后就提示:无法创建目录,权限不够
切换到root用户后,继续尝试
su - root 然后弹出输入密码:123456
输出:上一次登录:-几月几号 还有时间
然后在输出:mkdir /test 就可以了
普通用户的权限,一般在其home目录内是不受权限的
一旦出了home目录,大多数地方,普通用户仅有只读和执行权限,无修改权限
su和exit命令
在前面,我们接触过su命令切换到root账户
su命令就是用于账户切换的系统命令,其来源英文单词:Switch User
语法: su [-] [用户名]
-符号是可选的,表示是否在切换用户后加载环境变量(后续讲解),建议带上参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root切换用户后,可以用过exit命令退回上一个用户,可有使用快捷键:ctrl+d
使用普通用户,切换到其它用户需要输入密码,如切换到root用户
使用root用户切换到其它用户,无需密码,可以直接切换
sudo命令
在我们得知root密码的时候,可以通过su命令切换到root得到最大权限
但是我们不建议长期使用root用户,避免带来系统损坏
我们可以使用sudo命令,为普通的命令授权,临时以root身份执行
语法:sudo其它命令
在其他命令之前,带上sudo,即可为这一条命令临时赋予root授权
但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证
为普通用户配置sudo认证
切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/stc/sudoers
在文件的最后添加:itheima ALL=(ALL) NOPASSWD:ALL
其中最后的NOPASSWD:ALL表示使用sudo命令,无需输入密码
最后通过wq保存
切换回普通用户
sudo ls /root
然后就会输出:anaconda-ks.cfg original-ks.cfg
再接着输入:sudo mkdir /test
执行的命令均以root运行
总结:
linux系统的超级管理员用户是:root用户
su命令
可以切换用户,语法:su [-] [用户名]
-表示切换后加载环境变量,建议带上
用户可以省略,省略默认切换到root
sudo命令可以让一条普通命令带有root权限,语法:sudo其它命令
需要以root用户执行visudo命令,增加配置方可让普通用户有sudo命令的执行权限
用户,用户组
linux系统中可以:
配置多个用户
配置多个用户组
用户可以加入多个用户组中
Linux中关于权限的管空级别有2个级别,分别是:
针对用户的权限控制
针对用户组的权限控制
比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限
所以,我们需要学习在linux中进行用户,用户组管理的基础命令,为后面学习权限控制打下基础
用户组管理
以下命令需root用户执行
创建用户组 删除用户组
groupadd用户组名 groupdel用户组名
为后续演示,我们创建一个itcast用户组:groupadd itcast
用户管理
以下命令需root用户执行
创建用户
useradd[-g -d]用户名
选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
选项:-d指定用户home路径,不指定,home目录默认在:/home/用户名
删除用户
userdel[-r]用户名
选项:-r,删除用户的home目录,不使用-r,删除用户时,home目录保留
查看用户所属组
id[用户名]
参数:用户名,被查看的用户,如果不提供则查看自身
修改用户所属组
usermod -aG用户组 用户名,将指定用 户加入指定用户组
getent
使用getent命令,可以查看当前系统中有那些用户
语法:getent passwd
共有7分信息,分别是:
test4:X:1004:1004::/home/test4:/bin/bash
用户名:密码(X):用户ID:组ID:描述信息(无用):home目录:执行终端(默认bash)
使用getent命令,同样可以查看当前系统中有那些用户组
语法:getent group
test4:X:1004:
包含3份信息,组名称:组认证(显示为x):组ID
总结
1.linux用户管理模式
Linux可以支持多用户,多用户组,用户加入多个组
linux权限管控的单元是用户级别和用户组级别
2.用户用户相关管理命令
groupadd添加组,groupde删除组
useradd添加用户,userdel删除用户
usermod修改用户组,id命令查看用户信息
getent passwd查看系统全部用户信息
getent group查看系统全部信息
认知权限信息
通过ls -l可以以列表形式查看内容,并显示权限细节
drwxr -xr-x. 表示文件,文件夹的权限控制信息
itheima 表示文件,文件夹所属用户
itheima 表示文件,文件夹所属用户组
权限细节总共分为10个槽位
chmod命令
1.chmod命令
功能,修改文件,文件夹的权限细节
限制,只能是文件,文件夹的所属用户或root有权修改
语法:chmod [-R] 权限文件或文件夹
选项:-R,对文件夹内的全部内容应用同样规则
2.权限的数字序号
r代表4,w代表2,x代表1
rwx的相互组合可以得到从0到7的8种权限组合
如7代表:rwx,5代表r-x,1代表:--x
chown命令
chown命令
功能,修改文件,文件夹的所属用户,组
限制,只可root执行
语法:chown [-R] [用户] [:] [用户组] 文件或文件夹
选项,-R同chown,对文件夹全部内容应用相同规则
选项,用户,修改所属用户
选项,用户组,修改所属用户组
:用于分隔用户和用户组
用户和用户组
1.linux用户管理模式
linux可以支持多用户,多用户组,用户加入多个组
linux权限管控的单元是用户级别和用户组级别
2.用户,用户组相关管理命令
groupadd添加组,groupde删除组
useradd添加用户,userdel删除用户
usermod修改用户组,id命令查看用户信息
getent passwd查看系统全部用户信息
getent group查看系统全部组信息