sudo命令与其布局文件,sudo命令的用法

By admin in 美高梅手机版4858 on 2019年5月3日

  sudo是1种权限管理机制,管理员能够授权普通用户去推行root的操作,而没有须求掌握root的密码,它凭仗于/etc/sudoers这么些文件,能够授权给哪些用户在哪些主机上可知以管理员的地位实行如何的管理命令,而且是简单的。/etc/sudoers文件也等于3个授权表,此文件的权力只有管理员能够查阅并且不指出选拔vim编辑器来进展编写制定,跟cron同样有专门的编辑撰写命令能够质量评定语法难题,以防爆发语法错误导致系统崩溃;针对sudo编辑专门提供了二个限令visudo。

因为root的权杖太大,所以Linux下一般不可能以管理红尘接登陆,或su –
root去操作,那时大家就必要用到sudo这一个命令去帮助大家实施一些普通用户未有权力的管住命令。

sudo命令的用法

因为root的权位太大,所以Linux下一般不可能以管理员间接登6,或su –
root去操作,那时大家就要求用到sudo那一个命令去支持大家执行一些普通用户未有权限的保管命令。

sudo命令的特色:

壹、授权钦定用户在钦定主机上运营钦赐的军管命令;

二、详细记录用户依据sudo实践的指令的相关日志新闻;

三、“检票系统”:时效性认证,用户率先次实施sudo时会供给输入密码来验正用户地方,成功后用户会拿走三个有一定期存款活时间长度的“令牌”;4分钟

怎么着促成sudo成效?

/etc/sudoers:授权文件,只可以由管理员编辑;但貌似不用vim直接去编辑,因为或者会并发语法错误,所以一般用专用的编辑撰写工具visudo命令去授权。

/etc/sudoers:

小心:别称定义: 别称必须运用全大写字符

置于变量:  ALL: 全体用户

User_Alias:

User_Alias NAME = item1, item2, …

item:

用户名

%组名

#UID

$#GID

User_阿里as(表示能够使用已经定义的小名)

例:  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

表示定义ALLOWADDRubicon外号,有ip为17二.1陆.37.拾,互连网地址为172.1陆.0.0/1六

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

美高梅手机版4858 1

标签:

NOPASSWD:表示标签之后的通令都毫无输密码

PASSWD:表示标签之后的一声令下都用输密码

美高梅手机版4858 2

sudo命令:

-l: 查看当前用户可实践的sudo命令;

-u USE猎豹CS六NAME 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使用之落成权力分配

本文永恒更新链接地址:

因为root的权柄太大,所以Linux下一般不可能以管理员直接登陆,或su –
root去操作,那时大家就需求用到sudo那么些命令去援救大家…

Linux sudo命令与其陈设文件/etc/sudoers

sudo命令格式

sudo [sudo命令与其布局文件,sudo命令的用法。options] COMMAND

options:

  -l COMMAND:列出用户可施行或不足试行的通令消息;
  -k:清除用户成功验证所缓存的岁月戳,暗许缓存时间戳为四分钟;
  -p:改换询问密码的提示标记;
  -s<shell>:实行钦命的shell;
  -u<用户>:以钦命的用户作为新的身份。若不拉长此参数,则预设以root作为新的地位

sudo命令的性状:

2012-05-04 11:00:56    
自家的话两句     

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:命令别称类型

一、授权钦赐用户在钦赐主机上运转指定的管制命令;

收藏
  
美高梅手机版4858 3自己要投稿

动用实例1

[root@happiness ~]# visudo
    root    ALL=(ALL)       ALL
    user1   ALL=(user2,user3)     /bin/ls  #指定user1能执行user2,user3的ls命令
[root@happiness ~]# su - user1
  Last login: Tue Sep  4 16:09:47 CST 2018 on pts/0
[user1@happiness ~]$ sudo ls /home/user2  #sudo没指定用户时,默认以root执行,而user1没有root的ls权限,故报错
  [sudo] password for user1: 
  Sorry, user user1 is not allowed to execute '/bin/ls /home/user2' as root on happiness.
[user1@happiness ~]$ sudo -u user2 ls /home/user2  #sudo权限可用
  [sudo] password for user1: 
  user2txt
