linux sudo用法?linux su和sudo命令的区别

:暂无数据 2026-09-24 08:00:01 :0

linux sudo用法?linux su和sudo命令的区别

其实sudo的问题并不复杂,但是又很多的朋友都不太了解linux sudo用法,因此呢,今天小编就来为大家分享sudo的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

linux sudo用法

 一种约束用户执行系统管理命令方面的安全机制,允许指定的用户以root身份执行指定的命令而不需要提供root密码。用过Ubuntu(Debian系)的小伙伴很有发言权。

***隐藏网址***

***隐藏网址***

图中可以看出默认有8个命令别名,每一个别名分别对应一些命令,比如PROCESS,是nice、kill、killall三个命令的别名。之所以要有别名,是因为将命令分门别类后便于后面的引用。

看懂语法,基本就可以搞定了。每个框框中注释部分说的很清楚。比如“%wheel   ALL=(LL) NOPASSWD:ALL”表示wheel这个群组中的用户可以在任何主机上执行任何命令且不需要输入密码。
用户名:ds 

群组:   testgroup

要求:只允许testgroup群组用户执行跟networking相关的命令

步骤:

1、 命令行中输入visudo回车—/etc/sudoers文件

2、 去掉“Cmnd_Alias NETWORKING…“一行的的注释

3、 加入下面一行

4、 测试

可以看到ds用户执行ping是可以的,但是执行kill命令就不行了,即使使用sudo尝试使用root身份执行也不行:

通过/var/log/secure日志文件可以看的更详细:

常用实例讲解

1 .oracle用户可以在任何地点以任何的身份执行所有命令,等同于root。

oracle ALL=(ALL) ALL
2. oracle2用户可以在任何地点以root的身份执行命令useradd(无需密码)和usermod(需要密码).

这样oracle2就可以免密码useradd,有密码(密码为oracle2的自身密码)使用userdel。

oracle2 ALL=(root) NOPASSWD:/usr/sbin/useradd, PASSWD:/usr/sbin/userdel

使用方式如下

$ useradd test001 # 直接使用命令是不可以的。

-bash: /usr/sbin/useradd: Permission denied

$ sudo useradd test001                          # 必须加sudo

$ id test001                                    # 查看添加的用户信息

uid=1031(test001) gid=1032(test001) groups=1032(test001)
3. oracle3用户只能在192.168.1.120主机远程登录并以root身份执行ifconfig eth0命令。

Cmnd_Alias NETCMND = /sbin/ifconfig eth0

oracle3 192.168.1.120 = (root) NOPASSWD:NETCMND
4. oracle4用户可以执行/usr/sbin下的所有命令除了/usr/sbin/userdel

oracle4 ALL=(ALL) /usr/sbin/,!/usr/sbin/userdel
5. oracle5用户可以cat /var/log/secure*的文件

oracle5 ALL=(ALL) /bin/cat /var/log/secure*,!/bin/cat /var/log/secure* *

linux su和sudo命令的区别

su命令

su是最简单的身份切换,用su我们能够进行任何用户的切换,一般都是su -
username,然后输入password就ok了,可是root用su切换到其他身份的时候是不需要输入password的。

一般我们切换身份都是切换到root,然后进行一些仅仅只有root能干的事,比如改动配置文件,比如下载安装软件。这些都是仅仅是root才有权限做的事。切换到root能够是单纯的su,或者是su
-和su - root,后面两个是一样的意思。

单纯使用su切换到root,读取变量的方式是non-login
shell,这样的方式下非常多的变量都不会改变,尤其是PATH。所以root用的非常多的命令都仅仅能用绝对路径运行。这样的方式仅仅是切换到root的切换。

而用su - 这样的方式的话,是login shell方式,它是以root身份登录然后再运行别的操作。

sudo命令

相比于su切换身份必须要用户的password,sudo仅仅是需要自己的password,就能够以其他用户的身份来运行命令。常常是以root的身份运行命令。也并不是全部人能够用sudo:

这里我要查看/etc/shadow这个文件的前三行,可是却发现看不了,提示的错误是说我当前这个用户不在sudoers这个文件,所以sudo是依赖于/etc/suders这个配置文件的。

sudo的运行有这样一个流程:

1)当用户运行sudo时,系统于/etc/sudoers文件里查找该用户是否有运行sudo的权限;

