linux sudo命令的知识点有哪些(linux,sudo,编程语言)

时间:2024-04-29 10:30:59 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

    linux+sudo%E5%91%BD%E4%BB%A4%E7%9A%84%E7%9F%A5%E8%AF%86%E7%82%B9%E6%9C%89%E5%93%AA%E4%BA%9B

---s--x--x2rootroot10683202-1217:41/usr/bin/sudo

sudo的配置都记录在/etc/sudoers文件中,我们下面将会详细说明。配置文件指明哪些用户可以执行哪些命令。要使用sudo,用户 必须提供一个指定用户名和密码。注意:sudo需要的不是目标用户的密码,而是执行sudo的用户的密码。如果不在sudoers中的用户通过sudo执 行命令,sudo会向管理员报告这一事件。用户可以通过sudo -v来查看自己是否是在sudoers 之中。如果是,它还可以更新你的“入场券”上的时间;如果不是,它会提示你,但不会通知管理员。

下面我们再来看一下sudo其它常用的一些参数:

选项含义作用

sudo-hHelp列出使用方法,退出。

sudo-VVersion显示版本信息,并退出。

sudo-lList列出当前用户可以执行的命令。只有在sudoers里的用户才能使用该选项。

sudo-uusername#uidUser以指定用户的身份执行命令。后面的用户是除root以外的,可以是用户名,也可以是#uid。

sudo-kKill清除“入场卷”上的时间,下次再使用sudo时要再输入密码。

sudo-KSurekill与-k类似,但是它还要撕毁“入场卷”,也就是删除时间戳文件。

sudo-bcommandBackground在后台执行指定的命令。

sudo-ppromptcommandPrompt可以更改询问密码的提示语,其中%u会代换为使用者帐号名称,%h会显示主机名称。非常人性化的设计。

sudo-efileEdit不是执行命令,而是修改文件,相当于命令sudoedit。

还有一些不常用的参数,在手册页sudo(8)中可以找到。

ls:/root:权限不够

[foobar@localhost~]$sudols/root

PassWord:

anaconda-ks.cfgDesktopinstall.loginstall.log.syslog

好了,我们限制一下foobar的权利,不让他为所欲为。比如我们只想让他像root那样使用ls和ifconfig,把那一行改为:

Password:

Sorry,userfoobarisnotallowedtoexecute'/usr/bin/head-5/etc/shadow'asrootonlocalhost.localdomain.

[foobar@localhost~]$sudo/sbin/ifconfigeth0Linkencap:EthernetHWaddr00:14:85:EC:E9:9B...

现在让我们来看一下那三个ALL到底是什么意思。第一个ALL是指网络中的主机,我们后面把它改成了主机名,它指明
foobar可以在此主机上执行后面的命令。第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令。最后一个
ALL当然就是指命令名了。例如,我们想让foobar用户在linux主机上以jimmy或rene的身份执行kill命令,这样编写配置文件:

install.log.syslog

当然,你也可以说“某些命令用户foobar不可以运行”,通过使用!操作符,但这不是一个好主意。因为,用!操作符来从ALL中“剔出”一些命令一般是没什么效果的,一个用户完全可以把那个命令拷贝到别的地方,换一个名字后再来运行。

Desktopinstall.log

install.log.syslog

$cat/var/log/sudoJul2822:52:54localhostsudo:foobar:

TTY=pts/1;PWD=/home/foobar;USER=root;COMMAND=/bin/ls/root

不过,有一个小小的“缺陷”,sudo记录日志并不是很忠实:

[foobar@localhost~]$

cat/var/log/sudo...Jul2823:10:24localhostsudo:foobar:TTY=pts/1;

PWD=/home/foobar;USER=root;COMMAND=/bin/cat/etc/shadow

重定向没有被记录在案!为什么?因为在命令运行之前,shell把重定向的工作做完了,sudo根本就没看到重定向。这也有个好处,下面的手段不会得逞:/p><pre>[foobar@localhost~]$sudols/root&gt;/etc/shadowbash:/etc/shadow:权限不够</pre

sudo 有自己的方式来保护安全。以root的身份执行sudo
-V,查看一下sudo的设置。因为考虑到安全问题,一部分环境变量并没有传递给sudo后面的命令,或者被检查后再传递的,比如:PATH,HOME,
SHELL等。当然,你也可以通过sudoers来配置这些环境变量。

本文:linux sudo命令的知识点有哪些的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:python操作excel代码如何写下一篇:

34 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18