[user1@happiness ~]$ sudo -u user3 ls /home/user2
  ls: cannot open directory /home/user2: Permission denied
[root@happiness ~]# visudo
    root    ALL=(ALL)       ALL

    Defaults:user1        runas_default=user2  #指定user1默认以user2执行ls命令
[root@happiness ~]# su - user1
  Last login: Tue Sep  4 17:08:18 CST 2018 on pts/0
[user1@happiness ~]$ sudo -k
[user1@happiness ~]$ sudo ls /home/user3
ls: cannot open directory /home/user3: Permission denied
[user1@happiness ~]$ sudo ls /home/user2  #默认用user2执行并且不需要输入密码
  user2txt

二、详细记录用户依据sudo试行的命令的有关日志消息;

Linux
sudo命令与其计划文件/etc/sudoers

行使实例二

[root@happiness ~]# visudo
  
  
  
  USERADM ALL=(root) NOPASSWD:COMM1,PASSWD:COMM2
[root@happiness ~]# useradd user1
[root@happiness ~]# useradd user2
[root@happiness ~]# passwd user1
测试结果:
[root@happiness ~]# su - user1
[user1@happiness ~]$ sudo -l  #查看用户所拥有的sudo权限
Matching Defaults entries for user1 on this host:
    requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS",
    env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT
    LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE
    LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

User user1 may run the following commands on this host:
    (root) NOPASSWD: /usr/sbin/useradd, /usr/sbin/usermod, /usr/bin/passwd, !/usr/bin/passwd root, (root) PASSWD:
    /usr/sbin/shutdown, /usr/sbin/reboot
[user1@happiness ~]$ sudo passwd user2  #为user2设置密码
  Changing password for user user2.
  New password:
  [user1@happiness ~]$ sudo passwd root   #不允许更改root密码
  Sorry, user user1 is not allowed to execute '/bin/passwd root' as root on happiness.
[user1@happiness ~]$ sudo shutdown  #执行shutdown需要输入用户密码
  [sudo] password for user1: 

三、“检票系统”:时效性认证,用户率先次试行sudo时会要求输入密码来验正用户地方,成功后用户会博得八个有牢固期存款活时间长度的“令牌”;4分钟

 

哪些达成sudo成效?

linux有必然领会的人有个别也会知晓点有关sudo命令。sudo命令焦点情想是权力的赋予
,即有些命令的所属用户不是您和煦,而你却有权力奉行它。不过大家需求专注的是,就算您有权力推行这几个命令,可是在实践的时候却仍是以那个命令本人所属用户来变成的[注释1]。(su命令类似sudo命令,不过两岸的差异在于前者su是一个粗粒度权限赋予,
www.2cto.com 

/etc/sudoers:授权文件,只好由管理员编辑;但一般不用vim直接去编辑,因为大概会现出语法错误,所以一般用专用的编纂工具visudo命令去授权。

对su最棒的明亮小编觉着是change user running command
permanent。即永世的切换来了su过去的用户,然后以那个su到的新用户干它能干的全部育工作作,而sudo则是指在施行有些命令的时候临时切换成那些命令的所属用户执行[注释1],而且sudo能够做到以单个命令为单位将权限赋予给别的用户,相比较su显得更加灵活。)

/etc/sudoers:

 

专注:外号定义: 别称必须利用全大写字符

大意理解了sudo的功效,那么你精通怎么安插sudo吗?上面来差不多说雅培下:

嵌入变量:  ALL: 全体用户

安顿sudo的安顿文件在/etc/sudoers里面,一般通过visudo命令来安全张开编辑。查看/etc/sudoers的用法能够动用命令:
man 5 sudoers。在/etc/sudoers文本之中首要归纳那两片段:

User_Alias:

  1. 外号设置  www.2cto.com 

User_Alias NAME = item1, item2, …

别称主要不外乎那二种:User_Alias,Host_Alias,Runas_Alias,Cmnd_Alias,分别是用户外号,主机小名,运维用户外号,命令外号。设置那多少个小名的吩咐首假若为了安排方便,那么些很类似linux用户群组或是数据库中剧中人物的效力,有了小名便得以批量的给予权力。