2)若用户具有可运行sudo的权限,那么让用户输入用户自己的password;

3)假设password正确。便开始进行sudo后面的命令,root运行sudo是不需要输入password的,切换到的身份与运行者身份同样的时候,也不需要输入password。

ubuntu里的sudo命令有什么用

sudo使一般用户不需要知道超级用户的密码即可获得权限。首先超级用户将普通用户的名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信息,登记在特殊的文件中(通常是/etc/sudoers),即完成对该用户的授权(此时该用户称为“sudoer”)。

在一般用户需要取得特殊权限时,其可在命令前加上“sudo”,此时sudo将会询问该用户自己的密码(以确认终端机前的是该用户本人),回答后系统即会将该命令的进程以超级用户的权限运行。之后的一段时间内(默认为5分钟,可在/etc/sudoers自定义),使用sudo不需要再次输入密码。

由于不需要超级用户的密码,部分Unix系统甚至利用sudo使一般用户取代超级用户作为管理帐号,例如Ubuntu、Mac OS X等。

扩展资料:

范例

1、sudo -l 列出目前的权限

若用户不在sudoers中会提示不能运行sudo命令,存在则会显示详细的权限。

2、sudo -V 列出 sudo 的版本资讯

3、指令名称:sudoers(在fc5下显示不能找到此命令,但用man可以查到其用法。)用来显示可以使用sudo的用户

Linux入门系列——su和sudo

su和sudo这两个命令是Linux运维必须要会的,通常在生产环境中都是使用普通帐号来登录,再使用su或sudo来执行一些管理命令。

su:run a shell with substitute user and group ids

-,-l,--login 切换后使用指定用户的的shell。

-c,--command=COMMAND 可以在不切换当前shell的情况下,用指定的用户来执行一个命令;

如果在su的时候没有加”-“或“-l”或“--login”那么默认的会使用 当前用户 的shell来执行 ;

sudo的配置文件是: /etc/sudoers ,该文件可以定义哪个用户可以在哪个机器上以哪个用户的身份来执行哪些命令;

在配置sudo时必须使用 visudo 来配置文件,因为使用visudo可以检查修改后的文件的语法是否正确;

可以将上面的配置行分成四部分:part1 part2 part3 part4

例如:

那么如果用户的数量过多的时候是不是要为每个用户来创建一个条目呢,很显示这样做是不科学的。所以sudo就引入了别名的概念,其实和组也差不多;

alias定义的语法:

要注意的是,这个Alias的名称一定要大写;

user1是一个用户,user2是一个组,所以user2的前面要加上%

可以使用主机名,IP地址,网段(网段的掩码可以写成255.255.255.0,也可以写成/24)

命令必须使用绝对路径。如果只指定了一个目录,那么用户就可以执行该目录下的所有的文件;上面的“=”右边的都可以使用“!”来取反。表示除了xxx以外;

例子 :请允许user1,user2,user3在192.168.20.44和192.168.10.0/24网段的机器上使用sudo切换到root用户来执行useradd和setup命令;

然后就可以使用user1,user2,user3这三个用户去测试了;

注意:当用户第一次执行sudo命令的时候是需要用户输入自己的密码的。当第一次输入正确后,这个密码就会被缓存5分钟,在5分钟内用户再次使用sudo来切换身份执行命令的时候就不需要再次输入自己的密码。

这样呢有些时候会有一个安全隐患,所以为了去掉这个5分钟,可以在使用sudo命令的时候加上“-k”参数,这样用户在每次执行sudo命令的时候都会让用户输入自己的密码。

如果想让某个用户在执行sudo的时候不需要输入自己的密码,那么可以在命令的前面添加NOPASSWD。/etc/sudoers的内容如下:

这样的话,user1,user2,user3这三个用户在执行指定的命令的时候就不需要输入自己的密码了。

如果其中的命令有的需要输入密码,有的不需要输入密码的话,那就把PASSWD:写在那些命令的前面。或是把NOPASSWD:写在最后一个命令中;

例子:让用户user4使用passwd来管理用户的密码,但是不能给root用户设置密码:

注意:如果最后不加上!/usr/bin/passwd root的话,那么会有很大的漏洞,user4可以修改root用户的密码;当添加上后,user4再次执行sudo passwd root的时候就会提示:

