Linux服务器权限管理之sudo高级应用
Sudo是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root用户的登陆和管理时间,提高了安全性,Sudo不是对shell的一个代替,它是面向每个命令的。
Linux系统的修改权限与默认权限,它都是针对用户对于目录或文件的一些权限控制,那么其实真正从安全性角度上来考虑的话,是要控制用户一定执行命令的权限,也就是哪些用户可以执行哪些命令,不可以执行哪些命令,因此也就有了sudo这个应用
对于sudo提权,也就是修改/etc/sudoers的配置文件
[root@Centos ~]# ls -ll /etc/sudoers -r--r-----. 1 root root 5870 Aug 19 16:53 /etc/sudoers
可以看出/etc/sudoers默认的权限是440(也是系统比较安全的权限设置),当然超级管理员肯定是有权限修改其文件内容的,不然无法修改,需要管理员预先进行授权。
1、操作时最好用echo >> 追加,不过cat sed同样也可以实现(不常用)
2、修改完成后一定记得检查语法visudo -c
3、确保/etc/sudoers默认的权限是440(防止权限误用)
4、及时验证修改的配置是否正确
5、确保知道root密码,以便普通用户可以通过sudo su -命令切换
[root@Centos ~]# cat /etc/sudoers # Sudoers allows particular users to run various commands as ## Examples are provided at the bottom of the file for collections ## of related commands, which can then be delegated out to particular ## users or groups. ## This file must be edited with the 'visudo' command. ## Host Aliases ## Groups of machines. You may prefer to use hostnames (perhaps using ## wildcards for entire domains) or IP addresses instead. # Host_Alias MAILSERVERS = smtp, smtp2 ## User Aliases ## These aren't often necessary, as you can use regular groups ## (ie, from files, LDAP, NIS, etc) in this file - just use %groupname ## rather than USERALIAS # User_Alias ADMINS = jsmith, mikem
修改时尽量复制系统的格式进行相关修改,防止配置错误,难以改正
修改授权某用户权限成功后,切换到用户下面,用sudo -l来查看自己拥有哪些权限
[yuw001@Centos ~]$ sudo -l [sudo] password for yuw001: User yuw001 may run the following commands on this host: (root) /bin/ping, /bin/hostname, /usr/bin/free, /sbin/route, /bin/netstat
使用命令时记得加上sudo
[yuw001@Centos ~]$ hostname linux hostname: you must be root to change the host name [yuw001@Centos ~]$ /bin/hostname linux hostname: you must be root to change the host name [yuw001@Centos ~]$ sudo hostname linux [root@linux ~]# 退出重新登陆后发现主机名修改成功
配置文件一行是一个规则,前面都会用#进行注释,用‘\’续行(换行)
别名类型分为以下几类
a、Host_Alias(主机别名)
生产环境中一般不会设置主机别名,一般主机别名不太常用
root ALL=(ALL) ALL 第一个ALL就是主机别名的应用位置
b、User_Alias(用户别名)
如果是表示用户组那么前面要加%
root ALL=(ALL) ALL root就是用户别名的应用位置 User_Alias ADMINS = jsmith, mikem
c、Runas_Alias别名
此别名是指定“用户身份”,即 sudo允许切换到的用户
root ALL=(ALL) ALL 第二个(ALL)就是用户别名的应用位置 Runas_Alias OP = root
d、Cmnd_Alias(命令别名)
就是定义一个别名,它可以包含一堆命令的内容(一组相关命令的集合)
root ALL=(ALL) ALL 第三个ALL就是用户别名的应用位置 Cmnd_Alias DRIVERS = /sbin/modprobe
说明
用户别名中的用户必须是系统真实存在的,书写时注意空格,用户别名具有特殊意义,用户别名必须使用大写
命令别下的成员必须使用绝对路径,可以用‘\’换行
授权规则就是执行的规则,授权中的所有ALL必须大写
## Allow root to run any commands anywhere root ALL=(ALL) ALL yumw ALL=(ALL) /usr/sbin/useradd,/usr/sbin/userdel ###user group sa allow to run commands anywhere yuw ALL=/usr/sbin*,/sbin* sa ALL= /usr/sbin*,/sbin*,!/sbin/fdisk
!表示禁止执行这个命令
[sa@linux ~]$ sudo -l User sa may run the following commands on this host: (root) /usr/bin*, (root) /sbin*, (root) !/sbin/fdisk [sa@linux ~]$ sudo fdisk Sorry, user sa is not allowed to execute '/sbin/fdisk' as root on linux.
如果将配置做下修改
###user group sa allow to run commands anywhere yuw ALL=/usr/sbin*,/sbin* sa ALL= !/sbin/fdisk,/usr/sbin*,/sbin* [sa@linux ~]$ sudo -l User sa may run the following commands on this host: (root) /usr/bin*, (root) /sbin*, (root) !/sbin/fdisk [root@linux ~]# su - sa [sa@linux ~]$ sudo fdisk [sudo] password for sa: Usage: fdisk [options] disk change partition table fdisk [options] -l disk list partition table(s) fdisk -s partition give partition size(s) in blocks Options: -b size sector size (512, 1024, 2048 or 4096) -c switch off DOS-compatible mode -h print help -u size give sizes in sectors instead of cylinders -v print version -C number specify the number of cylinders -H number specify the number of heads -S number specify the number of sectors per track
所以经测试结果表明,sa ALL= !/sbin/fdisk,/usr/sbin*,/sbin*命令执行的匹配规则是从后到前的,所以后面执行sudo fdisk不会提示权限不足的现像。
本文转载地址:https://www.linuxprobe.com/linux-sudo-use.html
Linux服务器权限管理之sudo高级应用的更多相关文章
- Linux中权限管理之sudo权限
1.suodo的操作对象是系统命令 2.root把本来只能是超级用户执行的命令赋予普通用户执行 3.设置sudo权限 命令:visudo 找到: ## Allow root to run any co ...
- windows下运行的linux服务器批量管理工具(带UI界面)
产生背景: 由于做服务器运维方面的工作,需要一人对近千台LINUX服务器进行统一集中的管理,如同时批量对LINUX服务器执行相关的指令.同时批量对LINUX服务器upload程序包.同时批量对LINU ...
- linux用户管理,linux用户口令管理,linux用户组管理,linux用户权限管理详解
linux用户管理 http://www.qq210.com/shoutu/android 用户账号的添加(新加用户需添加用户口令) :增加用户账号就是在/etc/passwd文件中为新用户增加一条记 ...
- Gerrit服务器权限管理
Gerrit服务器权限管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Gerrit权限概述 1>.对象 Gerrit识别单个或多个人员集合. Gerrit不允许使用单 ...
- Linux目录权限管理
Linux目录权限管理 实验目标: 通过本实验掌握centos7/rhel7目录权限的管理.包括配置目录的所属组.SGID.读/写/执行权限等. 实验步骤: 1.创建目录/home/instruc ...
- Linux系统文件权限管理(6)
Linux操作系统是多任务(Multi-tasks)多用户(Multi-users)分时操作系统,linux操作系统的用户就是让我们登录到linux的权限,每当我们使用用户名登录操作系统时,linux ...
- Linux之权限管理
一.文件基本权限 1) 基本权限的修改 第一位"-"为文件类型(-代表文件:d代表目录:l代表软链接文件即快捷方式),后面每3位一组. -rw-r--r-- rw- u所有者 ...
- Linux的权限管理操作-Linux从入门到精通第七天(非原创)
文章大纲 一.权限概述二.权限设置三.属主与属组设置四.扩展五.学习资料下载六.参考文章 一.权限概述 总述:Linux系统一般将文件可存/取访问的身份分为3个类别:owner.group.other ...
- Linux 文件权限管理
1.文件权限的概述 在Linux系统下,使用权限来保护资源的安全将是一种不错的选择.系统中每个文件的权限都有可读(r).可写(w)和可执行(x)这三种权限,它们分别对应权限数值4.2 和1.系统为每个 ...
随机推荐
- Html的学习随笔
在<head>的<style>中定义样式,有#号,比如#header就是定义一种名为header的样式,后面用id=header来调用:而无#号,比如直接就是header,那后 ...
- ACdream 速攻组~
1007 a + b /*这题就是一个快速幂,但是十分猥琐的是,模是1e10 + 7,不是1e9 + 7,这就产生了一个爆long long的问题.所以要对快速幂中的乘法操作进行一下改造.请教了BIT ...
- Python— isinstance用法说明
在学习自动化测试的脚本中发现了这个函数,所以在网上查了一下资料进行如下整理: 通过帮助查看如下: 作用:来判断一个对象是否是一个已知的类型: 其第一个参数(object)为对象,第二个参数为类型名(i ...
- WINDOWS 的 MKLINK : 硬链接,符号链接 : 文件符号链接, 目录符号链接 : 目录联接
玩转WIN7的MKLINK 引言: 换了新电脑,终于再次使用上啦WIN7 ,经过一个周每天重装N次系统,... ... ... ... 在xp系统下,junction命令要用微软开发的小程序 junc ...
- Dropbox Folder Sync – 让 Dropbox 同步任意文件夹
「DropBox」可以说是目前世界上最流行的线上同步工具,非常简单的同步方式, 流畅的档桉上传下载速度,让你可以轻易的在两台.三台电脑之间同步重要资料. 而你要做的步骤只是在每一台电脑安装DropBo ...
- redhat 对应LINUX 内核版本是多少
http://blog.chinaunix.net/uid-12798245-id-4743373.html
- MySQL:按前缀批量删除表格
想要实现mysql>drop table like "prefix_%" 没有直接可用的命令,不过可以通过mysql语法来组装, SELECT CONCAT( 'DROP T ...
- WebView具体介绍
PART_0 侃在前面的话 WebView是Android提供给我们用来载入网页的控件.功能非常强大.我们经常使用的手机淘宝.手机京东的Androidclient里面大量使用到了WebView. ...
- MVC使用Gantt Chart实现甘特图,管理事情进度
借助"甘特图",可以直观地了解任务.活动.工作的进度.dhtmlxGantt是一个开源的Javacirpt库,能帮助我们快速创建"甘特图",本篇体验在MVC中的 ...
- 树状结构 Tree data structure in C#
delegate void TreeVisitor<T>(T nodeData); class NTree<T> { private T data; private Linke ...