美文网首页
用户身份切换

用户身份切换

作者: 浅陌_45f3 | 来源:发表于2019-01-22 19:27 被阅读0次

su

参数说明:
-:“su -” 代表切换为 root 的身份。
-l:后面需要加上欲切换的用户账号。
-c:仅进行一次命令,“su - -c "命令" ”,需要输入 root 的密码后再执行,执行命令后身份不变。
-m:表示使用目前的环境变量,不读取新用户的环境变量。

注意:

单纯使用 "su" 切换为 root 身份时,会使很多变量不进行正确的改变,因为读取变量设置方式为 non-login shell 方式;使用 "su -" 方式就不会,因为使用 login shell 的方式读取变量文件。"su" 命令后的 "-" 与用户名字中间有个空格。

因为使用这个命令切换为 root 身份,都需要输入 root 的密码,但是不方便把 root 的密码告诉所有人,所以出现 sudo 这个命令来避免这个问题。

离开 su 命令用 exit。

sudo

开始时系统默认仅有 root 可以执行 sudo,但是可以通过设置用户权限来决定谁可以使用 sudo 这个命令。

设置用户权限:

1、执行 visudo 命令后,大约在76行会看到 "root ALL=(ALL) ALL",利用 visudo 这个命令,其实就是帮你执行 vi /etc/sudoers。
2、在这行后面加上自己需要的设置。

root ALL=(ALL) ALL 代表的意思分别是:

root:用户账号。
第一个 ALL:登陆者的来源主机,就是你从哪台主机连过来的。
第二个 ALL:可切换的身份,就是来源主机可以以什么身份执行后面的命令。
第三个 ALL:可执行的命令,这个命令必须以绝对路径填写。

总的来说就像是穿越,root 指代只让 root 这个人穿越,就像人名一样;第一个 ALL 指代他从哪个地方来的,可能中国,美国,韩国;第二个 ALL 指代让他穿越到哪个人身上;第三个 ALL 指代他能利用这个人的身体做什么。这里的 ALL 意思是没有限制。当然,这四个值可以根据自己的需要来设置。

上面是修改单一用户的 sudo 权限,下面介绍修改用户组权限的方法。

例:

visudo
执行完这个命令后在第84行左右可以看到
%wheel ALL=(ALL) ALL
这是去掉最左边的 "#",加上 "%" 后的样子。修改完保存离开。接着执行
usermod -a -G wheel aaaa
意思是将 aaaa 加入 wheel 的支持。

注意:

root 用户执行 sudo 时不用输密码,欲切换者与执行者身份相同也不用输入密码,但是其他用户再输入自己的密码之后才能进行后续的操作。

如果其他用户也不想输入密码怎么办?也可以通过 visudo 来设置

例:

visudo
执行这个命令后大约在87行可以看到
%wheel ALL=(ALL) NOPASSWD: ALL

因为四个变量(root、ALL、ALL、ALL)都可以是自己设定的,如果用户账号或者可执行的命令有多个又该怎么设置呢?

例:

在 root 身份下,执行 visudo 后输入
User_Alias ADMPW = aaa,bbb,ccc
Cmnd_Alias ADMPWCOM = !/user/bin/passwd, /user/bin/passwd [A-Za-z]*, !/user/bin/passwd root
ADMPW ALL=(root) ADMPWCOM

sudo 命令的用法

给了权限就可以执行命令了,接下来介绍 sudo 命令的用法:
-b:将后续的命令让系统自行执行,而不与目前的 shell 产生影响。
-u:后面可以接欲切换的用户,若无此项则代表切换身份为 root。接用户后可以直接接命令,代表这个用户执行后面的命令。

例:

sudo -u sshd touch /tmp/myssd
意思为以 sshd 的身份在 /tmp 下面新建一个 myssd 的文件。

sudo 搭配 su 使用

为了使自己能将身份转化为 root,但是想要用自己的密码,就可以利用 sudo 和 su 来实现

例:

visudo
User_Alias ADMINS = aaa, bbb, ccc
ADMINS ALL = (root) /bin/su -

接下来 aaa, bbb, ccc 三个人只要输入 "sudo su-" 并且输入自己的密码后就可以变为 root 身份。

注意:
因为 visudo 只是利用 vi 将 /etc/sudoers 文件调出来进行修改,所以对 sudoers 文件的修改操作是根据 vi 的规则来进行修改、保存、退出的。

相关文章

  • 用户身份切换

    一、su su 是最简单的身份切换命令了,它可以进行任何身份的切换。方法如下: 有没有加上那个减号“-”差很多,因...

  • 用户身份切换

    su 参数说明:-:“su -” 代表切换为 root 的身份。-l:后面需要加上欲切换的用户账号。-c:仅进行一...

  • 用户管理

    身份切换 用户操作 用户组操作

  • sudo执行命令的流程

    一、sudo执行命令的流程将当前用户切换到超级用户下,或切换到指定的用户下,然后以超级用户或其指定切换到的用户身份...

  • su(switch user)

    su 是最简单的用户切换命令,通过该命令可以实现任何身份的切换,包括从普通用户切换到root用户、从root用户切...

  • linux用户管理(3)

    su切换身份后,只需exit或Ctrl+d,就会返回原用户身份。

  • 作业-第05周--课堂-Day19-su、sudo、及visud

    Day19 课堂笔记 1. su:linux用户身份切换命令 范例1:由普通用户oldboy切换到root用户 退...

  • 详解系统管理命令

    用户切换(su) 作用 变更其他使用者的身份,主要用于将普通用户身份转变为超级用户身份,而且需要输入相应的用户密码...

  • LINUX----用户身份切换

    我们知道linux是一个多用户系统,所以我们在使用的时候避免不了使用多个用户的权限,这个时候就需要用户切换。 1....

  • su命令、sudo命令、限制root远程登录

    [TOC] 37 su命令 切换用户 - 以某用户身份执行 - -c 切换后未指定家目录 38 sudo命令 su...

网友评论

      本文标题:用户身份切换

      本文链接:https://www.haomeiwen.com/subject/kntrjqtx.html