sudo 和su

场景:在服务器上进行操作的时候通常不适用root用户,但是有时候执行某一些操作需要使用root权限。。。

1 su命令

使用su命令来切换用户,su是switch user切换用户的缩写。

可以是从普通用户切换到root用户,也可以是从root用户切换到普通用户。

从普通用户切换到root用户需要输入密码,从root用户切换到普通用户不需要输入密码。
命令格式:su [参数] [-] [用户名]
用户名的默认值为root。

2 sudo命令

sudo命令可以使非root用户取得root权限。

sudo命令可以让你以root身份执行命令,来完成一些我们这个帐号完成不了的任务。

其实并非所有用户都能够执行sudo,因为有权限的用户都在/etc/sudoers中呢。

在执行sudo命令时候,提示用户不在sudoers文件中。解决办法:

我们可以通过

使用命令visudo来搞定这件事情:

visudo

打开sudoers后,像如下那样加上自己的帐号保存后就可以了。

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
cs408   ALL=(ALL)       ALL

 

sudoers的权限是0440,即只有root才能读。在你用root或sudo后强行保存(wq!)即可。

 

PS:下面的方法不可行—— 

在使用编辑器来打开/etc/sudoers,(不能编辑的)

vi /etc/sudoers

但是在按下“i”进行编辑的时候出现提示:

 3 补充

3.1 问题

*** is not in the sudoers file.  This incident will be reported.” 
(用户不在sudoers文件中……)

3.2 分析

处理这个问题很简单,但应该先理解其原理再操作
首先要明白root的密码一般用户是不应改知道的,但一般用户有时可能要用到root的一些权限。
这里就有了一个 /etc/sudoers 文件,用来保存一些用户,使这些用户可以通过sudo命令来暂时获取root的权限。

这些用户使用sudo时输入的密码是当前用户密码,而不是root密码。还可以在sudoers文件里限制一般用户的权限,这样就有了安全保证。

3.3 举例

现在要让jack用户获得sudo使用权
1.切换到超级用户root

 $su root

2.查看/etc/sudoers权限,可以看到当前权限为440(这里是先修改文件的权限,再编辑文件)

  $ ls -all /etc/sudoers
   -r--r----- 1 root root 744  6月  8 10:29 /etc/sudoers

3.更改权限为777

 $chmod 777 /etc/sudoers

4.编辑/etc/sudoers

 $vi /etc/sudoers

5.在root    ALL=(ALL:ALL) ALL 下面添加一行

 jack    ALL=(ALL)ALL

   然后保存退出。

 第一个ALL是指网络中的主机,我们后面把它改成了主机名,它指明jack可以在此主机上执行后面的命令。
 第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令。
 最后一个ALL当然就是指命令名了。

   具体这里不作说明
6.把
/etc/sudoers权限改回440

$chmod 440 /etc/sudoers

7.操作完成,切换到jack用户测试一下



如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,让更多的人能够享受到获取知识的快乐!因为本人初入职场,鉴于自身阅历有限,所以本博客内容大部分来源于网络中已有知识的汇总,欢迎各位转载,评论,大家一起学习进步!如有侵权,请及时和我联系,切实维护您的权益!
posted @   CS408  阅读(263)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
历史上的今天:
2015-11-14 html中ul元素水平排列问题
点击右上角即可分享
微信分享提示