linux下面的sudo命令什么意思

sudo 表示 “superuser do”。 它允许已验证的用户以其他用户的身份来运行命令。其他用户可以是普通用户或者超级用户。然而,大部分时候我们用它来以提升的权限来运行命令。

apt 是Linux下的一款安装包管理工具,是一个客户/服务器系统。sudo apt-get是用来安装linux下的各种工具包的。

扩展资料:

注意事项:

sudo的配置文件/etc/sudoers是一般不要直接使用vi(vi /etc/sudoers)去,因为sudoers配置有一定的语法,直接用vi保存系统不会检查语法,如有错也保存了可能导致无法使用sudo工具,而使用visudo命令去配置保存时会进行语法检查,有错会有提示。

命令一定要使用绝对路径,避免其他目录的同名命令被执行,造成安全隐患 ,因此使用的时候也是使用绝对路径!

Linux下的命令sudo怎么读

su do,速度,一声念更拽的样子.不过之前网友回复的
详细单词是superuserdo,意为超级管理员可以做的动作。
实际上,也可以用sudo命令以其他的用户的身份执行一条命令
sudo - 以其他用户身份执行一条命令
usage: sudo -h | -K | -k | -V
usage: sudo -v
usage: sudo -l

usage: sudo [-p
prompt]
usage: sudo -e [-p
prompt] file ...
选项:
-A, --askpass 使用助手程序进行密码提示
-b, --background 在后台运行命令
-B, --bell ring bell when prompting
-C, --close-from=num 关闭所有 》= num 的文件描述符
-E, --preserve-env 在执行命令时保留用户环境
--preserve-env=list preserve specific environment variables
-e, --edit 文件而非执行命令
-g, --group=group 以指定的用户组或 ID 执行命令
-H, --set-home 将 HOME 变量设为目标用户的主目录。
-h, --help 显示帮助消息并退出
-h, --host=host 在主机上运行命令(如果插件支持)
-i, --login 以目标用户身份运行一个登录
shell;可同时指定一条命令
-K, --remove-timestamp 完全移除时间戳文件
-k, --reset-timestamp 无效的时间戳文件
-l, --list
列出用户权限或检查某个特定命令;对于长格式,使用两次
-n, --non-interactive 非交互模式,不提示
-P, --preserve-groups
保留组向量,而非设置为目标的组向量
-p, --prompt=prompt 使用指定的密码提示
-r, --role=role 以指定的角色创建 SELinux 安全环境
-S, --stdin 从标准输入读取密码
-s, --shell 以目标用户运行
shell;可同时指定一条命令
-t, --type=type 以指定的类型创建 SELinux 安全环境
-T, --command-timeout=timeout terminate command after the specified time limit
-U, --other-user=user 在列表模式中显示用户的权限
-u, --user=user 以指定用户或 ID
运行命令(或文件)
-V, --version 显示版本信息并退出
-v, --validate 更新用户的时间戳而不执行命令
-- 停止处理命令行参数

《head first python》windows环境下,如何解决sudo不是内部命令问题

sudo是Linux中的命令,不能用在这里,而且如果你用的是linux的话,linux好像都会装有python的。python3有for
windows的版本,在www.python.com下载即可,下载后双击安装文件的图标即可。

linux中sudo是什么意思

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。

shell执行sudo命令时,自动输入密码

输入该命令后还需要用户输入sudo密码

自动输入密码方式1:

自动输入密码方式2:

其中123就是用户密码。

比如可以在shell脚本中输入用户密码,就可以自动执行sudo相关命令了。

Linux里面su和sudo区别是什么

su

su的全称并不是super user,而是switch user,是不是就突然明白了?是切换用户的意思。su的一般使用方法是su 或者su -,两种方法虽然只差了1个字符,但也是有比较大的差异的。

加入了-参数,就是login-shell的方式,也就是说切换到另一个用户之后,当前的shell会加载对应的环境变量和各种设置;

如果没有加入-参数,就是non-login-shell的方式,也就是说当前的shell还是加载切换之前的那个用户的环境变量以及各种设置。

如果不想因为切换到另一个用户导致自己在当前用户下的设置不可用,那么就可以用non-login-shell的方式;如果切换用户后,需要用到该用户的各种环境变量,那么使用login-shell方式即可。

