Linux sudo 命令的应用
.note-content {font-family: 'Helvetica Neue', Arial, 'Hiragino Sans GB', STHeiti, 'Microsoft YaHei', 'WenQuanYi Micro Hei', SimSun, Song, sans-serif;}

sodo 的字面意思理解应该是switch user excute a command as another user,用另外一个用户的权限来执行命令。如同电视剧中,皇帝派心腹大臣调查贪官污吏,但是大臣并没有皇帝的权利,到了某些时候要使用生杀予夺的权利时,就可以拿出皇帝御赐的上方宝剑来当代表皇帝来行使这些权利。

sudo 与su 的区别

有些人很困惑那么已经有了su,如果要执行没有权限的命令时,可以直接切换用户完成操作,为什么又要开发出这样一个命令呢。原因就在于,使用su的时候必须要输入对应用户的密码,如果要使用的是root用户才有权限操作的命令,那么root用户就面临着密码泄露的危险,考虑到系统安全,于是就开发出更易使用和安全的sudo来了。

sudo 配置文件路径

/etc/sudoers

sudo 配置文件特殊编辑器

编辑sudo 有专有的命令visudo,这个命令只允许单个用户进行编辑,并且可以进行语法检查。

sudo 配置文件的基本格式

who  where=(run_as_who) run_commands
总结下来就是:
谁在哪台主机以谁的身份运行什么命令

sudo 配置的别名机制

sudo 的别名有三种,分别是:

用户别名、地址别名、Runas 别名,命令别名。

User_Alias TEST_USER =jack,rose //用户之间以分号隔开

Host_Alias TEST_HOST= ALL //所用地址都可以使用sudo

Runas_Alias TEST_Runas //用法和用户别名一样

Cmnd_Alias TEST_Cmnd /usr/sbin/useradd, /usr/bin/passwd //命令要写觉得路径

默认情况下,第一次使用sudo命令的时候要求输入密码,但是第二次就不用输入了。sudo的密码能够缓存5分钟,五分钟以内使用是不需要输密码的,五分钟过后就要求再次输入密码。那么当我们有事外出的时候,可以使用sudo -k 命令让自己的密码失效,那么当再次使用的时候,就需要重输密码了。

如果不想每次使用的时候输入密码,那么可以添加NOPASSWD 选项:

    118 ## Here is sudo config
119
120 ## User_Alias
121 User_Alias USER_ALLOW=liangzi
122 Host_Alias HOST_ALLOW=192.168.75.188
123 Cmnd_Alias COMMAND_ALLOW=/usr/sbin/useradd
124
125 USER_ALLOW HOST_ALLOW=(root) NOPASSWD:COMMAND_ALLOW

sudo的命令执行日志信息放在cat /var/log/secure文件内,可以定期的去查看一下,以免执行恶意命令。

Linux sudo 命令的应用的更多相关文章

  1. Linux sudo 命令使用简介

    Linux sudo 命令使用简介 by:授客 QQ:1033553122 基本语法: $ sudo [-u username] [command] -u:将身份变成username的身份 #编辑/e ...

  2. Linux sudo命令——sudoers文件的配置

    Linux sudo命令与其配置文件/etc/sudoers   对linux有一定了解的人多少也会知道点关于sudo命令.sudo命令核心思想是权限的赋予 ,即某个命令的所属用户不是你自己,而你却有 ...

  3. linux sudo命令

    Sudo”是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的“权利”,让他们执行一些只有超级用户或其他 特许用户才能完成的任务,比如:运行一些像mount,ha ...

  4. [转]linux sudo 命令

    转自:http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/11/11/2245341.html “Sudo”是Unix/Linux平台上的一个 ...

  5. linux sudo 命令

    简单的说,sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码.严谨些说,sudo 允许一个已授权用户以超级用户或者其它用户的角色 ...

  6. linux sudo命令详解

    --sudo命令重启网卡 sudo service network restart http://bestchenwu.iteye.com/blog/1450292

  7. 转 Linux sudo命令

    脚本中使用$HOME变量 问题描述:某些同事原来写的脚本中包含如下内容. BIN_DIR=${HOME}/tools TAIR_BIN_DIR=${HOME}/tair_binTAIR_SRC_DIR ...

  8. linux sudo命令失败 提示sudo:/usr/bin/sudo 必须属于用户 ID 0(的用户)并且设置 setuid 位

    sudo:/usr/bin/sudo 必须属于用户 ID 0(的用户)并且设置 setuid 位 一.前言 这是一个神奇的错误,缘由是因为有人将/usr/bin/sudo的权限改为777或其他. 解决 ...

  9. su和sudo命令详解

    我们知道,在Linux下对很多文件进行修改都需要有root(管理员)权限,比如对/ect/profile等文件的修改.很多情况下,我们在进行开发的时候都是使用普通用户进行登录的,尤其在进行一些环境变量 ...

随机推荐

  1. Dynamics CRM 2015-Sign Out选项

    If you are using CRM Online - there is a sign out button in the upper right corner (in the web versi ...

  2. android 自定义动画

    android自定义动画注意是继承Animation,重写里面的initialize和applyTransformation,在initialize方法做一些初始化的工作,在applyTransfor ...

  3. AngularJS 过滤器

    过滤器可以使用一个管道字符(|)添加到表达式和指令中 AngularJS 过滤器可用于转换数据: currency 格式化数字为货币格式. filter 从数组项中选择一个子集. lowercase ...

  4. 如何dos中查看当前MySQL版本信息?

    dos中MySQL安装服务成功--启动服务成功--登录MySQL成功后输入:select version();  如图:

  5. sqoop:Failed to download file from http://hdp01:8080/resources//oracle-jdbc-driver.jar due to HTTP error: HTTP Error 404: Not Found

    环境:ambari2.3,centos7,sqoop1.4.6 问题描述:通过ambari安装了sqoop,又添加了oracle驱动配置,如下: 保存配置后,重启sqoop报错:http://hdp0 ...

  6. Mysql Join

    在前面的博文中,我们已经学会了如果在一张表中读取数据,这是相对简单的,但是在真正的应用中经常需要从多个数据表中读取数据. 本章节我们将向大家介绍如何使用 MySQL 的 JOIN 在两个或多个表中查询 ...

  7. rsync同步

    本地同步: rsync -avz /boot /test C/S架构: 远程同步:rsync+ssh 远程浏览器目录文件:rsync  用户@192.168.0.250:/boot 下行:rsync ...

  8. 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器

    本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...

  9. 项目游戏开发日记 No.0x000003

    14软二杨近星(2014551622) 刚刚过去清明节, 意味着离交项目的时间, 还有三个星期, 有点着急了, 可是, 还是觉得无所适从... 项目进展: 刚刚过去的一周, 事非常多, 以至于, 进展 ...

  10. [No000098]SVN学习笔记5-分支,合并,属性,补丁,锁,分支图

    行结束符和空白选项 在项目的生命周期中,有时可能会将行结束符由 CRLF 改为 LF,或者修改一段代码的缩进.不幸的是这样将会使大量的代码行被标记为已修改,尽管代码本身并没有被修改.这里列出的选项将会 ...