JAVA全系列 教程
3762个小节阅读:7095.1k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
Linux下用户分为三类:超级用户、普通用户、伪用户
- 超级用户:用户名为root,具有一切管理权限,UID为0,可以创建多个管理员。
- 普通用户:在默认情况下,普通用户UID是介于500~6000;
- 伪用户:这些用户的存在是为了方便系统管理,满足相应的系统进程对文件属主的要求。伪用户不能够登录,他的ID值介于1~499。
由于超级权限在系统管理中的不可缺少的重要作用,为了完成系统管理任务,必须用到超级权限。
su命令就是切换用户的工具。
语法
xxxxxxxxxx
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
参数说明:
- -c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者
- - -l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root
示例1
xxxxxxxxxx
[root@itbaizhan ~]# id
uid=0(root) gid=0(root) groups=0(root)
[root@itbaizhan ~]# su - linuxprobe
Last login: Wed Jan 4 01:17:25 EST 2017 on pts/0
[linuxprobe@linuxprobe ~]$ id
uid=1000(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe) context=unconfined_
u:unconfined_r:unconfined_t:s0-s0:c0.c1023
注意:
上面的 su 命令与用户名之间有一个减号(-),这意味着完全切 换到新的用户,即把环境变量信息也变更为新用户的相应信息,而不是保留原始的信息。强 烈建议在切换用户身份时添加这个减号(-)。
Sudo
的全称为:super user do
。 顾名思义:干超级用户才能干的事!所以Sudo最常用的功能就是提升一个命名的执行权限。
语法:
xxxxxxxxxx
sudo [参数] 命令名称
参数:
-h 列出帮助信息
-l 列出当前用户可执行的命令
-u 用户名或 UID 值 以指定的用户身份执行命令
-k 清空密码的有效时间,下次执行 sudo 时需要再次进行密码验证
-b 在后台执行指定的命令
-p 更改询问密码的提示语
总结
sudo 命令具有如下功能:
- 限制用户执行指定的命令:
- 记录用户执行的每一条命令;
- 配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数;
- 验证密码的后 5 分钟内(默认值)无须再让用户再次验证密码。
编辑配置文件命令: visudo 来配置用户权限。
按照下 面的格式将第 99 行(大约)填写上指定的信息:
谁可以使用 允许使用的主机=(以谁的身份) 可执行命令的列表
注意:
编辑sudo的配置文件/etc/sudoers是一般不要直接使用vi(vi /etc/sudoers)去编辑,因为sudoers配置有一定的语法,直接用vi编辑保存系统不会检查语法,如有错也保存了可能导致无法使用sudo工具,最好使用visudo命令去配置。虽然visudo也是调用vi去编辑,但是保存时会进行语法检查,有错会有提示。
示例1
配置baizhan拥有root的权限
xxxxxxxxxx
visudo
baizhan ALL=(ALL) ALL
示例2
在每次执行 sudo 命令后都会要求验证一下密码。
xxxxxxxxxx
[root@location opt]$ touch a.info
#切换用户
[baizhan@location ~]# su baizhan
#删除a.info文件
[baizhan@location ~]# rm -rf a.info
rm: cannot remove ‘a.info/’: Permission denied
[baizhan@location ~]# sudo rm -rf a.info
这样,当切换到普通用户后再执行命令时,就不用再频繁地验证密码了,我们在日常工 作中也就痛快至极了。
xxxxxxxxxx
visudo
baizhan ALL=NOPASSWD: ALL
1. 在Linux系统中,root管理员UID是___。
A 0
B 1
C 2
D 3
2.在Linux系统中,关于sudo命令描述错误的是。
A 限制用户执行指定的命令
B 记录用户执行的每一条命令
C 配置文件提供集中的用户管理
D sudo命令用来替换su命令
1=>A 2=>D