温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

linux下的sudo命令怎么使用

发布时间:2022-01-20 16:17:56 来源:亿速云 阅读:220 作者:iii 栏目:开发技术

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

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

linux下的sudo命令怎么使用

一、直接修改/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  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 ~]#           退出重新登陆后发现主机名修改成功

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

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

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)       ALL

yumw    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 -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 anywhereyuw  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不会提示权限不足的现像。

读到这里,这篇“linux下的sudo命令怎么使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI