[转帖]012 Linux 搞懂用户权限升级 (sudo 和 su),包学会
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 权限的用户有哪些。 
(3)如何添加用户,使其拥有 sudo 权限?
编辑 /etc/sudoers 文件。输入命令 "vim /etc/sudoers" ,进入编辑模式,找到这一 行:"root ALL=(ALL) ALL" 在它下面添加 "xxx ALL=(ALL) ALL" (这里的 xxx 是你的用户名),然后保存退出(关于赋予权限的控制,这里不做展开;也可使用 visudo 命令,这里不做细讲)。
4 几个常用命令辨析
- sudo -i # 假设当前用户为 ops 且被赋予 sudo 权限,执行该命令后,切换到 root 用户,pwd 可看到目录位置切换为 /root;
- sudo su docker # 假设当前用户为 ops 且被赋予 sudo 权限,执行该命令后,切换到 docker 用户,pwd 可看到目录位置未切换;相比当前用户 ops 直接使用「su docker」,可以免去密码输入;
- sudo -u docker touch readme.text # -u 指定 docker 用户,使用 sudo 权限执行命令;
5 小结
su 切换用户需要输入目标用户的 password;sudo 只需要知道自己的 password,可以避免 root 用户的 password 泄漏。也着重介绍了 sudo 的用户添加,查看赋予的权限以及配合 su 常用的一些使用案例。
[转帖]012 Linux 搞懂用户权限升级 (sudo 和 su),包学会的更多相关文章
- linux 中更改用户权限和用户组的命令chmod,chgrp实例
linux 中更改用户权限和用户组的命令实例; 增加权限给当前用户 chmod +wx filename chmod -R 777 /upload 用户组 chgrp -R foldname zdz ...
- 解决将/etc/passwd文件中1000改为0后只能guest进入系统的问题 ||ubuntu下将普通用户权限升级为root用户权限的方法;
其实我现在才知道linux系统对于用户权限管理比较严,在ubuntu下系统不允许root权限的用户进入图像界面系统.由于之前没弄过权限这个东西瞬间掉坑了了. 我是想修改一下root下的nginx.co ...
- linux把普通用户添加到sudo组
一.linux下把普通用户添加到sudo组的方式: 1. root权限下, 先cd到/etc目录下 2. 由于sudoers文件为只读权限,所以需要添加写入权限,chmod u+w sudoers 3 ...
- 因修改/etc/sudoers权限导致sudo和su不能使用的解决方法(转)
转自: 因修改/etc/sudoers权限导致sudo和su不能使用的解决方法 系统环境:ubuntu 12.04 状况: 因为修改了/etc/sudoers以及相关权限,导致sudo无法使用,恰 ...
- 013 Linux 搞懂「文件所属者更改及权限的赋予」从未如此简单(chmod、chgrp、chown)
目录 01 一图详解「ls -l」 02 两种符号区分表示文件和目录 03 三种访问权限及表示 04 四种符号表示文件所属者用户 05 三个变更文件所属者及修改所属者权限的命令 06 工作实践命令举例 ...
- linux如何设置用户权限
linux与用户权限设置: 1.添加用户 首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户 #passwd tommy //修改密码 ...
- Linux学习笔记——使用指定的用户权限执行程序——sudo
sudo可以用来以其他用户身份执行命令,sudo命令可以针对单个命令授予临时权限.sudo仅在需要时授予用户权限,减少了用户因为错误执行命令损坏系统的可能性. 1:sudo的帮助信息如下: ...
- Linux下的用户权限
用户权限: drwxr-xr-x root root - : boot #权限位 硬连接数 所属用户 所属组 大小 最后修改时间 文件/目录# r w x 4 2 1 用户权限位分为3段,分别对应US ...
- [Linux系统] (2)用户权限管理
示例---普通用户之间的文件共享:假设公司有2个项目组,共享同一台服务器. 1.为两个项目组各创建一个用户: useradd leo01 useradd leo02 2.为两个新用户设置密码: pas ...
- Linux培训教程 linux下修改用户权限的方法
一般我们日常碰到要修改用户权限的,往往是要么修改一下用户的gorupid,通过上面命令可以改;要么是把普通用户改成具有超级权限的用户,这个一般自己不能直接改,只能是root或有root权限的用户才能帮 ...
随机推荐
- 应用架构步入“无服务器”时代 Serverless技术迎来新发展
摘要:以"原生蓄力,云领未来"为主题的2021年云原生产业大会上,华为云Serverless函数服务产品经理分享了"华为云Serverless函数服务,让开发上云极简高效 ...
- GaussDB NoSQL架构设计分享
摘要:文章总结了当前数据库的发展趋势.GaussDB NoSQL关键技术解密以及核心竞争力. 本文分享自华为云社区<华为云GaussDB NoSQL云原生多模数据库的超融合实践>,作者:华 ...
- 一文详解特权访问管理(PAM)
什么是特权访问管理(PAM)? 特权访问管理(Privileged Access Management)是一个包含网络安全策略和访问管理工具的解决方案,用于控制和监管和保护具有特权访问权限的用户.在之 ...
- SpringBoot 2.x 正式停更了。Java 8 就看 Solon 的了!
最近有好多个新闻说:SpringBoot 2.x 正式停更了,Java 8 怎么办?当然用 Solon 喽! Solon,同时支持 jdk8, jdk11, jdk17, jdk21.也支持 graa ...
- Solon2 之基础:三、启动参数说明
启动参数,在应用启动后会被静态化(为了内部更高效的利用).比如,想通过体外扩展加载配置,是不能改掉它们的. 1.启动参数 启动参数 对应的应用配置 描述 --env solon.env 环境(可用于内 ...
- MyBatis batchInsert 批量插入数据
mybatis 是一个 Java 的持久层框架,它支持定制化 SQL.存储过程以及高级映射.通过 MyBatis,开发者可以直接编写原生态 SQL,避免了 JDBC 代码的繁琐. 如何在 MyBati ...
- cxf 动态调用 WebService No compiler detected, make sure you are running on top of a JDK instead of a JRE
WebService cxf No compiler detected, make sure you are running on top of a JDK instead of a JRE [202 ...
- 第04讲:Flink 常用的 DataSet 和 DataStream API
Flink系列文章 第01讲:Flink 的应用场景和架构模型 第02讲:Flink 入门程序 WordCount 和 SQL 实现 第03讲:Flink 的编程模型与其他框架比较 第04讲:Flin ...
- Django rest_framework使用自定义异常
完整代码 https://gitee.com/mom925/django-system 在settings.py中配置 REST_FRAMEWORK = { "EXCEPTION_HANDL ...
- C++11实用特性2
1 可调用对象包装器.绑定器 1可调用对象 C++中的可调用对象分为四类: 函数指针: 任何一个函数都可以抽象成一个函数指针 int print(int a, double b) { cout < ...