[转帖]012 Linux 搞懂用户权限升级 (sudo 和 su),包学会

linux,搞懂,用户,权限,升级,sudo,su,学会 · 浏览次数 : 0

小编点评

**Linux 系统中 root 账号的权限控制** * **root 用户拥有系统管理权限,对所有资源具有访问控制权限。** * **普通用户需要使用 sudo 命令提升权限才能执行一些与系统维护相关的操作。** * **`sudo` 命令只需要输入用户的密码即可执行命令,而 `su` 命令需要知道目标用户的密码。** * **`sudoers` 文件中可以设置对哪些用户拥有 sudo 权限。** * **可以使用 `sudo -l` 命令查看当前用户被授予哪些权限。** * **可以使用 `sudo vim /etc/sudoers` 等命令添加用户,并设置其 sudo 权限。** * **可以使用 `sudo -u` 命令指定用户,并以该用户的身份执行命令。** **一些常用命令辨析:** * `sudo -i`:切换到 root 用户。 * `sudo su docker`:切换到 docker 用户。 * `sudo -u docker touch readme.text`:使用 docker 用户在 /root 目录中创建一个文件。

正文

https://my.oschina.net/u/3113381/blog/5431540

 

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 权限的用户有哪些。 file

(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 常用的一些使用案例。

与[转帖]012 Linux 搞懂用户权限升级 (sudo 和 su),包学会相似的内容:

[转帖]012 Linux 搞懂用户权限升级 (sudo 和 su),包学会

https://my.oschina.net/u/3113381/blog/5431540 Linux 系统中 root 账号通常用于系统的管理和维护,对操作系统的所有资源具有访问控制权限,当一个普通用户希望执行一些系统维护相关的操作的时候,就需要使用 sudo 命令,临时将该用户的权限提升到 ro

[转帖]Linux终端:用cat命令查看不可见字符

https://developer.aliyun.com/article/80607 printf 'testing\012\011\011testing\014\010\012more testing\012\011\000\013\000even more testing\012\011\011

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]HTTPS中间人攻击原理

https://www.zhihu.com/people/bei-ji-85/posts 背景 前一段时间,公司北京地区上线了一个HTTPS防火墙,用来监听HTTPS流量。防火墙上线之前,邮件通知给管理层,我从我老大那里听说这个事情的时候,说这个有风险,然后意外地发现,很多人原来都不知道HTTPS防

[转帖]关于字节序(大小端)的一点想法

https://www.zhihu.com/people/bei-ji-85/posts 今天在一个技术群里有人问起来了,当时有一些讨论(不完全都是我个人的观点),整理一下: 为什么网络字节序(多数情况下)是大端? 早年设备的缓存很小,先接收高字节能快速的判断报文信息:包长度(需要准备多大缓存)、地

[转帖]awk提取某一行某一列的数据

https://www.jianshu.com/p/dbcb7fe2da56 1、提取文件中第1列数据 awk '{print $1}' filename > out.txt 2、提取前2列的文件 awk `{print $1,$2}' filename > out.txt 3、打印完第一列,然后打

[转帖]awk 中 FS的用法

https://www.cnblogs.com/rohens-hbg/p/5510890.html 在openwrt文件 ar71xx.sh中 查询设备类型时,有这么一句, machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /