标签:输入密码 别名 led 创建用户 控制 centos7 tin anaconda das
sudo更改身份:
su 切换身份:su -l username –c ‘command’ 切换时需要知道对方的口令
sudo
• 来自sudo包,man 5 sudoers
• sudo能够授权指定用户在指定主机上运行某些命令。如果未授权用户尝试使
用 sudo,会提示联系管理员
• sudo可以提供日志,记录每个用户使用sudo操作
• sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权
限和使用的主机
• sudo使用时间戳文件来完成类似“检票”的系统,默认存活期为5分钟的“入
场券”
• 通过visudo命令编辑配置文件,具有语法检查功能
visudo -c 检查语法
visudo -f /etc/sudoers.d/test
授权规则格式:
用户 登入主机=(代表用户) 命令
示例:
root ALL=(ALL) ALL
格式说明:
user: 运行命令者的身份
host: 通过哪些主机(IP地址)
(runas):以哪个用户的身份
command: 运行哪些命令
root ALL=(ALL) ALL
用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
%wheel ALL=(ALL) ALL
%组名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
模块 | 含义 |
---|---|
用户名或群组名 | 表示系统中的那个用户或群组,可以使用 sudo 这个命令。 |
被管理主机的地址 | 用户可以管理指定 IP 地址的服务器。这里如果写 ALL,则代表用户可以管理任何主机;如果写固定 IP,则代表用户可以管理指定的服务器。如果我们在这里写本机的 IP 地址,不代表只允许本机的用户使用指定命令,而是代表指定的用户可以从任何 IP 地址来管理当前服务器。 |
可使用的身份 | 就是把来源用户切换成什么身份使用,(ALL)代表可以切换成任意身份。这个字段可以省略。 |
授权命令 | 表示 root 把什么命令命令授权给用户,换句话说,可以用切换的身份执行什么命令。需要注意的是,此命令必须使用绝对路径写。默认值是 ALL,表示可以执行任何命令。 |
常用选项:
sudo -i -u wang 切换身份
sudo [-u user] COMMAND
-V 显示版本信息等配置信息
-u user 默认为root
-l,ll 列出用户在主机上可用的和被禁止的命令
-v 再延长密码有效期限5分钟,更新时间戳
-k 清除时间戳(1970-01-01),下次需要重新输密码
-K 与-k类似,还要删除时间戳文件
-b 在后台执行指令
-p 改变询问密码的提示符号
示例一:
让用户进行挂载光盘:
which mount 查看当前的mount在哪个路径。
/usr/bin/mount
vim /etc/sudoers
修改里边的配置文件让wang账号以root账号的权限进行挂载光盘和卸载光盘:
su - wang 切换至wang账号
sudo mount /dev/cdrom /mnt wang账号以root账号进行挂载光盘,注意格式和赋予的权限一致,否则无法执行
操作如下:
[root@centos7home]#su - wang
Last login: Fri Oct 25 16:04:14 CST 2019 on pts/0
[wang@centos7~]$sudo mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[wang@centos7~]$df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 104806400 4404968 100401432 5% /
devtmpfs 740204 0 740204 0% /dev
tmpfs 756008 0 756008 0% /dev/shm
tmpfs 756008 10472 745536 2% /run
tmpfs 756008 0 756008 0% /sys/fs/cgroup
/dev/sda3 52403200 48840 52354360 1% /data
/dev/sda1 1038336 166960 871376 17% /boot
tmpfs 151204 12 151192 1% /run/user/42
tmpfs 151204 0 151204 0% /run/user/1104
/dev/sr0 10491772 10491772 0 100% /mnt
[wang@centos7~]$sudo umount /mnt 配置文件中也赋予wang账号可以卸载挂载权限
示例二:
赋予wang在任何机器上有root的所有权限:
wang以root身份拥有所有权限之后就可以做任何事情,如:创建用户,再次登录时不需要输入wang账号口令,原因是有五分钟的有效期。
[root@centos7home]#su - wang
[wang@centos7~]$sudo useradd zhang
[wang@centos7~]$sudo useradd xiao
%wheel是一个组,默认有root的权限,只要将组加入到此组内就会有root权限:
示例:
gpasswd -a wang -g wheel
[root@centos7home]#id wang
uid=1104(wang) gid=1104(wang) groups=1104(wang),10(wheel)
[root@centos7home]#su - wang 切换到wang账号也是可以以root身份进行创建账号
Last login: Fri Oct 25 16:09:56 CST 2019 on pts/0
[wang@centos7~]$sudo useradd test 创建test用户
[root@centos7~]#gpasswd -d wang wheel 删除wang在wheel组里
Removing user wang from group wheel
示例三:
用wang在任何机器上代表liu用户执行权限liu用户的所有权限:
1)cp /etc/fstab /data/
chmod 000 /data/fstab 将此文件的权限改为000
setfacl -m u:liu:rw /data/fstab 授予liu用户读写权限
2)su - wang
sudo -u liu cat /data/fstab 其中wang用户可以通过liu用户进行读取文件里边的内容。
sudo -u liu vim /data/fstab 也可以修改里边的权限。
示例四:
如果将root里边/etc/passwd 的root用户的ID改为1000,普通用户的ID改为0,此时,root用户就成为普通用户,wang成为管理用户,默认配置文件中root用户可以切换到的任何用户具有所有执行权限,因此我们可以通过切换到wang用户进行执行root的权限。
[wang@centos7~]#su - root
Last failed login: Fri Oct 25 09:19:01 CST 2019 from 192.168.34.1 on ssh:notty
There were 17 failed login attempts since the last successful login.
[root@centos7~]$sudo -u wang cat /data/fstab
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for root:
#
# /etc/fstab
# Created by anaconda on Thu Aug 22 15:21:16 2019
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=38dd5f68-4f30-411c-b80a-0f4a60b06c6f / xfs defaults 0 0
UUID=4357cc0e-6ee7-4a8f-8064-d1a54bdbf17f /boot xfs defaults 0 0
UUID=eb4bf5e6-2645-4b1c-bda8-12c5831b81c2 /data xfs defaults 0 0
UUID=b8c37e0b-3628-40b6-ac44-c36ca09b448f swap swap defaults 0 0
当wang只有普通用户的账号权限而没有root权限时,且没有root账号和密码,怎么办?
当没有root账号且没有密码的情况下,我们只需要将wang用户授权进行切换至任何用户的操作,只需要我们切换至root下,就可以进行root所拥有的权限操作:
[wang@centos7~]$sudo -i 进行切换身份,默认就会切换至root权限
[sudo] password for wang: 只需要输入wang账号的密码就可以切换至root账号。
[root@centos7~]#
sudo 写入用法:
1、我们也可以切换在/etc/sudoers.d文件下建一个新文件,避免与之前的/etc/sudoers配置文件混用,以下的格式,也可以切换至root用户进行查看:
1)cd /etc/sudoers.d
vim test
wang ALL=(ALL) ALL
su - wang 切换至wang用户也会用sudo切换至root权限查看内容:
sudo cat /etc/fstab
visudo 用法:
此命令可以检查自己配置文件哪行书写存在错误并提示你去改正:
1)先对其进行生命变量,显示颜色方便修改文件:
cd /etc/profile.d/
vim a.sh
export EDITOR=vim
2) visudo,如果我们写入错误的行,会提示我们语法有问题,然后按e我们去修改错误的地方,然后保存退出。
visudo -c也可以具有语法检测功能,表示之前在/etc/sudoers.d/test文件权限不对,权限过大,建议我们修改为440权限,防止普通用户查看到里边的内容。
chmod 440 /etc/sudoers.d/test 修改当前的test权限之后就不会再报有语法问题。
[root@centos7sudoers.d]#visudo -c
/etc/sudoers: parsed OK
/etc/sudoers.d/test: parsed OK
sudoedit 用法:
修改vim /etc/sudoers.d/test文件中的内容:
内容:wang 192.168.34.100=sudoedit 表示wang账号可以切换至root账号下都能进行操作
[root@centos7sudoers.d]#su - wang 切换至wang 账号可以查看里边的内容。
Last login: Fri Oct 25 17:29:13 CST 2019 on pts/0
[wang@centos7~]$sudoedit cat /etc/fstab
sudoedit: cat: editing files in a writable directory is not permitted
#
# /etc/fstab
# Created by anaconda on Thu Aug 22 15:21:16 2019
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=38dd5f68-4f30-411c-b80a-0f4a60b06c6f / xfs defaults 0 0
UUID=4357cc0e-6ee7-4a8f-8064-d1a54bdbf17f /boot xfs defaults 0 0
UUID=eb4bf5e6-2645-4b1c-bda8-12c5831b81c2 /data xfs defaults 0 0
UUID=b8c37e0b-3628-40b6-ac44-c36ca09b448f swap swap defaults 0 0
小结:wang (普通用户),ALL(赋予在哪个IP上登陆)=(ALL)(代表哪个账号) ALL(最后一个是赋予什么权限,如果是单个权限,需要我们写入命令的完整路径及命令)
标签:输入密码 别名 led 创建用户 控制 centos7 tin anaconda das
原文地址:https://www.cnblogs.com/struggle-1216/p/11739744.html