012 Linux 搞懂用户权限升级(sudo 和 su),包学会😁

强转磷火
• 阅读 1727

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 权限的用户有哪些。
012 Linux 搞懂用户权限升级(sudo 和 su),包学会😁

(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 请关注!
点赞
收藏
评论区
推荐文章
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Stella981 Stella981
3年前
Linux系统有7个运行级别(runlevel)
命令chkconfig:查看、增加、删除、修改服务运行级别命令ntsysv:更改当前服务启动设置Linux系统有7个运行级别(runlevel)运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆运行级别2:多用户状态(没有NFS)运行级
Stella981 Stella981
3年前
Linux 用户与组管理详解(system
用户与组管理1.什么是用户,用户是人吗?2.用户是干啥的?用户账号超级管理员:root普通用户:ruochen系统/程序用户:系统中为某个程序而产生的用户,这类用户一般不允许登录操作系统组账号定义:用户
Wesley13 Wesley13
3年前
mysql用户
1\.学会能按着需求创建一个帐号2\.知道连接字符串是什么样3\.密码密码怎么恢复mysql用户权限介绍mysql用户管理 !(https://oscimg.oschina.net/oscnet/368d3c1e00a0a9515545c2962660a27a080.png)!(https://oscimg.oschin
Stella981 Stella981
3年前
Linux用户管理命令
Linux用户管理命令Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,必须先向管理员申请一个账号。Linux的用户至少要属于一个组。添加用户基本语法​useradd【选项】用户名示例​useraddxiaoming
Stella981 Stella981
3年前
SecureCRT连接Linux关键的
很多时候我们需要连接很多台Linux操作系统,现在我演示怎么用SecureCRT去连接我们现在先设置root帐号的密码 sudo passwd root然后设置自己的密码切换到 root帐号su输入密码现在我们需要ssh免登陆操作aptget
Wesley13 Wesley13
3年前
Mysql用户与权限操作
1.用户与权限概述用户是数据库的使用者和管理者。MySQL通过用户的设置来控制数据库操作人员的访问与操作范围。服务器中名为mysqI的数据库,用于维护数据库的用户以及权限的控制和管理。MySQL中的所有用户信息都保存在mysql.user数据表中。根据my
Stella981 Stella981
3年前
Linux内核同步机制
1\.同步与互斥(1)互斥与同步机制是计算机系统中,用于控制进程对某些特定资源(共享资源)的访问的机制(2)同步是指用于实现控制多个进程按照一定的规则或顺序访问某些系统资源的机制。(3)互斥是指用于实现控制某些系统资源在任意时刻只能允许一个进程访问的机制。互斥是同步机制中的一种特殊情况。(4)同步机制是linux操作系统可以高效稳定运行的重
Stella981 Stella981
3年前
Linux权限详解
权限简介Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。Linux下文件的权限类型一般包括读,写,执行。对应字母为r、w、x。Linux下权限的粒度有拥有者、群组、其它组三种。每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。通常情况
芝士年糕 芝士年糕
2年前
linux--用户、组、权限
最近在学习linux,租了一台VPS,需要多用户,刚好查了资料,顺便整理了一下,如果有需要服务器的话,可以后台私信我说到用户组权限,可以想像成windows操作系统一样,同样都是基于用户身份来控制对资源的访问,每个用户账户都有唯一的用户名与密码,只是个别细节方面存在一些差异。系统用户文件系统文件路径:/etc/passwd用户信息文件
通过linux-PAM实现禁止root用户登陆的方法
前言在linux系统中,root账户是有全部管理权限的,一旦root账户密码外泄,对于服务器而言将是致命的威胁;出于安全考虑,通常会限制root账户的登陆,改为配置普通用户登陆服务器后su切换到root账户使用,这种方式较为安全,限制roo
强转磷火
强转磷火
Lv1
寂寞空庭春欲晚,梨花满地不开门。
文章
5
粉丝
0
获赞
0