item:

安装方法 Alias_Type alias_name = name1, name2, name3, 例如User_Alias
User一 = user1, user贰, user3。其余品类的alias设置格局类似。

用户名

  1. 真正的sudo entry

%组名

这么些正是确实配置怎么样用户能够应用什么命令了(你还能不利用小名设置那某个)。

#UID

格式为:用户名(用户小名)
主机名(主机别称)=[(运转用户大概Runas_Alias)可选] [tag可选]
能够奉行的命令(或Cmmd_Alias)  那样描述语法很生硬,不易掌握,举事例

$#GID

user1  host1 =
/bin/kill                                                  
                           # user一 能够在host一上使用命令/bin/kill

User_阿里as(表示可以利用已经定义的别称)

user1  host1 = NOPASSWD:
/bin/kill                                                     # user1能够在host一上行任务令/bin/kill
同时能够不要输入密码(这里正是选拔了NOPASSWD

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

                                                                           
                                          # 这个tag,默认是PASSWD)

代表定义ADMIN外号,有centos用户,lx组,UID为500的用户

user1  host1 = NOPASSWD: /bin/kill , PASSWORD: /bin/ls              #
user壹能够在host一上选择命令/bin/kill没有供给输入密码,不过采用/bin/ls则要求输入密码

Host_Alias:可以在如何主机上运营

user1  host1 = (opterator)
/bin/kill                                                          #
user1能够在host壹上行职务令/bin/kill可是必须是以operator用户运转这些命令,等价于

Host_AliasNAME = item1, item2, …

                                                                           
                                          # su -u opertor /bin/kill

item:

user1  host1 = (:group_name)
/bin/kill                                                 # user1能够在host1上利用命令/bin/kill,且务必以group_name那么些用户群组里面包车型地铁用户来运维。

hostname

%group_name host1 =
/bin/kill                                                             
#
所有group_name里面包车型地铁用户都足以在host1上试行/bin/kill(linux中貌似代表任何用户群组用

ip

                                                                           
                                         # %group_name)

network

 

Host_Alias

再举个实在例子,笔者后边对sudo
su这些命令不明了,为何本身能够直接就su到root用户了吗,连密码都不供给?查看了须臾间sudoers文件才了然原来里面有诸如此类1行:

例:  Host_Alias ALLOWADDR =172.16.37.10,172.16.0.0/16

xxx     ALL=NOPASSWD: /bin/su  www.2cto.com 

意味着定义ALLOWADD卡宴别称,有ip为17二.1六.叁柒.10,网络地址为17二.1陆.0.0/1陆

好了,到此截至~,多了流水账1篇~~~^__^

Runas_Alias

 

Runas_AliasNAME = item1, item2, …

注释1:

用法和User_Alias相同

linux中各类进程都是有与之有关的UID,GID,分别为有效UID,真实UID,有效GID,真实GID。有效UID,GID是用来判定权限,而真实UID,GID是用来记账(哪个进度属于哪个用户,或记录日志等等)。当配置了sudo
entry后,有效UID里面就含有了这一个被布署的用户UID,因此权限验证的时候就能够通过。

Cmnd_Alias:

 

Cmnd_AliasNAME = item1, item2, …


item:

 

命令

sudo 是 linux 下同意普通用户使用一级权限的工具,他的配置文件为
/etc/sudoers , 大家得以行使 visudo
对该文件进行编辑,并且强烈提议使用这一个命令对文本进行编写制定,因为那么些命令在编辑时带有自动排错和检查语法的效果,那样可以很实用滴爱护
sudoers 文件不被漏洞分外多地修改掉!

目录(目录下的具有命令)

       一: sudo
设置不输入密码自动登陆:

Cmnd_Alias

       1. 用 visudo 编辑
美高梅手机版4858,sudoers 文件,私下认可情形大家会看到有”%admin ALL=(ALL) ALL”壹行注释 ,
这里的 admin 是贰个组名,这里代表属于 admin 组的用户能够有 sudo
权限,不过供给输入密码,如果想不输入密码,可以将此行改为  “%admin
ALL=(ALL) NOPASSWD: NOPASSWD ALL” 就可以。

例:  Cmnd_Alias COMMAND =/usr/sbin/useradd,/usr/sbin/userdel,/usr/sbin

       2. 我们理解,sudo
情状下进行 /usr/bin/passwd root , 那年是因为 admin 组的用户承袭了
root 超级权限,由此它是能够将 root
的密码修改的,从平安上来说,这几个是不被允许的,防止那种气象发生,能够在
admin 组前面做如下配置, %admin ALL=(ALL)
NOPASSWD:ALL, !/usr/bin/passwd root , 那样把
passwd命令禁止使用掉,则就无法改改 root 的密码了。

表示定义COMMAND外号,有useradd,userdel,和/usr/sbin下的持有命令

       叁.
对此普通用户来说,能够单独定义其sudoer的拜会规则:

概念时可取反:Cmnd_AliasPASSWD = /usr/bin/passwd [0-9A-Za-z]*,!
/usr/bin/passwd root

       
首先供给配备部分Alias,那样在底下配置权力时,会有益于一些,不用写大段大段的铺排。Alias首要分为4种
        Host_Alias         Cmnd_Alias         User_Alias        
Runas_Alias
1) 配置Host_Alias:就是主机的列表 Host_Alias      HOST_FLAG =
hostname1, hostname2, hostname3 2)
配置Cmnd_Alias:便是允许实行的指令的列表 Cmnd_Alias      COMMAND_FLAG
= command1, command2, command3 3)
配置User_Alias:正是享有sudo权限的用户的列表 User_Alias USER_FLAG =
user1, user2, user3 4)
配置Runas_Alias:正是用户以如何地位实施(比如root,或许oracle)的列表
Runas_Alias RUNAS_FLAG = operator一, operator贰, operator三 5) 配置权力
配置权力的格式如下: USEHighlander_FLAG HOST_FLAG=(RUNAS_FLAG) COMMAND_FLAG
要是无需密码验证的话,则依照那样的格式来配置 USE奥迪Q7_FLAG
HOST_FLAG=(RUNAS_FLAG) NOPASSWD: COMMAND_FLAG 

