一起来学linux:sudo
通常在转换用户的时候会用到su 用户的方式。但是su方式需要知道切换的用户密码。而且su root到roo账户后,root账户有全部的权限。为了防止root账户干错事,因此有了sudo的命令。sudo 顾名思义,super user do 它可以让普通账户执行root账户的权限。
其他账户能够执行sudo必须要在/etc/sudoers文件中添加,这个文件只有root账户才能编辑。还必须使用visudo编辑。之所以用visudo有两个原因:
1
防止两个用户同时修改 2
能进行有限的语法检查。
在添加权限前,我们先来看下当前账户的权限,比如我们想查看/etc/shadow文件的内容。在用zhf账户查询的时候提示没有权限。原因在于这个文件只有root账户才有权限使用
zhf@zhf-linux:~/zhf$
cat /etc/shadow
cat:
/etc/shadow: Permission denied
运行visudo命令。添加%zhf
ALL=(ALL:ALL) ALL
#
Allow members of group sudo to execute any command
%sudo
ALL=(ALL:ALL) ALL
%zhf
ALL=(ALL:ALL) ALL
zhf是用户帐号。第一个ALL代表登陆来源的主机号。
(ALL:ALL)
代表可转换的身份,我们可以在里面设置其他帐号名称比如zhf_test:zhf。这样当用命令sudo
-u zhf_test就会以zhf_test的身份去执行命令。
Sudo
-u zhf就会以zhf的身份去执行命令。
最后一个ALL代表可执行的命令。在这里我们赋予zhf所有root可执行的命令。添加之后我们继续来执行之前的命令。这个时候要采用sudo
cat /etc/shadow 来执行。输入用户名密码后,可以看到能查看etc/shadow文件的内容了
zhf@zhf-linux:~/zhf$
sudo cat /etc/shadow
[sudo]
password for zhf:
root:$3$2lx7mDyC$upA1ssj61RgHwUTonnKxJ1HqxEal71XsIIO4tNYiWDHRiytkYIMDhTiA9E6w0wkPD9KXIS5psm7977/njDkN9.:783420:111111:7:::
另外在下面这一行是配置组的组成员用户的sudo权限。
#
Members of the admin group may gain root privileges
%admin
ALL=(ALL) ALL
对于在/etc/sudoers中配置其他账户所有的权限也是有很多安全隐患的。因此我们一般对于账户能执行的命令是有约束的。比如下面就对zhf帐号进行了约束,授予了ifconfig以及ls的root权限。而其他命令则不涉及
%zhf
ALL=(ALL:ALL) sbin/ifconfig, /bin/ls
一起来学linux:sudo的更多相关文章
- Linux sudo 命令的应用
.note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeit ...
- 跟着鸟哥学Linux系列笔记3-第11章BASH学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...
- 跟着鸟哥学Linux系列笔记2-第10章VIM学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 常用的文本编辑器:Emacs, pico, nano, joe, vim VI ...
- 跟着鸟哥学Linux系列笔记0-如何解决问题
跟着鸟哥学Linux系列笔记0-扫盲之概念 在发生问题怎么处理: 1. 在自己的主机.网络数据库上查询How-To或FAQ -Linux 自身的文件数据: /usr/share/doc -CLDP中 ...
- 跟着鸟哥学Linux系列笔记1
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 装完linux之后,接下来一步就是进行相关命令的学习了 第五章:首次登录与在线求助man page 1. X ...
- 为学Linux,我看了这些书
为学Linux,我看了这些书 去年开始,抱着学习的态度开始了我的Linux学习,到现在,差不多一年了,收获很多,不敢说精通Linux,但是,还是对得起"略懂"这两个字的.这一年 ...
- 十天学Linux内核之第十天---总结篇(kconfig和Makefile & 讲不出再见)
原文:十天学Linux内核之第十天---总结篇(kconfig和Makefile & 讲不出再见) 非常开心能够和大家一起分享这些,让我受益匪浅,感激之情也溢于言表,,code monkey的 ...
- 十天学Linux内核之第九天---向内核添加代码
原文:十天学Linux内核之第九天---向内核添加代码 睡了个好觉,很晚才起,好久没有这么舒服过了,今天的任务不重,所以压力不大,呵呵,现在的天气真的好冷,不过实验室有空调,我还是喜欢待在这里,有一种 ...
- 十天学Linux内核之第八天---构建Linux内核
原文:十天学Linux内核之第八天---构建Linux内核 今天是腊八节,说好的女票要给我做的腊八粥就这样泡汤了,好伤心,好心酸呀,看来代码写久了真的是惹人烦滴,所以告诫各位技术男敲醒警钟,不要想我看 ...
- 十天学Linux内核之第七天---电源开和关时都发生了什么
原文:十天学Linux内核之第七天---电源开和关时都发生了什么 说实话感觉自己快写不下去了,其一是有些勉强跟不上来,其二是感觉自己越写越差,刚开始可能是新鲜感以及很多读者的鼓励,现在就是想快点完成自 ...
随机推荐
- 开启KindEditor代码高亮功能
KindEditor4.0 开始支持插入代码功能!!!如何使用插入代码功能实现前段页面代码高亮显示和后台代码维护显示!!! 1. 需要高亮显示代码的前台页面需要引用相应的css样式和js文件 < ...
- 创建maven项目是其中的group id和artifact id怎么填写
groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找. groupId一般分为多个段 ...
- Understanding Objective-C Blocks
The aim of this tutorial is to give a gentle introduction to Objective-C blocks while paying special ...
- 苹果放宽了 iOS 5.0 对应用本地存储的限制
iOS5.0引入了iCloud,让那些需要本地存储较多数据的app开发者(比如支持离线的杂志,新闻类app)陷入了 尴尬的境地,因为将大量数据存储在/Documents 文件夹将导致iCloud同步变 ...
- Mac Pro 系统自带python路径
/usr/local/Frameworks/Python.framework/Versions/2.7/bin
- Oracle内存管理(之五)
[深入解析--eygle]学习笔记 1.4. 2其它内存组件 Large Pool-大池是SGA的一个可选组件,通经常使用于共享server模式(MTS). 并行计算或 RMAN的备份恢复等操作. J ...
- Centos7 安装 Maven 3.5.*
下载 Apache Maven 访问 Maven官方网站,打开后找到下载链接,如下: 解压 tar zxvf apache-maven-3.5.3-bin.tar.gz 添加环境变量 打开 /etc/ ...
- C#中回调函数的使用方法和区别
归纳来说有两种方式,一种是委托型回调,另一种是接口型回调 委托型回调 委托型回调包括纯委托型和事件型,他们的实现方式是通过公开成员注入的方式,其中纯委托型还可以用构造函数注入.方法注入的方式 接口型回 ...
- mac 升级系统后 ”任何来源“被取消了找回方法
找回方法 终端输入: sudo spctl --master-disable
- A和B是好友,他们经常在空闲时间聊天,A的空闲时间为[a1 ,b1 ],[a2 ,b2 ]..[ap ,bp ]。B的空闲时间是[c1 +t,d1 +t]..[cq +t,dq +t],这里t为B的起床时间。这些时间包括了边界点。B的起床时间为[l,r]的一个时刻。若一个起床时间能使两人在任意时刻聊天,那么这个时间就是合适的,问有多少个合适的起床时间?
// ConsoleApplication5.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<vector> ...