- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 linux 用户 (user2),它已设置为 shell /usr/sbin/nologin
(以阻止登录)。不,当我尝试使用 sudo su user2
切换到该用户时,我得到的信息是该帐户不可用。但是当我使用 sudo -su user
时,它工作正常。
现在 su
和 -su
有什么区别。或者 -su
是做什么的。我试图通过 -h
或 --help
或联机帮助页获得帮助,但找不到任何有用的信息。
最佳答案
sudo -su user
是 sudo -s -u user
的缩写。 -s
选项表示运行环境变量 SHELL
中指定的 shell(如果已设置),否则运行用户的登录 shell。 -u user
选项表示以指定用户而不是 root 身份运行命令。这些选项记录在 man sudo
下。
sudo su user
将使用 sudo
作为 root 用户运行命令 su user
。 su
命令随后将调用指定用户名的登录 shell。 su user
命令可以在不使用 sudo
的情况下运行,但是通过以 root 用户身份运行它不需要目标用户的密码。有关详细信息,请参阅 man su
。
因此,当目标用户与调用用户具有相同的登录 shell 时,这两个命令看起来很相似(很大程度上是巧合)并且效果有些相似。但是,如果 SHELL
环境变量设置在调用用户的环境中(通常是这样,通常是 /bin/bash
),并且目标用户有一个与此不同的登录 shell(例如 /usr/sbin/nologin
),这两个命令执行的 shell 之间存在差异,这就是您所看到的.
关于linux - 'sudo -su' 到底是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62219908/
这对你们来说可能很简单,但由于我是java新手,所以我想知道实际上什么是 接下来的部分会发生什么? if (args.length > 0) { file = args[0]; } publi
在我的 View Controller 中,我将 UITapGestureRecognizer 添加到 self.view。我在 self.view 之上添加了一个小 View 。当我点击小 View
我今天尝试从 Obj-C 开始并转到 Swift,我正在阅读文档。我试图在 Swift 中创建一个简单的 IBOutlet,但它不断给我这些错误。 View Controller 没有初始化器 req
我正在尝试使用 VIM 完成(字典和当前缓冲区),但我遇到了问题?和 !在方法名称的末尾。我能以某种方式向 vim 解释方法名称(基本上是单词)最后只能有它,而且只有一个,即 method_name
我是一名优秀的程序员,十分优秀!