Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选

首页 / 操作系统 / Linux / sudo命令的用法

因为root的权限太大,所以Linux下一般不能以管理员直接登录,或su - root去操作,这时我们就需要用到sudo这个命令去帮助我们执行一些普通用户没有权限的管理命令。sudo命令的特点:1、授权指定用户在指定主机上运行指定的管理命令;2、详细记录用户基于sudo执行的命令的相关日志信息;3、“检票系统”:时效性认证,用户第一次执行sudo时会要求输入密码来验正用户身份,成功后用户会获得一个有固定存活时长的“令牌”;5分钟如何实现sudo功能?/etc/sudoers:授权文件,只能由管理员编辑;但一般不用vim直接去编辑,因为可能会出现语法错误,所以一般用专用的编辑工具visudo命令去授权。/etc/sudoers:注意:别名定义: 别名必须使用全大写字符内置变量: ALL: 所有用户User_Alias:User_Alias NAME = item1, item2, ...item:用户名%组名#UID$#GIDUser_Alias(表示可以使用已经定义的别名)例: User_Alias ADMIN =CentOS,%lx,#500表示定义ADMIN别名,有centos用户,lx组,UID为500的用户Host_Alias:可以在哪些主机上运行Host_AliasNAME = item1, item2, ...item:hostnameipnetworkHost_Alias例: Host_Alias ALLOWADDR =172.16.37.10,172.16.0.0/16表示定义ALLOWADDR别名,有ip为172.16.37.10,网络地址为172.16.0.0/16Runas_AliasRunas_AliasNAME = item1, item2, ...用法和User_Alias相同Cmnd_Alias:Cmnd_AliasNAME = item1, item2, ...item:命令目录(目录下的所有命令)Cmnd_Alias例: Cmnd_Alias COMMAND =/usr/sbin/useradd,/usr/sbin/userdel,/usr/sbin表示定义COMMAND别名,有useradd,userdel,和/usr/sbin下的所有命令定义时可取反:Cmnd_AliasPASSWD = /usr/bin/passwd [0-9A-Za-z]*,! /usr/bin/passwd rootsudo授权:WHO       HOST=(WHOM)        COMMAND例:centos MYPC=(root)  /usr/sbin/useradd标签:NOPASSWD:表示标签之后的命令都不用输密码PASSWD:表示标签之后的命令都用输密码sudo命令:-l: 查看当前用户可执行的sudo命令;-u USERNAME COMMAND: 以指定的用户身份执行指定的COMMAND;-k: 清除“令牌”-b COMMAND: 在后台运行指定的COMMAND-e /path/to/somefile:修改指定的文件;例:sudo-u centos useradd user1Linux教程分享:如何为sudo命令定义PATH环境变量  http://www.linuxidc.com/Linux/2014-09/106076.htmUbuntu的sudo与su命令使用与开启root帐户 http://www.linuxidc.com/Linux/2008-01/10685.htmsudo: sorry, you must have a tty to run sudo http://www.linuxidc.com/Linux/2012-11/75153.htmLinux配置sudo权限 http://www.linuxidc.com/Linux/2012-10/71795.htmsudo配置临时取得root权限 http://www.linuxidc.com/Linux/2012-09/69525.htmLinux下解决用户不能执行sudo的方法 http://www.linuxidc.com/Linux/2012-07/64694.htmLinux系统管理员不可不知的命令:sudo http://www.linuxidc.com/Linux/2013-07/87855.htmsudo使用之实现权限分配 http://www.linuxidc.com/Linux/2014-02/96996.htm本文永久更新链接地址