我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何分析Linux服务器权限管理中的sudo高级应用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何分析Linux服务器权限管理中的sudo高级应用

这篇文章的内容主要围绕如何分析Linux服务器权限管理中的sudo高级应用进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!

在Linux系统中普通用户要想执行一些root命令必要要使用sudo命令,这样不仅减少了登录和管理时间,还大大提高了安全性。

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(也是系统比较安全的权限设置),当然超级管理员肯定是有权限修改其文件内容的,不然无法修改,需要管理员预先进行授权。

一、直接修改/etc/sudoers文件的注意事项

操作时最好用echo >> 追加,不过cat sed同样也可以实现(不常用)

修改完成后一定记得检查语法visudo -c

确保/etc/sudoers默认的权限是440(防止权限误用)

及时验证修改的配置是否正确

确保知道root密码,以便普通用户可以通过sudo su -命令切换

二、sudo的配置文件/etc/sudoers

[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  linuxhostname: you must be root to change the host name[yuw001@Centos ~]$ /bin/hostname linuxhostname: you must be root to change the host name[yuw001@Centos ~]$ sudo hostname linux[root@linux ~]#           退出重新登陆后发现主机名修改成功

配置文件一行是一个规则,前面都会用#进行注释,用‘\’续行(换行)

三、配置文件中规则的分类

1、别名类型

别名类型分为以下几类

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

说明

用户别名中的用户必须是系统真实存在的,书写时注意空格,用户别名具有特殊意义,用户别名必须使用大写

命令别下的成员必须使用绝对路径,可以用‘\’换行

2、授权规则

授权规则就是执行的规则,授权中的所有ALL必须大写

## Allow root to run any commands anywhereroot       ALL=(ALL)       ALLyumw    ALL=(ALL)       /usr/sbin/useradd,/usr/sbin/userdel###user group sa allow to run commands anywhereyuw  ALL=/usr/sbin*,/sbin*sa    ALL= /usr/sbin*,/sbin*,!/sbin/fdisk

!表示禁止执行这个命令

[sa@linux ~]$ sudo -lUser sa may run the following commands on this host:(root) /usr/bin*, (root) /sbin*, (root) !/sbin/fdisk[sa@linux ~]$ sudo fdiskSorry, user sa is not allowed to execute '/sbin/fdisk' as root on linux.

如果将配置做下修改

###user group sa allow to run commands anywhereyuw  ALL=/usr/sbin*,/sbin*sa    ALL= !/sbin/fdisk,/usr/sbin*,/sbin*[sa@linux ~]$ sudo -lUser 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 tablefdisk [options] -l disk list partition table(s)fdisk -s partition      give partition size(s) in blocksOptions:-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不会提示权限不足的现像。

感谢你的阅读,相信你对“如何分析Linux服务器权限管理中的sudo高级应用”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注编程网网站!小编会继续为大家带来更好的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何分析Linux服务器权限管理中的sudo高级应用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何分析Linux服务器权限管理中的sudo高级应用

这篇文章的内容主要围绕如何分析Linux服务器权限管理中的sudo高级应用进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!在Linux系统中普通用户要
2023-06-28

云服务器如何配置access数据库文件夹中的文件权限管理

执行以下命令来创建一个名为mydatabase的access数据库文件夹,并赋予其访问权限:grepusername10,15,authorJohnDoe,password@10001执行以下命令来删除一个名为mydatabase的access数据库文件夹,并释放其占用的磁盘空间:grepusername10,15,authorJohnDoe,password@10001通过以上命令,云服务器可以为访问权限管理提供更多的灵活性和控制。
2023-10-27

服务器日志管理的未来:展望数据分析和机器学习在网站优化中的应用

:随着数据量的不断增长和机器学习的快速发展,服务器日志管理正在发生深刻的变化。本文将对服务器日志管理的未来进行展望,探讨数据分析和机器学习在网站优化中的应用前景。
服务器日志管理的未来:展望数据分析和机器学习在网站优化中的应用
2024-02-04

编程热搜

目录