sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。

原理

在sudo于1980年前后被写出之前,一般用户管理系统的方式是利用su切换为超级用户。但是使用su的缺点之一在于必须要先告知超级用户的密码。 sudo使一般用户不需要知道超级用户的密码即可获得权限。首先超级用户将普通用户的名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信息,登记在特殊的文件中(通常是/etc/sudoers),即完成对该用户的授权(此时该用户称为“sudoer”);在一般用户需要取得特殊权限时,其可在命令前加上“sudo”,此时sudo将会询问该用户自己的密码(以确认终端机前的是该用户本人),回答后系统即会将该命令的进程以超级用户的权限运行。之后的一段时间内(默认为5分钟,可在/etc/sudoers自定义),使用sudo不需要再次输入密码。由于不需要超级用户的密码,部分Unix系统甚至利用sudo使一般用户取代超级用户作为管理帐号,例如Ubuntu、Mac OS X等。

语法

sudo [ -Vhl LvkKsHPSb ] │ [ -p prompt ] [ -c class│- ] [ -a auth_type ] [-u username│#uid ] command

参数

-V
显示版本编号
-h
会显示版本编号及指令的使用方式说明
-l
显示出自己(执行 sudo 的使用者)的权限
-v
因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
-k
将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
-b
将要执行的指令放在背景执行
-p
prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
-u
username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
-s
执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
-H
将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root )
command
要以系统管理者身份(或以 -u 更改为其他人)执行的指令

linux系统sudo命令详解相关推荐

  1. linux系统scp命令详解

    文章目录 前言 一.scp命令语法 二.可选参数说明 三.常用示例 总结 前言 Linux系统scp命令用于Linux系统之间复制文件和目录的操作. 一.scp命令语法 scp [可选参数] file ...

  2. linux系统make命令详解

    无论是在Linux 还是在Unix环境 中,make都是一个非常重要的编译命令.不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install.利用make工具,我们可以将 ...

  3. Linux 系统 top 命令详解

    文章目录 前言 top 命令关键词详解 1. VIRT:virtual memory usage 虚拟内存 2. RES:resident memory usage 常驻内存 3. SHR:share ...

  4. linux系统get命令详解,Ubuntu Linux系统下apt-get命令详解

    整理了Ubuntu Linux操作系统下apt-get命令的详细说明,分享给大家.常用的APT命令参数: apt-cache search package 搜索包 apt-cache show pac ...

  5. Linux系统cut命令详解

    简介 Linux cut命令用于显示每行从开头算起 num1 到 num2 的文字 参数 详解 -b 以字节为单位进行分割.这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志. -c 以字符为 ...

  6. linux的备份命令详解,docker备份linux系统的命令详解

    tar备份系统 sudo tar cvpzf backup.tgz --exclude=/proc --exclude=/mnt --exclude=/sys --exclude=/backup.tg ...

  7. Linux中的configure命令作用,linux系统configure命令详解

    欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 对于已经熟悉或者说习惯了Windows系统的朋友来说,Linux系统的软件安装,可以说并不是一件容易的事情;如果通过源代码 ...

  8. Linux—系统关机命令详解

    不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中.将数据由内存同步写入到硬盘中. [root@localhost ~]# sync 一.shutdown命令 # 立刻关 ...

  9. Kali Linux系统apt命令详解

    今天继续给大家介绍渗透测试相关知识,本文主要内容是Kali Linux系统系统apt源配置. 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 一 ...

最新文章

  1. nginx+tomcat配置负载均衡集群
  2. 类型转换_异常处理机制
  3. CentOS 6.4 配置LAMP 环境 与安装 phpmyadmin
  4. php数组的值传递给另一个数组,如何把一个固定数组的值传递给另外一个数组
  5. Docker版本(三)
  6. C#控件常用设计整理大全
  7. Qt样例学习1(数字时钟)
  8. LeetCode 350. Intersection of Two Arrays II
  9. 简述传统动画跟计算机动画的异同点,Flash动画设计与传统动画设计的特点比较研究...
  10. 电力系统——基于10机39节点的电力系统仿真(Matlab)
  11. 教学质量分析系统 php,教学质量分析系统演示.ppt
  12. 软件测试项目反思,软件测试之项目线上问题总结与反思
  13. Win10+Ubuntu双系统修复Ubuntu系统引导
  14. 2012年寒假假期总结
  15. SSM+基于Vue框架的在线投票系统的设计与实现 毕业设计-附源码221604
  16. 高德地图-缩放比例尺控件
  17. linux重定向的 符号,linux基础学习-4.3-特殊符号与重定向符号详解
  18. 【FME EXCEL】FME玩转EXCEL小记——不定期更新
  19. Python websocket爬虫
  20. 【开源】司马编译器结构

热门文章

  1. c语言定义不定长数组初始化_C语言数组初始化的三种方式
  2. 【日志】atmega4809使用体验-准备工作
  3. 强大的JQuery表格控件FooTable
  4. JavaScript(函数)九
  5. 跨网段icmp数据包发送过程
  6. 联想m8460t微型计算机图片,i7四核独显配16GB内存 联想M8300t评测
  7. 大一新生如何选电脑?专业不同,需求不同
  8. Android引用Library的若干问题(全都是坑啊,一定要注意了)
  9. 支付功能如何进行测试
  10. 人工智能会伤害人类吗?怎样控制他们?