Linux系统管理员不可不知的命令:sudo
对Linux系统管理员或高级用户而言,sudo是必不可少的最重要的命令之一。当我们想要运行重要任务时,sudo提供了安全的提升权限。请耐心读本文,看看sudo能为你做些什么。
sudo是个统管一切的命令。它的字面意思是代表“超级用户才能做!”(super user do!)对Linux系统管理员或高级用户而言,它是必不可少的最重要的命令之一。你可曾有过这样的经历:在终端中试着运行某个命令,结果却遇到“拒绝访问”?这个就是你所需要的命令!但正所谓,权力越大,责任也越大!较之以根用户身份登录,或者使用 su “switch user” 命令,sudo要好得多。请耐心读下去,看看sudo能为你做些什么!
sudo:它有什么用途?
那么,sudo实际能做些什么呢?如果你在任何Linux命令的前面加上“sudo”这个前缀,那么它会以提升的权限来运行该命令。执行某些管理任务需要提升的权限。有一天,你可能想运行一台LAMP(Linux Apache MySQL PHP)服务器,又要手动编辑配置文件。你可能还要重新启动或重置Apache Web服务器或者是其他服务后台程序。你甚至需要提升的权限来关闭或重新计算机。“嘿,谁关闭了这台机子?”
如果你熟悉Windows,sudo与当你试图处理任何重要操作时,弹出来的Windows用户帐户控制(ACL)对话框非常相似,只是不如后者来得友好。在Windows中,如果你试图执行某项管理任务,对话框就会问你是否想继续执行("你果真确信想要运行刚才点击的这个程序吗?")随后执行该任务。在Mac机器上,一个安全对话框会弹出来,要求你输入密码,并点击“确定”。
而Linux方面显得更有戏剧性。要是没有适当的权限,一些操作会显得相当怪异。你在编辑的那个重要的配置文件可能无法正确保存内容。你安装上去的那个程序可能就是拒绝运行。你已下载、想要编译的那段出色的源代码编译不了。你要是不走运的话,甚至还会看到"拒绝访问"或另一个错误信息。你最担心的种种情况都变成了现实,但你要做的就是请求权限!这就是为什么我们在执行像下面这种操作时,应该牢记事先请求超级用户权限:
sudo reboot
在这个屏幕截图中看看如果我们没有先借助sudo提升权限,会出现什么情况:
首先,我们使用重启命令尝试重启系统。该命令提到:“必须是超级用户”。然后,我们试着用sudo重启。sudo要求你提供用户密码。请注意:它要求你提供的是你的密码,而不是根密码(只要把权力下放给用户,不容告诉他们根密码,sudo降低下放权力的用户出现手误的操作的几率)。最后,我们看到表明现在将重启系统的广播信息。sudo就像是个神奇的命令,会发出神奇的指令。
为什么sudo比另一个办法更好?
sudo是提升权限的最出色、最安全的方法。我们不妨看一下提升权限的另一个方法。作为切换用户命令,"su"会要求你输入根密码,并且给你一个超级用户提示符,以#符号表示。这个#符号意味着"危险!你已作根用户登录上去!"你下达的第一个命令也许顺利执行完毕。但是你一旦忘了,会继续以根用户身份登录。要是打错一个字,就完蛋了!你清除了整个硬驱,而不是清除你下载的那个盗版mp3文件。你的Web服务器和家庭公司统统不见了!如果是sudo,你就得在每一个命令之前输入"sudo"。因而,你没必要记得切回到常规用户模式,那样发生的事故就会更少。
Suderos文件
这个文件可谓是sudo的基础。它控制着谁可以使用sudo命令来获得提升的权限。它通常位于/etc/sudoers。想编辑这个文件,最有效最安全的方式就是,使用visudo命令。这个命令会以提升权限启动vi编辑器,那样你就能编辑并保存该文件。它还会给sudoers文件上文件锁,那样别人无法编辑该文件。一旦你完成了编辑工作,它会分析文件,查找有无简单的错误。编辑sudo文件要比仅仅使用任何旧的文本编辑器来得安全得多。
该文件含有许多参数。你可以指定哪些用户或哪些用户助可以执行哪些命令。我们准备为自己授予访问sudo的权限,为此只要在底部添加:
username ALL=(ALL) ALL //为用户"username"授予sudo访问权
%wheel ALL=(ALL) ALL //为属于wheel用户组的所有用户授予sudo访问权
现在指定的用户名就能够使用所有根权限了。你还可以允许某个用户或用户组只对特定服务或服务器拥有sudo访问权,以取代ALL参数,不过那是另一个话题了。
几个选项
与任何优秀的命令一样,也有几个很棒的选项可以让sudo处理更多的事务。
- sudo -b会在后台运行命令。这对显示许多实时输出内容的命令来说很有用。
- sudo -s 会运行以提升权限指定的外壳,为你提供#提示符(别忘了退出!)
- sudo su -会让你成为根用户,并装入你那些自定义的用户环境变量。
有没有现在就用它?
我们想要运行重要任务时,sudo提供了安全的提升权限。在Ubuntu用户当中,它也许是使用最广泛、功能最强大的命令,因为它已成为该发行版中的首选方法。既然你拥有了这么大的权利,那么在运行命令时务必要做到安全!世上可没有su-undo撤销命令!
Linux系统管理员不可不知的命令:sudo的更多相关文章
- Linux系统不可不知的命令:sudo
转自:http://www.embeddedlinux.org.cn/html/xinshourumen/201308/05-2608.html sudo是个统管一切的命令.它的字面意思是代表“超级用 ...
- [转]给Linux系统管理员准备的Nmap命令的29个实用范例+ tsysv 系统服务器管理器
原文链接:http://os.51cto.com/art/201401/428152.htm Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具.Nmap用于在远程机器上探 ...
- 给Linux系统管理员准备的Nmap命令的29个实用范例
map即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具.Nmap用于在远程机器上探测网络,执行安全扫描,网络审计和搜寻开放端口.它会扫描远程在线主机,该主机的操作系统,包过滤器和 ...
- Linux系统管理员命令:sudo
sudo是个统管一切的命令.它的字面意思是代表“超级用户才能做!”(super user do!)对Linux系统管理员或高级用户而言,它是必不可少的最重要的命令之一.你可曾有过这样的经历:在终端中试 ...
- Linux学习总结(六)-su命令 sudo 命令 限制root远程登录
root 用户拥有至高无上的权利,那么我们运维人员是不是直接在root用户下处理所有问题呢? 答案是否定的,权力越大,责任越大,人是会犯错的,因此我们要在不影响我们的工作情况下,尽量限制我们的权力,以 ...
- Linux记录-普通用户下执行sudo xxx 找不到命令解决方案
chmod 777 /etc/sudoers vim /etc/sudoers 1.可以使用 secure_path 指令修改 sudoers 中默认的 PATH为你想要的路径.这个指令指定当用户执行 ...
- Linux系统管理员面试50题
命令nslookup是做什么的? Nslookup 是一个 监测网络中 DNS 服务器是否能正确实现域名解析的命令行工具. 你如何把CPU占用率最高的进程显示出来? top -c 按照cpu排序 如果 ...
- Linux 新手非常有用的命令
http://www.cnblogs.com/felix-/p/4341773.html Linux 新手非常有用的命令 你打算从Windows换到Linux上来,还是你刚好换到Linux上来?哎哟! ...
- Linux系统管理员应该了解的一些I/O统计工具
作为一个Linux系统管理员,统计各类IO是一项必不可少的工作.其统计工具中iostat显然又是最重要的一个统计手段.但是这里iostat不是本文的重点,因为这个工具的使用在网络上已经有大量的教程,可 ...
随机推荐
- js的两种数据类型
js中的数据类型总体来说分为两种,他们分别是: 1 值类型(基本类型):数值型(Number),字符类型(String),布尔值型(Boolean),null 和 underfined 2 引用类型( ...
- Weka回归
第一个数据挖掘技术:回归 例子:给房子定价 房子的价格(因变量)是很多自变量 — 房子的面积.占地的大小.厨房是否有花岗石以及卫生间是否刚重装过等的结果.所以,不管是购买过一个房子还是销售过一个房子, ...
- IntentService的使用
1.为什么需要IntentService 是LocalService的包装类,简便Service的创建,使用的是startService(),也就是访问者退出Service不会消失. 2.实现原理 步 ...
- 离线使用nuget
先新建一个项目,将所有想保存下来或者要升级的package先安装或升级. 然后在项目中将packages文件夹全部拷贝出来,专门放到一个目录备用,以后的项目就可以根据此packages文件夹来离线使用 ...
- 浅谈局域网ARP攻击的危害及防范方法(图)
浅谈局域网ARP攻击的危害及防范方法(图) 作者:冰盾防火墙 网站:www.bingdun.com 日期:2015-03-03 自 去年5月份开始出现的校内局域网频繁掉线等问题,对正常的教育教 ...
- Delphi下创建异形窗体
procedure TForm1.FormCreate(Sender: TObject);var pt: array [0 .. 4] of TPoint; m_rgn: HRGN;begin ...
- C#内存操作
原文:[转]C#内存操作 最近闲来无事发现周围的朋友都在玩<植物大战僵尸>的游戏!于是动了制作这游戏工具的念头!虽然在网上同类工具很多 但是用C#写的我几乎看不到!所以我想用C#写一个! ...
- 支持https的压力测试工具
支持https的压力测试工具 测试了linux下的几种压力测试工具,发现有些不支持https,先简单总结如下: 一.apache的ab工具 /home/webadm/bin/ab -c 50 -n 1 ...
- 几个关于JPEGLIB库的博客
1.http://blog.csdn.net/huxiangyang4/archive/2010/07/12/5728888.aspx 我认为是最好的 2.http://blog.csdn.net/a ...
- Google的兼容包问题【转】
转自:http://blog.sina.com.cn/s/blog_3e28c8a50101g14g.html 项目之前好好的,今天开Eclipse,,出错. 错误Error retrieving p ...