sudo命令允许您以另一个用户身份运行程序,默认情况下是root用户。如果你在命令行的权限上花了很多时间,sudo就是你经常使用的命令之一

使用sudo而不是以root身份登录会更安全,因为您可以在不知道root密码的情况下为单个用户授予有限的权限,在本教程中,我们将解释如何使用sudo命令。

安装Sudo

sudo包预装在大多数Linux发行版上。

要检查系统上是否安装了sudo软件包,请打开控制台,键入sudo并按Enter。如果您安装了sudo,系统将显示一条简短的帮助消息,否则您将看到类似的内容sudo command not found。

如果未安装sudo,您可以使用发行版的软件包管理器轻松安装它。

在Ubuntu和Debian上安装Sudoapt install sudo

在CentOS和Fedora上安装Sudoyum install sudo

将用户添加到Sudoers

默认情况下,大多数Linux发行版授予sudo访问权限就像将用户添加到文件中定义的sudo组一样简单。该组的成员将能够以root身份运行任何命令。组的名称可能因发行版而异。

在基于RedHat的发行版(如CentOS和Fedora)上,sudo组的名称是wheel。要将用户添加到组运行:usermod -aG wheel username

在Debian,Ubuntu及其衍生品上,该组的成员sudo被授予sudo访问权限:usermod -aG sudo username

出于安全原因,默认情况下禁用Ubuntu中的root用户帐户,并鼓励用户使用sudo执行系统管理任务。由Ubuntu安装程序创建的初始用户已经是sudo组的成员,因此如果您正在运行Ubuntu,则您登录的用户可能已被授予sudo权限。

如果要允许特定用户仅将某些程序作为sudo运行,而不是将用户添加到sudo组,请将用户添加到该sudoers文件中。

例如,要允许用户myfreax仅以sudo 身份运行mkdir命令,请键入:sudo visudo

并附加以下行:myfreax ALL=/bin/mkdir

在大多数系统上,该visudo命令/etc/sudoers使用vim文本编辑器打开文件。如果您没有使用vim的经验

您还可以允许用户在不验证自身的情况下运行sudo命令:myfreax ALL=(ALL) NOPASSWD: ALL

如何使用Sudo

该sudo命令的语法如下:sudo OPTION.. COMMAND

该sudo命令有许多控制其行为的选项,但通常sudo以最基本的形式使用,没有任何选项。

要使用sudo,只需在命令前加上sudo:sudo command

Sudo将读取/etc/sudoers文件并检查调用用户是否被授予sudo。在第一次在会话中使用sudo时,系统将提示您输入用户密码,命令将以root身份执行。

例如,要列出/root您将使用的目录中的所有文件:sudo ls /root[sudo] password for myfreax:

. .. .bashrc.cache.config .local .profile

密码超时

默认情况下,sudo会在sudo不活动五分钟后再次要求您输入密码。您可以通过编辑sudoers文件来更改默认超时。打开文件visudo:sudo visudo

通过添加下面的行来设置默认超时,其中10是以分钟为单位指定的超时:Defaults timestamp_timeout=10

如果要仅为特定用户更改时间戳,请添加以下行,其中user_name是相关用户。Defaults:user_name timestamp_timeout=10

以Root以外的用户身份运行命令

一直以来人们对有一种错误的看法,认为sudo仅用于向普通用户提供root权限。实际上,您可以使用sudo以任何用户身份运行命令。

-u选项允许您以指定用户身份运行命令。

在以下示例中,我们使用sudo以whoami“myfreax”用户身份运行命令:sudo -u myfreax whoami

whoami命令将打印运行该命令的用户的名称:myfreax

如何使用Sudo重定向

如果您尝试将命令的输出重定向到您的用户没有写权限的文件,您将收到“权限被拒绝”错误。sudo echo "myfreax" > /root/file.txtbash: /root/file.txt: Permission denied

发生这种情况是因为>输出的重定向“myfreax”是在您登录的用户下执行的,而不是由sudo指定的用户。重定向在sudo调用命令之前发生。

一种解决方案是使用sudo sh -c以下方法以root身份调用新shell :sudo sh -c 'echo "test" > /root/file.txt'

另一种选择是将输出作为普通用户传递给tee命令,如下所示:echo "test" | sudo tee /root/file.txt

如果您有任何疑问,请随时发表评论。