sudo授权:

 

WHO        HOST=(WHOM)        COMMAND

例:

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

# Host alias specification
Host_Alias      IP = 172.16.1.100 , 172.16.1.101 。。。。
# User alias specification User_Alias  OK =
test1 , test2 # Cmnd alias specification Cmnd_Alias      OK2 =
/usr/bin/scp , /usr/bin/ssh  
# Defaults specification
# User privilege specification root    ALL=(ALL) ALL support IP=(ALL)
NOPASSWD: Ok2

美高梅手机版4858 4

      

标签:

NOPASSWD:表示标签之后的吩咐都休想输密码

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

美高梅手机版4858 5

sudo命令:

-l: 查看当前用户可举办的sudo命令;

-u USERNAME COMMAND: 以钦定的用户身份实践钦定的COMMAND;

-k: 清除“令牌”

-b COMMAND: 在后台运转钦赐的COMMAND

-e /path/to/somefile:修改内定的文本;

例:sudo-u centos useradd user1

Linux教程分享:怎样为sudo命令定义PATH意况变量 
http://www.linuxidc.com/Linux/2014-09/106076.htm

Ubuntu的sudo与su命令使用与开启root帐户
http://www.linuxidc.com/Linux/2008-01/10685.htm

sudo: sorry, you must have a tty to run sudo
http://www.linuxidc.com/Linux/2012-11/75153.htm

Linux配置sudo权限
http://www.linuxidc.com/Linux/2012-10/71795.htm

sudo配置一时取得root权限
http://www.linuxidc.com/Linux/2012-09/69525.htm

Linux下化解用户不可能施行sudo的格局
http://www.linuxidc.com/Linux/2012-07/64694.htm

Linux系统一管理理员不可不知的命令:sudo
http://www.linuxidc.com/Linux/2013-07/87855.htm

sudo使用之完结权力分配
http://www.linuxidc.com/Linux/2014-02/96996.htm

正文恒久更新链接地址:http://www.linuxidc.com/Linux/2015-05/117379.htm

美高梅手机版4858 6

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有