linux基础之sudu的简单用法

su: Switch User, 以管理员身份运行某些命令:

su -l root -c ‘COMMAND‘

但是想要限制某个用户只拥有一部分管理员权限,而不是拥有全部权限,这就需要用到sudo

sudo: 是可以让某个用户不需要拥有管理员的密码,可以执行管理员的权限

   作为管理员可以指派某些用户可以执行某些特定命令,类似suid

配置文件:/etc/sudoers

 root  ALL=(ALL)  ALL
 %wheel  ALL=(ALL)  ALL   %wheel: 运行命令者的身份,user   第一个ALL:在哪些主机上, host    第二个ALL:以哪个用户的身份, runas    第三个ALL:运行哪些命令, command 
配置项:
    users    hosts=(runas) commands
            users:
                username
                #uid
                user_alias
                %group_name
                %#gid

            hosts:
                 ip
                 hostname
                 netaddr

            commands:
                 command name
                 directory
                 sudoedit

            Alias_Type NAME = item1, item2, ...
                    NAME: 必须使用全大写字母
                    Alias_Type:
                          User_Alias
                          Host_Alias
                          Runas_Alias
                          Cmnd_Alias

            Alias_type NETADMIN = netuser1, netuser2
            Cmnd_Alias NETADMINAMNDS = /usr/sbin/ip            
实例:vim /etc/sudoers
      User_Alias NETADMIN = netuser1, netuser2
      Cmnd_Alias NETADMINCMNDS = /usr/sbin/ip
      NETADMIN        ALL=(root)  NETADMINCMNDS

命令: sudo [-u user] COMMAND 

-V: 显示版本编号
-h: 会显示版本编号及指令的使用方式说明
-l: 显示出自己(执行sudo的使用者)的权限
-v: 因为sudo在第一次执行时或是在N分钟内没有执行(N预设为五)会问密码,这个参数是重新做一次确认,如果超过N分钟,也会问密码
-k: 将会强迫使用者在下一次执行sudu时问密码(不论有没有超过N分钟)
-b: 将要执行的指令放在后台执行-p prompt 可以更改问密码的提示语,其中%u会代换为使用者的账号名称,%h会显示主机名称-u username/#uid 不加此参数,代表要以root的身份执行指令,而加了此参数,可以以username的身份执行指令(#uid为该username的使用者号码)
实例
User_Alias USERADMIN = poweruser1, poweruser2
Cmnd_Alias USERADMINCMNDS = /usr/sbin/useradd, /usr/sbin/usermod, /usr/bin/passwd [a-z]* !/usr/bin/passwd root  //不允许修改root管理员密码
USERADMIN ALL=(root) NOPASSWD: USERADMINCMNDS

原文地址:https://www.cnblogs.com/ckh2014/p/10801578.html

时间: 2024-10-26 11:04:18

linux基础之sudu的简单用法的相关文章

关于linux中sed命令的简单用法

linux中sed的学习和使用 今天突然用到了sed这个命令,就即兴学习了一波突然感觉这个功能还是很强的.sed在#man sed下文档查看解释的是:用于过滤和转换文本的流编辑器.即如下图: 我自己用过这个命令之后感觉对于文档来说可以显示某个区间行,显示结果还可以在段前后添加内容删除,替换内容.但是最后才发现,怎么还能直接修改到文件里不仅仅是显示出来,文件内容直接被修改了. 下面就一一介绍这个有趣的命令,莫急莫急一个一个来. 首先找个文件(没用的文件且有内容,搞坏了系统文件可不好玩了)来当测试文

Linux基础——ls功能的简单实现

简单的ls实现,首先,我们需要遍历参数目录下的各个文件,再根据文件相应的性质,读取文件的权限,用户组,用户名,大小,最后一次访问的时间,再根据文件名排序后依次显示. 具体的函数声明如下: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <sys/stat.h> 5 #include <fcntl.h> 6 #include <unistd

Linux基础——通过select实现简单的服务器与客户端

在这里,我们还是需要一个管道,只不过,我们只需这一个管道,即可知道,客户端有哪些上线.对话.下线等. 服务器端的实现代码如下: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <sys/stat.h> 5 #include <sys/types.h> 6 #include <fcntl.h> 7 #include <sys/t

Linux中awk命令的简单用法

一.用例1: cat /proc/meminfo|grep "MemTotal"|awk '{print $2}' 说明,$2表示第2位,$0表示全部,如需表示$,可用$$转义.

Linux基础篇--linux基础和帮助用法

Linux基础篇--linux基础和帮助用法 本章概要 用户登录 终端 Shell介绍 执行命令 简单命令 Tab键补全 命令行历史 bash快捷键 使用gnome-terminal whatis command--help manandinfo 本地帮助文档/usr/share/doc/ 官网在线文档 其它网站和搜索 用户登录 root用户   一个特殊的管理帐户   也被称为超级用户   root已接近完整的系统控制   对系统损害几乎有无限的能力   除非必要,不要登录为root 普通用户

Linux shell ${}简单用法

转自:Linux shell ${}简单用法 为了完整起见,我这里再用一些例子加以说明 ${ } 的一些特异功能:假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt我们可以用 ${ } 分别替换获得不同的值:${file#*/}:拿掉第一条 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}:拿掉最后一条 / 及其左边的字符串:my.file.txt${file#*.}:拿掉第一个 . 及其左边的字符串:fil

LINUX基础命令的使用以及vim的简单命令

一 命令提示符说明 [登录用户@主机名 工作目录]# 二 Linux命令格式 命令字  [选项]  [参数1] [参数2] [ ] 表示里面内容可有可无 选项:如果是单个字符,用-               如:# ls -l 如果是一个单词,用--              如:# ls --color 多个单个字符的选项可以合并一个-   如:# ls -l -h = # ls –lh 三 基本命令及其说明 1. 基本命令 # uname -r//查询内核 # cat /etc/redha

论Linux运维的一些基础安全知识和简单办法

不知不觉本人来北京也已经第三个年头了,从一个Linux小小鸟,开始,2012年我参加了第一份工作,其实现在想想其实我是幸运的,本来求学的时候,就没好好的学Linux,我认为有Cisco知识从上windows和cisco技术就可以有一个好的发展,谁知道命运就是如此,刚进公司没一个月,公司就考虑将以前的项目移植到lamp环境下原因是我们的新主管是一个开源爱好者,在他的带领下,我们话费了3个月的时间将我们的托管服务器和公司内部服务器全部迁移到了Linux平台上,记着当时用的主要是RHEL5.2和Cen

Linux基础以及帮助用法

Linux基础以及帮助用法:主要介绍linux登录之后一些基础命令,比如:查看用户.查看内存情况.磁盘情况.终端类型介绍,关机重启.以及各种命令的帮助用法 用户登录 1.root用户 一个特殊的管理帐户            也被称为超级用户            root已接近完整的系统控制            对系统损害几乎有无限的能力            除非必要,不要登录为root 2.普通用户 权限有限 造成的损害的能力有限 3. 查看当前用户的命令: (1)whoami (2)i