sudu在linux的命令,Linux的sudo命令相关推荐

  1. Debian(Linux)系统安装并使用sudo命令

    Debian(Linux)系统安装并使用sudo命令 首先打开终端使用命令切换到root管理员用户(如果当前是root用户请忽略): su root 执行安装sudo命令: apt-get insta ...

  2. 【Linux篇】kali Linux下的su、sudo命令用法说明

    [Linux篇]kali Linux下的su.sudo命令用法说明 ​ 总结一下su.sudo命令用法区别-[suy] 文章目录 [Linux篇]kali Linux下的su.sudo命令用法说明 1 ...

  3. 三周第三次课 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

    3.7 su命令 1.su命令 su命令是用来切换用户的: su命令需要使用- 进行切换,如果不使用- 也可以, 但当前目录是在root下,没有彻底切换 在root下 使用su命令创建文件,以指定用户 ...

  4. linux命令修改管理员时间,Linux管理员必须知道的sudo命令

    "Sudo"是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的"权利",让他们执行一些只有超级用户或其他 特许用户才能完 ...

  5. linux命令界面输入不了密码,如何在 Linux 中不输入密码运行 sudo 命令

    sudo命令允许受信任的用户作为另一个用户运行程序,默认情况下是root用户.如果您在命令行上花费了大量时间,那么sudo将会是您一直使用的命令之一. 通常,要授予sudo访问权限,请将用户添加到su ...

  6. linux用root权限执行命令,Linux root权限获取之sudo命令详解

    1. 了解sudo的作用 日常操作中为了避免一些误操作,更加安全的管理系统,我们一般使用普通用户登录系统,而非root.当需要执行一些管理员命令操作时,再切换成root用户身份去执行. 普通用户切换到 ...

  7. 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

    2019独角兽企业重金招聘Python工程师标准>>> mkpass  解释:make password [root@cham2 ~]# mkpasswd    make passw ...

  8. 三周第三次课(11月1日) 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

    2019独角兽企业重金招聘Python工程师标准>>> 3.7 su命令 su - 用户名 切换用户(加-彻底切换用户包括一些配置文件) 不加 - 的话 还会在root 家目录下 加 ...

  9. 获得root权限的命令 su和sudo命令

    两个命令都允许你得到root权限.两者的区别在于如何获得这个权限. su(译者注:switch user的缩写,有的地方也被看作是substitute user的缩写)用于以其他用户的身份来打开一个s ...

  10. 在windows命令行使用sudo命令

    把如下保存为sudo.vbs加到环境变量PATH中就行 'ShellExecute 方法'作用: 用于运行一个程序或脚本.'语法 ' .ShellExecute "application&q ...

最新文章

  1. 控件属性、事件持久化
  2. 细数:数据中心机房对环境的严格要求有哪些?
  3. 成功解决ModuleNotFoundError: No module named 'urllib2'
  4. Swift之深入解析闭包Closures的使用和捕获变量的原理
  5. 各浏览器CSS兼容问题
  6. rs-485光端机的使用你真的清楚吗?
  7. 的控制台主题_【12.11最新版】芯片机/大气层主题软件NXThemesInstaller
  8. [开心学php100天]第五天:string函数(上)
  9. 【java学习之路】(java SE篇)(练习)集合练习:经典例题
  10. 腾达无线usb wifi 网卡u1/u3 RTL8192EU在centos7.6/7.7的编译适配
  11. c51间隔点亮c语言编程,51系列单片机C语言编程
  12. SQL数据库置疑恢复
  13. Node.js学习笔记(五)——WebSocket
  14. apkg格式怎么打开_win10系统怎么打开mdb文件
  15. NVIDIA GPGPU vs AMD Radeon HD Graphics执行模式对比
  16. 50道mysql笔试题目及答案_2020年MySQL数据库面试题总结(50道题含答案解析)
  17. php教育网站设计案例_课程教学网站的设计与实现(MySQL)(含录像)
  18. 网易云对象存储获取私有对象下载链接打不开的问题
  19. dw模板文件的扩展名_模板文件的扩展名是() - 问答库
  20. html在电脑中怎么用,电脑的基本操作是什么?

热门文章

  1. 吐血整理!这可能是最全的机器学习工具手册
  2. Pyinstall打包多个python脚本,包含DLL文件
  3. oracle 如何形成死锁,ORACLE死锁
  4. linux 软链接_Liunx 命令之链接操作
  5. Go进阶(7): JSON 序列化和反序列化
  6. ASP.NET一个网站内存放多个config文件(Web.Config文件中configSource 的用法
  7. JavaScript不区分 '
  8. 成员函数在外部调用的方式总结-函数指针强制绑定+lamda函数闭包行为实现this指针的绑定
  9. .bashrc和.vimrc以及一些比较有用的linux命令
  10. 性价比超高的云服务器