关于sudo
sudo使一般用户不需要知道超级用户的密码即可获得权限。首先超级用户将普通用户的名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信息,登记在特殊的文件中(通常是/etc/sudoers),即完成对该用户的授权(此时该用户称为“sudoer”);在一般用户需要取得特殊权限时,其可在命令前加上“sudo”,此时sudo将会询问该用户自己的密码(以确认终端机前的是该用户本人),回答后系统即会将该命令的进程以超级用户的权限运行。之后的一段时间内(默认为5分钟,可在/etc/sudoers自定义),使用sudo不需要再次输入密码。
由于不需要超级用户的密码,部分Unix系统甚至利用sudo使一般用户取代超级用户作为管理帐号,例如Ubuntu、Mac OS X等。
命令:
检测是否安装了sudo
[root@localhost ~]# rpm -q sudo
sudo -l 列出目前的权限
若用户不在sudoers中会提示不能运行sudo命令,存在则会显示详细的权限。
sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout” 。 要求执行该命令的用户必须在sudoers中才可以
linux给用户添加sudo权限
linux下直接运行sudo命令,会提示类似:
xxxis not in the sudoers file. This incident will be reported.
这里,xxx是用户名称,然后导致无法执行sudo命令,这时候,解决:
1.进入超级用户模式。也就是输入"su -"/su /su root
2.编辑/etc/sudoers文件–>“vim /etc/sudoers”,
找:“root ALL=(ALL) ALL”
在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),
:wq!保存退出。
3.
chmod u+w /etc/sudoers(改不改权限都行,不改强制退出)
//进行修改,修改完成之后:
chmod u-w /etc/sudoers
运行时要在命令前添加sudo
PS:这里说下你可以sudoers添加下面四行中任意一条
youuser ALL=(ALL) ALL
%youuser ALL=(ALL) ALL
youuser ALL=(ALL) NOPASSWD: ALL
%youuser ALL=(ALL) NOPASSWD: ALL
第一行:允许用户youuser执行sudo命令(需要输入密码).
第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码).
第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码.
第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码.
遇到的问题,在删除uii账户时出现
userdel: user uii is currently used by process 16029
原因猜想:
环境:当时用uii账户创建uiii账户未果,切换至ui先用sudo命令删除uii,出现此错误
方法:Ctrl+D退出当前账户,再删除,我退了很多次,到root
参考:https://www.cnblogs.com/raobenjun/p/8203397.html
/etc/sudoers
sudo的配置文件是/etc/sudoers