linux进阶-sudo命令的理解
学习sudo权限的设置
使用visudo 命令配置默认配置/etc/sudoers文件
文章目录
- 学习sudo权限的设置
- 使用visudo 命令配置默认配置/etc/sudoers文件
- 概述
- 基本授权操作
- 1、授权sun⽤户完成 /usr/bin/cat /etc/shadow
- 2、授权某个⽤户组的⽤户具有特定权限
- 2、授权时间限制,默认5分钟内不⽤再次输⼊密码
- 3、sudoers配置⽂件中的其他配置⽅式
- 4、使⽤sudo时取消输⼊密码过程,在command前加上NOPASSWD
- 5、配置⽂件中定义别名
- 6、默认⽤户,使⽤sudo是可以使⽤-u 选项制定runas⽤户,不加-u是使⽤默认⽤户
- 7、在配置⽂件中使⽤通配符,使⽤时需要注意,有可能有漏洞
- 8、使⽤sudo -l 或者 -ll 查看当前⽤户具有的sudo可执⾏情况
- 9、不执⾏任何命令,将⽤户的免密码时间更新⼀下:sodu -v
- 10、sudo -k
- 11、sudo -i -u user有切换⽤户功能,root有此功能, 授权sun⽤户切换到root⽤户
- 12、给⽤户授权编辑sudoers⽂件的权限 使⽤sudoedit 即可
概述
centos7系统;在CentOS7上是 sudo.x86_64,使用yum install sudo命令即可安装。
sudo 的配置文件为/etc/sudoers、/etc/sudoers.d、/etc/sudoers 为总配置文件,也可以
在/etc/sudoers.d/文件夹下单独创建配置文件,实现配置分别管理。
可通过/usr/sbin/visudo 对配置文件进行编辑。
sudo程序的可执行文件为/usr/bin/sudo 有特殊权限位。
基本授权操作
sun 172.20.121.11=(root) /bin/cat /etc/shadow
被授权用户 登录主机地址=(授权成的用户) 授权的具体命令
被授权用户 user: 命令的发起用户
登录主机 host: 被授权用户所在的主机地址,可以写成ALL
授权成的用户 (runas): 想用哪个用户身份去运行命令
授权命令 command: 想被授权的命令 ,可以写成ALL 即所有命-a type 使用指定的 BSD 认证类型-b 在后台运行命令-C fd 关闭所有 >= fd 的文件描述符-E 在执行命令时保留用户环境-e 编辑文件而非执行命令-g group 以指定的用户组执行命令-H 将 HOME 变量设为目标用户的主目录。-h 显示帮助消息并退出-i [command] 以目标用户身份运行一个登录 shell-K 完全移除时间戳文件-k 无效的时间戳文件-l[l] command 列出用户能执行的命令-n 非交互模式,将不提示用户-P 保留组向量,而非设置为目标的组向量-p prompt 使用指定的密码提示-S 从标准输入读取密码-s [command] 以目标用户身份运行 shell-U user 在列表时,列出指定用户的权限-u user 以指定用户身份运行命令(或编辑文件)-V 显示版本信息并退出-v 更新用户的时间戳而不执行命令-- 停止处理命令行参数
1、授权sun⽤户完成 /usr/bin/cat /etc/shadow
编辑/etc/sudoers ⽂件
root ALL=(ALL) ALL
sun 192.168.26.6=(root) /bin/cat /etc/shadow
----------------------------------------------------
使用sun用户直接cat /etc/shadow 提示权限不够;
使用sudo cat /etc/shadow 提示输入sun用户密码,让后执行授权操
----------------------------------------------------
cat /etc/shadow 不能访问
sudo cat /etc/shadow 输入密码后可访问
2、授权某个⽤户组的⽤户具有特定权限
visudo 编辑 配置⽂件/etc/sudoers 配置如下
%wheel ALL=(ALL) ALL
%tom ALL=(ALL) ALL
tom组的⽤户具有所有⽤户的所有命令的权限
su -l tom
sudo cat /etc/shadow
输入密码即可
在/etc/sudoers.d ⽬录下创建授权配置⽂件 tom,并授权成root权限,可执⾏所有命令
cd /etc/sudoers.d/
vim tom
tom ALL=(root) ALL
-------------------------
su -l tom
cat /etc/shadow #拒绝
sudo /etc/shadow #输入密码即可
对于/etc/sudoers.d 下的授权管理配置⽂件也可以⽤visudo编辑,使⽤-f选项即可
visudo -f /etc/sudoers.d/tom
visudo 可以加上-c选项进⾏内容格式检查
visudo -c -f /etc/sudoers.d/tom
2、授权时间限制,默认5分钟内不⽤再次输⼊密码
使⽤sudo -V 可以查看⼀下sudo的详细信息
sudo -V
---------------------------------------
...
Authentication timestamp timeout: 5.0 minutes
Password prompt timeout: 5.0 minutes
Number of tries to enter a password: 3
Umask to use or 0777 to use user's: 022
Path to mail program: /usr/sbin/sendmail
Flags for mail program: -t
Address to send mail to: root
Subject line for mail messages: *** SECURITY information for %h ***
Incorrect password message: Sorry, try again.
Path to authentication timestamp dir: /var/db/sudo #时间戳文件路径
...
---------------------------------------------------
查看⼀下对应⽤户的时间戳⽂件,⽂件内容不可直接查看
[root@centos6 ~]# cd /var/db/sudo #时间戳文件路径
[root@centos6 sudo]# ll
total 4
drwx------ 2 root sun 4096 Nov 10 18:07 sun
[root@centos6 sudo]# cat sun
cat: sun: Is a directory
[root@centos6 sudo]# cd sun/
[root@centos6 sun]# ll
total 4
-rw------- 1 root sun 48 Nov 10 18:11 1
[root@centos6 sun]# cat 1ᆝQ®
3、sudoers配置⽂件中的其他配置⽅式
user host=(runas) command
其中user除了使⽤⽤户名外,还可以使⽤#uid代替user还可以使⽤⽤户组名
为了和⽤户名作区分,需要使⽤%groupname,同样使⽤%#gid代替也可以。
使⽤wang⽤户的uid进⾏授权操作,使⽤tom组id进⾏授权操作
#编辑授权配置⽂件[root@centos6 sun]# cat /etc/passwd | grep sun
sun:x:500:500:sunxiaobo:/home/sun:/bin/bash
------------------------------------------------
[root@centos6 sun]# visudo -f /etc/sudoers.d/test
[root@centos6 sun]# cat /etc/sudoers.d/test
%#1000 ALL=(ALL) ALL
4、使⽤sudo时取消输⼊密码过程,在command前加上NOPASSWD
[root@centos6 sun]# visudo -f /etc/sudoers.d/test
[root@centos6 sun]# cat /etc/sudoers.d/test
sun ALL=(ALL) NOPASSWD:AL
[root@centos6 sun]# su -l sun
[sun@centos6 ~]$ cat /etc/shadow | grep root
cat: /etc/shadow: Permission denied #权限拒绝
[sun@centos6 ~]$ sudo cat /etc/shadow | grep root
root:$6$.L/ggVlq$D2qqIHGALvmeBjauATdeiF/Cc1A3Au.q.vtK...
[sun@centos6 ~]$ exit
5、配置⽂件中定义别名
配置⽂件中的4个部分都可以使⽤别名替换,别名只能使⽤⼤写字⺟和数字构成,以字⺟开头
每种⽂件都有特定的定义⽅法
cat /etc/sudoers.d/test
User_Alias SYSUSER=sun
HostAlias SYSHOST=192.168.26.6
Runas_Alias SYSRUNAS=root
Cmnd_Alias SYSCMD=/bin/cat /etc/shadow
SYSUSER SYSHOST=(SYSRUNAS) SYSCMD
su -l sun
cat /etc/shadow #权限拒绝
sudo cat /etc/shadow | grep root #可以查看
授权时禁⽌直⾏特定的命令,需要再命令前加上!
visudo -f /etc/sudoers.d/test
cat /etc/sudoers.d/test
sun ALL=(root) /bin/cat /etc/sudoers.d/test
su -l sun
cat /etc/shadow #权限拒绝
cat /etc/gshadow #权限拒绝
sudo cat /etc/shadow | grep sun
sudo cat /etc/gshadow | grep sun
exit
6、默认⽤户,使⽤sudo是可以使⽤-u 选项制定runas⽤户,不加-u是使⽤默认⽤户
设置tom为默认⽤户
cat /etc/sudoers.d/test
Defaults:sun runas_default=tom
sun ALL=(tom,root) ALL
su -l sun
cat /etc/shadow | grep root #权限拒绝
sudo cat /etc/shadow | grep root #权限拒绝
sudo -u root cat /etc/shadow | grep root
exit
将tom换成root
visudo -f /etc/sudoers.d/test
cat /etc/sudoers.d/test
Defaults:sun runas_default=root
sun ALL=(tom,root) ALL
su -l sun
cat /etc/shadow | grep root #权限拒绝
sudo -u tom cat /etc/shadow | grep root #权限拒绝
sudo cat /etc/shadow | grep root
exit
7、在配置⽂件中使⽤通配符,使⽤时需要注意,有可能有漏洞
在命令后⾯加上*号,会出现如下漏洞,未授权查看/etc/shadow,但是却可以查看shadow⽂件
cat /etc/sudoers.d/test
sun ALL=(root) /bin/head -1 /var/log/message*
su -l sun
head -1 /var/log/messages
权限拒绝;
sudo head -1 /var/log/messages
sudo head -1 /var/log/messages /etc/shadow
8、使⽤sudo -l 或者 -ll 查看当前⽤户具有的sudo可执⾏情况
visudo -f /etc/sudoers.d/test
cat /etc/sudoers.d/test
sun ALL=(root) /bin/head -1 /var/log/messages
su -l sun
sudo head -1 /var/log/messages
sudo -l
sudo -ll
exit
9、不执⾏任何命令,将⽤户的免密码时间更新⼀下:sodu -v
cd /var/run/sudo/ts/
date
su -l sun
sudo -v
exit
date
10、sudo -k
sudo -k 可以重置密码时间为1970年01⽉01⽇
由于当前时间肯定⼤于这个时间,因此下次执⾏sudo时,需要输⼊密码
sudo -K 可以删除时间戳⽂件,因此下次执⾏sudo时需要输⼊密码
ll
su -l sun
sudo -K
exit
su -l sun
sudo head -1 /var/log/messages
exit
ll
11、sudo -i -u user有切换⽤户功能,root有此功能, 授权sun⽤户切换到root⽤户
sudo -i -u sun
sudo -i -u root
输入密码;
exit
visodu -f /etc/sudoers.d/test
cat /etc/sudoers.d/test
tom ALL=(root) ALL
su -l sun
sudo -i -u root
输入密码;
exit
exit
12、给⽤户授权编辑sudoers⽂件的权限 使⽤sudoedit 即可
visodu -f /etc/sudoers.d/test
cat /etc/sudoers.d/test
sun ALL=(root) /bin/cat /etc/shadow
su -l sun
sudoedit /etc/sudoers
权限拒绝;
exit
visudo -f /etc/sudoers.d/test
cat /etc/sudoers.d/test
tom ALL=(root) /bin/cat /etc/shadow, sudoedit
su -l sun
sudoedit /etc/sudoers
exit
linux进阶-sudo命令的理解相关推荐
- linux中sudo命令_Linux中的Sudo命令
linux中sudo命令 Sudo is one of the most widely used commands by Linux administrators and beginners alik ...
- Linux系统Sudo命令的使用说明
Linux系统Sudo命令的使用说明 2011-11-16 11:03:06| 分类:rhel5_033 |字号 订阅 一. sudo的特点 sudo扮演的角色注定了它要在安全方面格外谨慎,否则就会 ...
- sudu在linux的命令,Linux的sudo命令
sudo命令允许您以另一个用户身份运行程序,默认情况下是root用户.如果你在命令行的权限上花了很多时间,sudo就是你经常使用的命令之一 使用sudo而不是以root身份登录会更安全,因为您可以在不 ...
- linux中sudo命令概述
SUDO 使用背景 Sudo 的全称为:super user do. 顾名思义:干超级用户才能干的事!所以Sudo最常用的功能就是提升一个命名的执行权限. Linux是以用户和组来管理权限的,如果你使 ...
- Linux操作命令 sudo 命令使用
概览 sudo 表示 "superuser do". 它允许已验证的用户以其他用户的身份来运行命令.其他用户可以是普通用户或者超级用户.然而,大部分时候我们用它来以提升的权限来运行 ...
- 【Linux中sudo命令】
sudo: 允许普通用户使用一下root用户才可以执行的命令 sudo命令在执行时需要验证用户口令,所以使用该命令的用户必须有密码 1.限制用户在某台主机上执行 2.提供了非常详尽的日志, 3.提供了 ...
- Hadoop之——Linux下sudo命令报错:hadoop is not in the sudoers file. This incident will be reported.
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/93380235 当在终端执行sudo命令时,系统提示"cuser is ...
- linux下sudo命令[转]
一.sudo简介: 1.概念: sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等.这样不 ...
- Linux中sudo命令设置,Linux下sudo命令的配置与使用方法
sudo的字面意思是代表super user do!对Linux系统管理员或高级用户而言,它是必不可少的最重要的命令之一. 你可曾有过这样的经历:在终端中试着运行某个命令,结果却遇到"拒绝访 ...
最新文章
- 用python解析word文件(段落篇(paragraph) 表格篇(table) 样式篇(style))
- Print out Android kernel log
- 华硕服务器显示模块,华硕远程管理模块 ASMB4-iKVM 华硕服务器主板专用 现货 IPMI...
- 7步让你get首个数据科学实习
- Entity Framework Core 2.1带来更好的SQL语句生成方案
- Unity AssetBundles and Resources指引 (三) AssetBundle基础
- iOS 实现启动屏动画(Swift实现,包含图片适配)
- (进阶)LeetCode(206)——反转链表(JavaScript)
- Windows Mobile如何得到资源文件中的文件
- 联机交易场景持续拓展,巨杉数据库中标吉林省农信
- PDF虚拟打印机的功能详解和使用方法
- Altium Designer PCB等长线设计终极技巧(单端和差分线)
- Brain Predicted Age (二)
- [uwsgi-body-read] Error reading 65536 bytes. Content-Length: 560903 consumed: 0 left: 560903 message
- vimdiff 命令使用技巧
- USB 协议 (五) 枚举
- 玉柴spn码故障对照表_玉柴ECI故障码表
- Android使用的MQTT客户端
- python去掉字典重复项_从字典列表中删除重复项python
- radis安装和使用