Linux系统的sudo命令是切换用户身份的命令。下面由学习啦小编为大家整理了每天一个Linux命令之sudo命令详解,希望对大家有帮助!

每天一个Linux命令之sudo命令详解

sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

语法

sudo(选项)(参数)

选项

-b:在后台执行指令;

-h:显示帮助;

-H:将HOME环境变量设为新身份的HOME环境变量;

-k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;。

-l:列出目前用户可执行与无法执行的指令;

-p:改变询问密码的提示符号;

-s:执行指定的shell;

-u:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份;

-v:延长密码有效期限5分钟;

-V :显示版本信息。

参数

指令:需要运行的指令和对应的参数。

每天一个Linux命令之sudo命令特点

sudo扮演的角色注定了它要在安全方面格外谨慎,否则就会导致非法用户攫取root权限。同时,它还要兼顾易用性,让系统管理员能够更有效,更方便地使用它。sudo设计者的宗旨是:给用户尽可能少的权限但仍允许完成他们的工作。所以,sudo

有以下特点:

# 1. sudo能够限制指定用户在指定主机上运行某些命令。

# 2. sudo可以提供日志,忠实地记录每个用户使用sudo做了些什么,并且能将日志传到中心主机或者日志服务器。

# 3. sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机。它默认的存放位置是/etc/sudoers。

# 4.sudo使用时间戳文件来完成类似“检票”的系统。当用户执行sudo并且输入密码后,用户获得了一张默认存活期为5分钟的“入场券”(默认值可以在编译的时候改变)。超时以后,用户必须重新输入密码。

每天一个Linux命令之sudo命令实例

1)[sunmeng@localhost Desktop]$ sudo -u root yum install mysql-devel        指定用户名

[sunmeng@localhost Desktop]$ sudo -u root yum install mysql-devel                  -u参数比较有用的地方是在多用户时,可以临时获得权限打开用户独占的文件

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

* base: mirrors.cqu.edu.cn

* extras: mirrors.cqu.edu.cn

* updates: mirrors.cqu.edu.cn

正在解决依赖关系

--> 正在检查事务

......

--> 解决依赖关系完成

依赖关系解决

=============================================================================================================

Package 架构 版本 源 大小

=============================================================================================================

正在安装:

mariadb-devel x86_64 1:5.5.47-1.el7_2

......

作为依赖被升级:

krb5-libs.x86_64 0:1.13.2-12.el7_2 krb5-workstation.x86_64 0:1.13.2-12.el7_2

openssl.x86_64 1:1.0.1e-51.el7_2.5 openssl-libs.x86_64 1:1.0.1e-51.el7_2.5

pcre.x86_64 0:8.32-15.el7_2.1 zlib.x86_64 0:1.2.7-15.el7

完毕!

2)sudo命令与rpm命令结合使用的几个例子

[sunmeng@localhost Desktop]$ sudo rpm -q MySQL-embedded-5.5.28-1.linux2.6.i386.rpm

[sudo] password for sunmeng:

未安装软件包 MySQL-embedded-5.5.28-1.linux2.6.i386.rpm

[sunmeng@localhost Desktop]$ sudo rpm -qpR MySQL-embedded-5.5.28-1.linux2.6.i386.rpm

MySQL-devel

libaio.so.1

libaio.so.1(LIBAIO_0.1)

libaio.so.1(LIBAIO_0.4)

libc.so.6

libc.so.6(GLIBC_2.0)

libc.so.6(GLIBC_2.1)

libc.so.6(GLIBC_2.1.3)

libc.so.6(GLIBC_2.2)

libc.so.6(GLIBC_2.3)

libc.so.6(GLIBC_2.3.3)

libcrypt.so.1

libcrypt.so.1(GLIBC_2.0)

libdl.so.2

libdl.so.2(GLIBC_2.0)

libdl.so.2(GLIBC_2.1)

libm.so.6

libm.so.6(GLIBC_2.0)

libm.so.6(GLIBC_2.1)

libncurses.so.5

libpthread.so.0

libpthread.so.0(GLIBC_2.0)

libpthread.so.0(GLIBC_2.1)

libpthread.so.0(GLIBC_2.2)

libpthread.so.0(GLIBC_2.3.2)

librt.so.1

librt.so.1(GLIBC_2.2)

rpmlib(CompressedFileNames) <= 3.0.4-1

rpmlib(PayloadFilesHavePrefix) <= 4.0-1

3)[sunmeng@localhost Desktop]$ sudo -l        列出用户可以执行的命令

[sunmeng@localhost Desktop]$ sudo -l

匹配此主机上 sunmeng 的默认条目:

requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC

KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",

env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME

LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",

secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