sudo

全称为super user do,即以超级用户的方式执行命令,这里的超级用户指的就是root用户,我们在Linux中有时会遇到permission
denied的情况,如以ubuntu用户的身份查看/etc/shadow的内容,因为它是只有root用户才能查看的,这个时候就可以使用sudo。

两者的区别在于:

使用su - 提供root账号的密码,可以切换到root用户;

使用sudo su -,提供当前用户的密码,也可以切换到root用户。

如果我们的Linux系统有很多用户需要使用的话,前者要求所有用户都知道root用户的密码,显然是非常危险的;后者是不需要暴露root账户密码的,用户只需要输入自己的账户密码就可以。

关于sudo,linux sudo用法的介绍到此结束,希望对大家有所帮助。

linux sudo用法?linux su和sudo命令的区别

本文编辑:admin
: sudo

更多文章:


form表单制作(为什么制作的form表单会在网页显示中多出一行)

form表单制作(为什么制作的form表单会在网页显示中多出一行)

大家好,如果您还对form表单制作不太了解,没有关系,今天就由本站为大家分享form表单制作的知识,包括为什么制作的form表单会在网页显示中多出一行的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 09:10

teammate(teammate,company,partner)

teammate(teammate,company,partner)

各位老铁们,大家好,今天由我来为大家分享teammate,以及teammate,company,partner的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧

2026年10月11日 06:10

javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)

javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)

其实javascript arraybuffer的问题并不复杂,但是又很多的朋友都不太了解javascript可以把base64编码转换成二进制代码吗求示例代码!,因此呢,今天小编就来为大家分享javascript arraybuffer的

2026年10月11日 04:00

text函数公式(excel中round和text函数的区别是什么)

text函数公式(excel中round和text函数的区别是什么)

“text函数公式”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看text函数公式(excel中round和text函数的区别是什么)!

2026年10月11日 03:50

pascal编程软件(介绍一下pascal语言!)

pascal编程软件(介绍一下pascal语言!)

大家好,如果您还对pascal编程软件不太了解,没有关系,今天就由本站为大家分享pascal编程软件的知识,包括介绍一下pascal语言!的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 02:40

google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)

google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)

本篇文章给大家谈谈google chrome打不开,以及chrome浏览器打不开怎么回事 浏览器打不开的处理方法对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了

2026年10月11日 02:00

websocket整合springboot(Springboot整合Websocket遇到的坑)

websocket整合springboot(Springboot整合Websocket遇到的坑)

大家好,websocket整合springboot相信很多的网友都不是很明白,包括Springboot整合Websocket遇到的坑也是一样,不过没有关系,接下来就来为大家分享关于websocket整合springboot和Springbo

2026年10月11日 01:40

小米官方首爆miui14(miui14耗电严重官方回应)

小米官方首爆miui14(miui14耗电严重官方回应)

各位老铁们好,相信很多人对小米官方首爆miui14都不是特别的了解,因此呢,今天就来为大家分享下关于小米官方首爆miui14以及miui14耗电严重官方回应的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月11日 00:40

drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)

drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)

本篇文章给大家谈谈drawerlayout,以及android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月10日 19:20

xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)

xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)

大家好,今天小编来为大家解答以下的问题,关于xor四位数怎么运算,单片机怎样用C语言实现4个数字间的异或这个很多人还不知道,现在让我们一起来看看吧!

2026年10月10日 17:50

最近更新

thinkpade470c加内存条(thinkpad e470c内存条是什么牌子如果要添加4g内存什么牌子比较好)
2026-10-11 09:00:03 浏览:0
frontpage的主要功能(frontpage是什么)
2026-10-11 08:40:18 浏览:0
ideapad15alc7能玩什么游戏(联想ideapad15可以玩刺客信条启示录吗)
2026-10-11 08:10:05 浏览:0
me是国内域名吗(me域名的概况)
2026-10-11 07:50:35 浏览:0
热门文章

打印机m7400(m7400打印机清零方法)
2026-08-29 07:50:01 浏览:5
acrobat各版本区别(Acrobat XI Pro与 Acrobat PRO DC什么区别)
2026-08-29 22:30:20 浏览:2
联想y510p怎么升级(联想y510p换cpu)
2026-08-17 03:30:04 浏览:2
标签列表