【版权申明】非商业目的注明出处可自由转载
博文地址:https://blog.csdn.net/ShuSheng0007/article/details/105827055
出自:shusheng007
文章首发于 shusheng007的博客
概述
第一次接触Linux时是照着网上的教程给服务器安装Tomcat
的时候,总是看到 sudo
命令,咱也不知道是啥,就是一顿复制粘贴,最后还安装成功了。可笑的是我用的root账户登录的,还用毛sudo
啊?
知识就是这样的,也许一个问题在老鸟看来是一颗土坷垃,但对于初学者却是一座大山,此处简单谈一下我对这个命令的理解,全当是学习笔记,当然也希望它可以帮助其他有需要的同行。
SUDO 使用背景
Sudo 的全称为:super user do。 顾名思义:干超级用户才能干的事!所以Sudo最常用的功能就是提升一个命名的执行权限。
在 秒懂Linux文件权限及chmod命令一文中我们讲过,Linux是以用户和组来管理权限的,如果你使用的账户权限不够,那么有些动作你是做不了的,例如重启服务器(reboot 命令),那怎么办呢?
有的同学要杠了,root
账户不香吗?你丫以为每个服务器都是你家买的啊,谁都能用root
? 其实这个命令最主要的意图就是解决root
在使用过程中存在的问题。root
权限实在是太大了,泄漏或者误操作都将造成巨大的风险,于是sudo
横空出世了! 所以说,就算是你有root
权限,使用这个命令也可以防止由于误操作造成不可挽回的损失或麻烦。
SUDO 作用
sudo
是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root
命令的一个工具,如halt,reboot,su等等。换句话说通过此命令可以让非root
的用户运行只有root
才有权限执行的命令。
SUDO 原理
是不是每一个新创建的用户都可以使用sudo
提升命令的权限呢?如果不是那么哪些用户可以使用此命令呢?
要想使一个用户具有使用sudo
的能力,需要让root
用户将其名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信息注册到/etc/sudoers
文件中,即完成对该用户的授权(此时该用户称为“sudoer”)才可以。
当一般用户执行特殊权限时,在命令前加上 sudo
,此时系统会让你输入密码以确认终端机前操作的是你本人,确认后系统会将该命令的进程以超级用户的权限运行。
在一定的时间段内,再次执行sudo
的命令时不再询问密码,超出此时间段(一般为5分钟)后需要再次输入密码。
具体使用
此处假设公司的服务使用的是Ubuntu 18.04
操作系统
实习妹子牛翠花到”圣女果科技”公司实习报到时,组长王二狗需要给她创建一个可以使用sudo
命令的账号该怎么做呢?
-
二狗首先登陆
root
账号,使用如下命令创建一个账号:cuiHuaNiu。adduser cuiHuaNiu
在创建过程中需要指定cuiHuaNiu 账号的密码,以及其他个人信息,例如电话号码等,二狗还可以乘机要到妹子的电话。
-
授予cuiHuaNiu管理员权限,也就是将其注册到
/etc/sudoers
文件中默认情况下,在
Ubuntu 18.04
上有一个sudo
的组,属于此组的用户都可以使用sudo
命令,所以二狗只需要把cuiHuaNiu 加到sudo
组里面即可。usermod -aG sudo cuiHuaNiu
-a 参数表示附加,只和 -G 参数一同使用,表示将用户增加到组中。
-
牛翠花就可以使用cuiHuaNiu 登录服务器,然后使用
sudo
来执行管理者才能执行的命令了。当然如果翠花有root
权限也可以使用sudo -i
切换用户身份到root
.ssh cuiHuaNiu@sng.com
优势
- sudo能够限制用户只在某台主机上运行某些命令。
- sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。
- sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票(这个值可以在编译的时候改变)。
- sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。
总结
你能看到这里,就意味着你一不小心又学会一个Linux常用命令,你说气不气人?建议点赞收藏,做一个真正的IT人,乐于分享,勇于奉献,互帮互助。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/14734.html