sudo详解
使用背景
sudo 的全称为:super user do。 顾名思义:干超级用户才能干的事!所以Sudo最常用的功能就是提升一个命名的执行权限。
在 秒懂Linux文件权限及chmod命令一文中我们讲过,Linux是以用户和组来管理权限的,如果你使用的账户权限不够,那么有些动作你是做不了的,例如重启服务器(reboot
命令),那怎么办呢?
有的同学要杠了,root
账户不香吗?你丫以为每个服务器都是你家买的啊,谁都能用root
? 其实这个命令最主要的意图就是解决root
在使用过程中存在的问题。root
权限实在是太大了,泄漏或者误操作都将造成巨大的风险,于是sudo
横空出世了! 所以说,就算是你有root
权限,使用这个命令也可以防止由于误操作造成不可挽回的损失或麻烦。
作用
sudo
是linux
系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root
命令的一个工具,如halt
,reboot
,su
等等。换句话说通过此命令可以让非root
的用户运行只有root
才有权限执行的命令。
原理
是不是每一个新创建的用户都可以使用sudo
提升命令的权限呢?如果不是那么哪些用户可以使用此命令呢?
要想使一个用户具有使用sudo
的能力,需要让root
用户将其名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信息注册到/etc/sudoers
文件中,即完成对该用户的授权(此时该用户称为sudoer
)才可以。
当一般用户执行特殊权限时,在命令前加上 sudo
,此时系统会让你输入密码以确认终端机前操作的是你本人,确认后系统会将该命令的进程以超级用户的权限运行。
在一定的时间段内,再次执行sudo
的命令时不再询问密码,超出此时间段(一般为5分钟)后需要再次输入密码。