关于后端:012-Linux-搞懂用户权限升级sudo-和-su包学会😁

Linux 零碎中 root 账号通常用于零碎的治理和保护,对操作系统的所有资源具备访问控制权限,当一个普通用户心愿执行一些系统维护相干的操作的时候,就须要应用 sudo 命令,长期将该用户的权限晋升到 root 权限,能够执行一些与系统维护相干的命令。

1 su 与 sudo 的异同

  • 共同点:都能够用另一个用户权限执行命令,个别都是为了应用 root 用户权限,来进行一些操作。
  • 不同点:su 要晓得 root 明码才能够,sudo 只有输出本人的明码就能够了。
  • 所以个别给予一般运维、开发人员的都是有 sudo 权限的普通用户,而不会凋谢 root 用户。

2 su 命令意识

su (switch user) 命令用于变更为其余使用者的身份,除 root 外,须要键入该使用者的明码。

  • whoami # 查看以后是哪个用户;
  • su root # 以后是 ops 普通用户,切换到 root 用户,须要输出明码;
  • su # 等于 su root ,都是切换到 root 用户,都须要输出明码;
  • su root # 切换到 root 用户,pwd 可看到目录地位未切换
  • su – root # 切换到root用户,pwd 可看到目录地位切换为 /root

3 sudo 命令意识

sudo (superuser do) 命令以零碎管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就如同是 root 亲自执行。

(1)查看以后用户被授予哪些权限?

能够应用 「sudo -l 」 查看以后用户被受权的 sudo 权限有哪些。

(2)赋予 sudo 权限的用户有哪些?

应用命令「sudo vim /etc/sudoers」,找到这一 行:”root ALL=(ALL) ALL”,该行的上面即可看到赋予 sudo 权限的用户有哪些。

(3)如何增加用户,使其领有 sudo 权限?

编辑 /etc/sudoers 文件。输出命令 “vim /etc/sudoers” ,进入编辑模式,找到这一 行:”root ALL=(ALL) ALL” 在它上面增加 “xxx ALL=(ALL) ALL” (这里的 xxx 是你的用户名),而后保留退出(对于赋予权限的管制,这里不做开展;也可应用 visudo 命令,这里不做细讲)。

4 几个常用命令辨析

  1. sudo -i # 假如以后用户为 ops 且被赋予 sudo 权限,执行该命令后,切换到 root 用户,pwd 可看到目录地位切换为 /root;
  2. sudo su docker # 假如以后用户为 ops 且被赋予 sudo 权限,执行该命令后,切换到 docker 用户,pwd 可看到目录地位未切换;相比以后用户 ops 间接应用「su docker」,能够免去明码输出;
  3. sudo -u docker touch readme.text # -u 指定 docker 用户,应用 sudo 权限执行命令;

5 小结

su 切换用户须要输出指标用户的 password;sudo 只须要晓得本人的 password,能够防止 root 用户的 password 透露。也着重介绍了 sudo 的用户增加,查看赋予的权限以及配合 su 罕用的一些应用案例。

「不甩锅的码农」原创,转载请注明起源,未经受权禁止商业用途!同名 GZH 请关注!

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理