用户 sunmeng 可以在该主机上运行以下命令:

(ALL) ALL

4[root@localhost Desktop]# sudo -i           以目标身份登录一个shell

[root@localhost Desktop]# sudo -i

[root@localhost ~]# sudo -i

linux sudo yum命令详解,每天一个Linux命令之sudo命令详解相关推荐

  1. (4)top详解 (每周一个linux命令系列)

    (4)top详解 (每周一个linux命令系列) linux命令 top详解 引言:今天的命令是用来看cpu信息的top top 我们先看man top top - display Linux pro ...

  2. (5)ps详解 (每周一个linux命令系列)

    (5)ps详解 (每周一个linux命令系列) linux命令 ps详解 引言:今天的命令是用来看进程状态的ps命令 ps 我们先看man ps ps - report a snapshot of t ...

  3. linux中yum源在那个目录下,Linux ---各种yum源配置详解

    yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器.yum 的理念是使用一个中心仓库(repository)管理 ...

  4. 在linux中删除多级目录,如何使用一个Linux命令删除多个子目录 | MOS86

    如果要使用Linux中的命令行删除另一个目录中的几个子目录,通常您必须多次使用rm命令.但是,有一个更快的方式来做到这一点. 说的我们有一个名为htg的目录,其中有五个子目录,我们要删除其中的三个目录 ...

  5. linux删除目录命令_如何使用一个Linux命令删除多个子目录

    linux删除目录命令 If you want to remove several subdirectories within another directory using the command ...

  6. linux本地yum源与软件包管理,【Linux系统中的】本地yum源的搭建与使用yum源进行软件的下载...

    前言: 当我们在使用Linux系统时,有时需要一些辅助工具帮助我们实现某项功能, 例如画图.wps.等功能,而这些功能并不是系统自带的,需要我们下载相关的 软件,那如何去下载这些软件那,这里我们不得不 ...

  7. 手动添加linux用户,Linux入门教程:如何手动创建一个Linux用户

    想到要创建一个用户的时候,我们马上想到了useradd命令或者在图像下进行建立,但是这样并没有真正的了解linux用户的生成步骤,我们知道在linux下"一切皆文件",那么对于一个 ...

  8. linux find返回数据不一样,请问一个linux的find的问题,如何让find的返回结果不显示“Perm...

    请问一个linux的find的问题, 如何让find的返回结果不显示"Permission denied"信息? 例如 user1[some directory]>  fin ...

  9. qwin10如何删除linux系统,win 10内置了一个Linux子系统,以后使用Linux,不用那么麻烦了...

    在使用Linux系统时此前无非就是两种方式,一种是在虚拟机上安装,另外一种是装双系统,相对而言这两种方式都比较繁琐,而在最新的win 10系统更新中它内置了一个一个Linux子系统,下面小新就为大家介 ...

最新文章

  1. 创建一个好的Sprint Backlog 的8个小贴士
  2. 比特币现金网络会看到什么样的代币?
  3. python ln2怎么写_Python2和3切换默认
  4. Java编程思想读书笔记--第21章并发
  5. 970计算机技术基础,2017年武汉大学测绘遥感信息工程国家重点实验室970计算机技术基础考研强化模拟题...
  6. HTTPS加密那点事--轻松秒懂HTTPS非对称加密
  7. BarTender安装常见问题集结
  8. Struts2(批量类型转换器struts2.3.4)
  9. OSS网页上传和断点续传(终结篇)
  10. JavaWeb学习之路——SSM框架之Spring(五)
  11. 闭合导线计算软件excel_测量坐标计算程序 V6
  12. static在内存层面的作用_static关键字总结
  13. Block和inline元素对比
  14. linux c语言头文件 在另外的地方,linux下的c语言的头文件在windows下头文件是哪几个?...
  15. 如何把书上的字弄到电脑!
  16. 给你一个团队,你怎么带?
  17. ITRS/GCRS/J2000坐标系的相互转换
  18. 怎么用计算机管理员删除文件,管理员权限删除,教您如何删除需要管理员权限的文件夹...
  19. 数据流程分析【停车场管理系统】
  20. 编译原理学习笔记(七)~LR(0)分析

热门文章

  1. Window bat rar压缩脚本
  2. Mapchart 绘制基因在染色体上的分布图
  3. jQuery Easing 动画效果扩展
  4. 某大牛的个人入侵经验
  5. C#实现一元二次函数求解(实根+虚根)含源码
  6. UltraScale Architecture GTY Transceivers 学习
  7. ASP.NET—015:ASP.NET中无刷新页面实现
  8. Hadoop网盘具体实现(二)
  9. Solidworks输出1:1图纸DWG格式文件参数设置
  10. 四月扬州 镇江自游行攻略