在学习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. JavaSE学习笔记

    1.数据类型 boolean char byte short int long double float double array class interface 总结: 前9种基本类型,后3中引用类 ...

  2. SwaggerUI ASP.Net WebAPI2

    目前在用ASP.NET的 WebAPI2来做后台接口开发,在与前台做测试的时候,总是需要发送一个demo给他,但是这样很麻烦的,他还有可能记不住. 然后就想到SwaggerUI 生成测试文档. 话不多 ...

  3. Struts2系列笔记(7)---Struts2类型转换

    Struts2类型转换      struts2中内置了大量的类型转换器用来完成数据类型转换的问题,这篇随笔主要通过两个方面来写Struts类型转换 1:Struts2内置的类型转换器 2:如何自定义 ...

  4. [PHP] PHP1 与 CGI

    早期,一个web程序通过cgi方式提供数据处理,编写cgi程序可以用不同的语言. 这个过程是,我们生成一个服务端可执行程序,处理 web server 传过来的请求,(设置header头)然后返回数据 ...

  5. shell-早间学习,每日一点

    1.定位行: sed -n '12,~3p' pass #从第12行开始,直到下一个3的倍数行(12-15行) sed -n '12,+4p' pass #从第12行开始,连续4行(12-16行) s ...

  6. Two analytical 2d line intersection in OpenCASCADE

    Two analytical 2d line intersection in OpenCASCADE eryar@163.com Abstract. OpenCASCADE geometric too ...

  7. gstunnel---一个网络安全管道

    项目简介: gstunnel 是 基于go 语言开发的一个安全网络管道,支持tcp协议. gstunnel分为client和server两部分. gstunnel 基于aes进行数据加密. 流程示意: ...

  8. Spring AOP的解读

    一.为什么会有AOP 在日常的开发中经常会有这样一种场景,支付相关的业务中经常需要记录日志,而记录的日志大体相同:这样就会造成支付组件和日志组件强关联,耦合在一起了.而AOP的出现就是为了解决这种问题 ...

  9. HQL查询——查询返回对象类型分析

    关于HQL查询,我们可以结合hibernate的API文档,重点围绕org.hibernate.Query接口,分析其方法,此接口的实例对象是通过通过session.对象的creatQuery(Str ...

  10. mybatis系列笔记(4)---输入输出映射

    输入输出映射 通过parameterType制定输入参数类型 类型可以是简单类型(int String)也可以是POJO本身 或者包装类 1输入映射 关于输入简单类型和pojo本身的我就不写了,因为比 ...