在学习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. linux gdb基本概念

    GDB是一个功能强大的调试器,它是一个自由软件,能够用在许多UNIX平台上.它同时也是Linux系统中的默认调试器.GDB已被移植到许多其他的计算机平台上,并且能够用于调试嵌入式实时系统.一般来说,G ...

  2. js字符串转日期,js字符串解析成日期,js日期解析, Date.parse小时是8点,Date.parse时间多了8小时

    js字符串转日期,js字符串解析成日期,js日期解析, Date.parse小时是8点,Date.parse时间多了8小时 >>>>>>>>>&g ...

  3. JAVA中一些需要记录的知识点(进阶部分)···持续更新

    1.JAVA中的相对路径 file = new file("")与file = new file("./")方式相同,该路径为整个project的根目录(实际上 ...

  4. Javascript 闭包与高阶函数 ( 一 )

    上个月,淡丶无欲 让我写一期关于 闭包 的随笔,其实惭愧,我对闭包也是略知一二 ,不能给出一个很好的解释,担心自己讲不出个所以然来. 所以带着学习的目的来写一写,如有错误,忘不吝赐教 . 为什么要有闭 ...

  5. BZOJ 1198: [HNOI2006]军机调度(搜索)

    直接暴搜就行了= = CODE: #include<cstdio> #include<iostream> #include<cstring> #include< ...

  6. 使用StyleCop.Analyzers进行代码审查

    为什么要进行代码审核? 提早发现代码中的BUG,避免将BUG带到生产环境 极大的提高软件质量,以及可维护性 统一代码规范.提高可读性,减少新加入成员的熟悉时间 加速个人和团队的成长,知识和经验的积累 ...

  7. 每天一个linux命令(42)--traceroute命令

    通过traceroute 我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不 ...

  8. How to create a repository in Github with Eclipse?

    How to create a repository in Github with Eclipse? Here is an answer. I will teach you how to do it ...

  9. js获取浏览器宽高

    IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.d ...

  10. 用PHP ping 一个 IP

    最近要做一个 测试IP列表 是否能连通的功能.大家都知道我们一般用 ping 命令就可以看到IP端口可不可以连通.那在程序里要怎么做呢? 我们在网上找到很多都是使用  exec("ping ...