Linux技能:让普通用户也能安全执行管理员程序

  RedHat Linux是这样来处理的,现在新版本的具体是怎样的大家可以参考下发行的文档。
  本方法可能在其它Linux版本中是不通用的。
  在多人共用一台电脑或管理局域网时,常常会遇到这种情况:普通用户必须执行某个命令,比如关机。但普通用户却不具备足够的权限,而出于隐私和安全的考虑我们又不希望把root密码告诉别人。
  有两种方法可以解决这一问题。
  第一种方法是设置命令文件的suid,可以使普通用户以此文件的拥有者的身份运行该程序,具体命令为 chmod u+s file ,file为你想让别人执行的文件。还可以设置guid,让用户以文件所属组的身份运行程序,命令为 chmod g+s file。
  第二种方法是使用sudo程序,它可以使某个用户以特定的身份去运行程序,当然也能以root身份去运行,它相比第一种方法更安全也便于维护。在 RedHat发行版的光盘里就有这个工具。使用方法为,在终端中输入visudo编辑sudoers文件,在空白处添加以下四行:
  Host_Alias MYHOST=localhost
  User_Alias MYUSER=A的用户名,B的用户名
  Cmnd_Alias MYFILE=A和B要运行的程序路径
  MYUSER MYHOST=NOPASSWD:MYFILE
  注意大小写,以后要增加新的程序或用户时,直接更改前三行即可。如果要让某个不知道root密码的用户具有全部权限,除了运行某些危险程序(如格式化),只需增加:
  Cmnd_Alias DANGER=危险程序的路径
  C的用户名 ALL=(ALL) NOPASSWD:ALL,!DANGER
  设置完成后,和vi一样保存退出,编辑器会自动检查你的语法是否正确,如果出错按 e 可以回去修改。然后该用户即可以“sudo+空格+某命令”的格式运行具体命令了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/09de314ed0f86582468d483a3ec9e958.html