sudo及visudo金沙官网线上

  sudo是一种权限管理机制,管理员可以授权普通用户去执行root的操作,而不需要知道root的密码,它依赖于/etc/sudoers这个文件,可以授权给哪个用户在哪个主机上能够以管理员的身份执行什么样的管理命令,而且是有限的。/etc/sudoers文件相当于一个授权表,此文件的权限只有管理员可以查看并且不建议使用vim编辑器来进行编辑,跟cron一样有专门的编辑命令可以检测语法问题,以免产生语法错误导致系统崩溃;针对sudo编辑专门提供了一个命令visudo。

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

$#GID

User_Alias(表示可以使用已经定义的别名)

例:  User_Alias ADMIN =CentOS,%lx,#500

表示定义ADMIN别名,有centos用户,lx组,UID为500的用户

Host_Alias:可以在哪些主机上运行

Host_AliasNAME = item1, item2, ...

item:

hostname

ip

network

Host_Alias

例:  Host_Alias ALLOWADDR =172.16.37.10,172.16.0.0/16

表示定义ALLOWADDR别名,有ip为172.16.37.10,网络地址为172.16.0.0/16

Runas_Alias

Runas_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 root

sudo授权:

WHO        HOST=(WHOM)        COMMAND

例:centos  MYPC=(root)  /usr/sbin/useradd

金沙官网线上 1

标签:

NOPASSWD:表示标签之后的命令都不用输密码

PASSWD:表示标签之后的命令都用输密码

金沙官网线上 2

sudo命令:

-l: 查看当前用户可执行的sudo命令;

-u USERNAME COMMAND: 以指定的用户身份执行指定的COMMAND;

-k: 清除“令牌”

-b COMMAND: 在后台运行指定的COMMAND

-e /path/to/somefile:修改指定的文件;

例:sudo-u centos useradd user1

Linux教程分享:如何为sudo命令定义PATH环境变量 

Ubuntu的sudo与su命令使用与开启root帐户

sudo: sorry, you must have a tty to run sudo

Linux配置sudo权限

sudo配置临时取得root权限

Linux下解决用户不能执行sudo的方法

Linux系统管理员不可不知的命令:sudo

sudo使用之实现权限分配

本文永久更新链接地址:

http://www.bkjia.com/Linuxjc/999266.htmlwww.bkjia.comtruehttp://www.bkjia.com/Linuxjc/999266.htmlTechArticlesudo命令的用法 因为root的权限太大,所以Linux下一般不能以管理员直接登录,或su - root去操作,这时我们就需要用到sudo这个命令去帮助我们...

sudo命令格式

sudo [options] COMMAND

金沙官网线上,options:

  -l COMMAND:列出用户可执行或不可执行的命令信息;
  -k:清除用户成功认证所缓存的时间戳,默认缓存时间戳为5分钟;
  -p:改变询问密码的提示符号;
  -s<shell>:执行指定的shell;
  -u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份

visudo

用户授权语句的格式:

USERS  LOCATION=(USERNAME|GROUP|runas_alias)  [NOPASSWD|PASSWD]  COMMAND

实例:root  ALL=(ALL)  ALL (第一个ALL指网络中的主机;第二个ALL指目标用户,以谁的身份运行命令;第三个ALL指命令名)
   user1  ALL=(user2,user3)  /bin/ls, /bin/rm
   user2  localhost=(root)    /bin/touch, /bin/rm
   user3  localhost=(root)    nopasswd:/bin/touch

其中:

  USERS 可以是:
    username:授权用户名;
    %groupname:授权用户组;
    User_alias:授权的用户或组别名

  LOCATION 可以是:
    ip:规则匹配的IP地址;
    hostname:规则匹配的主机名;
    NetAddr:规则匹配的网段;
    Host_alias:主机别名

  COMMAND 可以是:
    command:命令的绝对路径;
    Cmnd_alias:命令的别名组

而关于 Alias 定义的格式:

ALIAS_TYPE  NAME=item1,item2,item3...

注意:NAME必须全为大写字母。
  ALIAS_TYPE的类型包括:
    User_Alias:授权用户别名类型
    Host_Alias:主机别名类型
    Runas_Alias:作为哪些用户执行的别名类型
    Cmnd_Alias:命令别名类型

本文由金沙官网线上发布于操作系统,转载请注明出处:sudo及visudo金沙官网线上

您可能还会对下面的文章感兴趣: