在学习Linux用户管理时,我们不得不需要了解一个命令,那就是sudo。sudo的作用是切换身份,以其他身份来执行命令。

那么为什么在Linux系统中我们需要来切换身份呢?原因有以下几个方面

1、养成一个对系统操作的好习惯。不管是在一些博文还是书籍中,作者经常会建议Linux使用者尽量用一般身份来操作Linux的日常作业。

等需要设定系统环境时,再切换成root身份进行系统管理,这样对系统是相对安全的,避免因为一些错误的指令而造成严重的事故

2、用较低的权限来启动系统服务。比如,系统上安装了apache服务,我们可以建立一个apache用户,专门用做对apache服务的操作。这样

即使apache出了什么问题,也不会影响到系统其他方面

鉴于以上,我们都被建议过使用普通账号登录系统,当系统需要维护或者软件更新时,再切换成root身份来操作。那么,如何来切换呢?

"su"命令可以用来切换成root身份,但是需要输入root密码。对与普通用户来说,是不应该被告知root密码的。

"sudo"命令也可以切换到root,但不需要root的密码,只需要自己的密码,这样root的密码就不会流传出去。

在/etc/sudoers里设置了可执行sudo指令的用户,若没有经过授权的用户使用sudo,则系统会向root发送警告邮件。用户在使用sudo时,必须先要输入密码,密码输入成功后有5分钟的有效期,过了期限,则需要再次输入密码

新建一个用户sudoer,在使用sudo命令时系统会给出提示,用户soduer不能在本机运行sudo命令

那么如何才能让sudoer可以使用sudo命令呢?我们需要管理员在/etc/sudoers文件中给予权限

找到/etc/sudoers中"root  ALL=(ALL)  ALL"行,添加一行"sudoer ALL=(ALL) ALL",这样sudoer便具有了使用sudo的权限

现在,我们再用sudoer身份来使用sudo的相关命令来验证是否具有权限

此时,用户sudoer可以执行所有的命令

sudo的使用方法就是 sudo [选项] [参数],我们先用man sudo来了解sudo的一些选项及用法

我们来了解一下其中的一些选项

-b : 在后台运行指令

- h : 显示帮助信息

- H : 将HOME环境变量设置为切换后的新用户的HOME路径

- k  : 使时间戳失效,结束密码的有效期,再次使用sudo时需重新输入密码

- l   : 列出目前用户可执行和不可执行的命令

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

Linux学习之sudo命令的更多相关文章

  1. linux学习: sudo命令(ubuntu)

    使用 sudo 命令可以提高命令的执行权限,以root权限执行 如 :  sudo vi xxx 但是有些内置命令 如 cd 无法通过 sudo来执行 ,如  sudo cd xxx 这是会报错的. ...

  2. Linux学习新篇——常用命令和快捷键总结

    最近刚接触Linux,整理了一些常用的命令和快捷键 Tab补全命令 当命令记不清了,输入记得的前几个用Tab就可以将该命令自动补全. 启动tomcat服务用$startup.sh 停止tomcat服务 ...

  3. Linux 学习 (七) 挂载命令 & 用户登陆查看

    Linux达人养成计划 I 学习笔记 挂载命令 mount:查询系统中已经挂载的设备 mount -a:根据配置文件 /etc/fstab 的内容,自动挂载 mount [-t 文件系统] [-o 特 ...

  4. Linux 学习 (四) 帮助命令

    Linux达人养成计划 I 学习笔记 man 命令 获取指定命令的帮助 man的级别 1:查看命令的帮助 2:查看可被内核调用的函数的帮助 3:查看函数和函数库的帮助 4:查看特殊文件的帮助(主要是/ ...

  5. linux 学习2 常用命令

    1.显示日期的指令: date 2.   [Tab]按键---具有『命令补全』不『档案补齐』的功能 3:  su和 sudo  su用于用户之间的切换.  su在不加任何参数,默认为切换到root用户 ...

  6. Linux 系统中 sudo 命令的 10 个技巧

    概览 sudo 表示 "superuser do". 它允许已验证的用户以其他用户的身份来运行命令.其他用户可以是普通用户或者超级用户.然而,大部分时候我们用它来以提升的权限来运行 ...

  7. linux学习笔记——基础命令

    最近看了一些老男孩linux运维视频,挺不错的,特此记录一下 linux组成 gun组件 shell等 linux内核 其他软件 linux主要内核: linux kernel2.2 linux ke ...

  8. Linux su和sudo命令的区别,并获得root权限

    su(superuser) su表示切换用户,如: 输入:su命令后回车表示切换当前的用户到root用户,或者: 输入:su - root(或者其他用户名)这里加了"-"后表示也切 ...

  9. Linux学习 - 系统命令sudo权限

    1 功能 root把超级用执行的命令赋予普通用户执行 2 使用 visudo 或 vim /etc/sudoers 说明: root 用户名 ALL=(ALL) 被管理主机的地址=(可使用的身份) A ...

随机推荐

  1. 从并发处理谈PHP进程间通信(一)外部介质

    .container { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px } .conta ...

  2. 三层——vb.net版

    经过不懈的努力,我的vb.net 版的三层登陆终于实现了.下面将我的成果向大家展示一下. 原则          vb.net的三层登陆跟C#的三层登陆的思想是一样的都是将系统分层--U层只负责与用户 ...

  3. 判断iPhone的WiFi是否打开的两种方法 之是否连接上 WiFi

    iOS中用来查询当前连接的网络信息的API即CNCopyCurrentNetworkInfo 这个API位于SystemConfiguration.framework里面,使用时需要增加.h和包含库文 ...

  4. 使用rsync+inotify-tools+ssh实现文件实时同步

    假设某服务器架构中有两台web服务器(IP为192.168.1.252和192.168.1.254),一台代码更新发布服务器(IP为192.168.1.251),需要同步的目录是/data/www/, ...

  5. javase基础回顾(一)ArrayList深入解析 解读ArrayList源代码(JDK1.8.0_92)

    我们在学习这一块内容时需要注意的一个问题是 集合中存放的依然是对象的引用而不是对象本身. List接口扩展了Collection并声明存储一系列元素的类集的特性.使用一个基于零的下标,元素可以通过它们 ...

  6. Java Web(三) 会话机制,Cookie和Session详解

    很大一部分应该知道什么是会话机制,也能说的出几句,我也大概了解一点,但是学了之后几天不用,立马忘的一干二净,原因可能是没能好好理解这两种会话机制,所以会一直遗忘,一直重新回过头来学习它,今天好好把他总 ...

  7. Javascript继承(暂略去中转函数、组合继承和寄生继承)

    继承,在JS中通过原型链实现.如: function Box(){ this.name="Lee"; } function Desk(){ this.age=100; } //通过 ...

  8. 读阮一峰对《javascript语言精粹》的笔记,我有疑问。

    <javascript语言精粹>是一本很棒的书籍,其中作者在附录列出了12种他所认为的javascript语言中的糟粕. 我最近开始跟读前端前辈的博客,其中读到了阮一峰的<12种不宜 ...

  9. C#中判断字符串相等的方法

    可以使用如下方式: 1. String.Compare(str1, str2) == 0  或者  str1.CompareTo(str2) == 0 2. str1.Equals(str2)  或者 ...

  10. 11g R2 RAC启动关闭步骤

    1.关闭监听 /u01/app/11.2.0/grid/bin/srvctl stop listener -n redhat-rac01 /u01/app/11.2.0/grid/bin/srvctl ...