千家信息网

linux下的sudo命令怎么使用

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,本文小编为大家详细介绍"linux下的sudo命令怎么使用",内容详细,步骤清晰,细节处理妥当,希望这篇"linux下的sudo命令怎么使用"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来
千家信息网最后更新 2024年11月28日linux下的sudo命令怎么使用

本文小编为大家详细介绍"linux下的sudo命令怎么使用",内容详细,步骤清晰,细节处理妥当,希望这篇"linux下的sudo命令怎么使用"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等。这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性。

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

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

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

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

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

5、确保知道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命令怎么使用"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

用户 别名 命令 就是 权限 规则 配置 主机 位置 文件 应用 普通 内容 文章 系统 切换 成功 大写 常用 类型 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 工业串口服务器哪家好 计算机网络技术与信息安全哪个好 sql修改数据库表字段名字 什么是文件服务器设置 dell服务器管理卡密码 即拼商城软件开发平台 对网络安全法基本见解 身份证数据库没有照片 计算机网络技术女生可以吗 数据库查询某个关键词代码 新乡三年制计算机网络技术教程 rs260服务器管理口密码 局机关网络安全工作总结 韩语软件开发相关术语 路由器服务器连接方法 阿里云怎么搭建饥荒服务器 扬州智能化服务器服务商 软件开发设计方案要写什么 学科竞赛管理系统服务器错误 安卓软件开发 分辨率 软件开发公司哪种快 深圳机器人rpa软件开发 检索化学类期刊的中文数据库 廊坊市峰杰网络技术有限公司 空间 创建数据库 赣州软件开发学院 深圳排队网络技术怎么样 高清的网络安全知识 部队手机网络安全教育感悟 网络安全法的意义包含什么
0