标签: sudoedit

sudoers 和默认值

我需要允许用户在没有 tty 的情况下运行无密码 sudo。

我有一个包含/etc/sudoers.d/我需要的特殊命令和设置的文件,因为我不喜欢直接编辑该sudoers文件。在该文件中,我有以下内容:

# My list of commands that the user can run passwordless
myUser ALL=(ALL) NOPASSWD:SETENV: /foo/bar /foo/zaz
# My new defaults.
Defaults exempt_group = myUser
Defaults !env_reset,env_delete-=PATH
Defaults: myUser !requiretty
Run Code Online (Sandbox Code Playgroud)

但是,当我su到用户并运行时,sudo -l我在默认值中得到了这个:

 Matching Defaults entries for myUseron this host:
    requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION
    LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME …
Run Code Online (Sandbox Code Playgroud)

sudo sudoedit

13
推荐指数
1
解决办法
4444
查看次数

这个文件必须用'visudo'命令编辑。?

为什么建议/etc/sudoers使用visudo命令编辑文件?这是该文件的示例:

## Sudoers allows particular users to run various commands as
## the root user, without needing the root password.
##
## 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.
Run Code Online (Sandbox Code Playgroud)

有什么特殊原因吗?

sudoedit

12
推荐指数
3
解决办法
4317
查看次数

为什么 sudoedit 写入临时目录?

我曾经sudoedit创建一个文件:

 $ sudoedit /etc/systemd/system/apache2.service
Run Code Online (Sandbox Code Playgroud)

但是当我去保存文件时,它把它写在一个临时目录(/var/temp/blahblah)中。到底是怎么回事?为什么不把它保存到系统目录?

sudoedit

11
推荐指数
1
解决办法
1817
查看次数

sudo -e 和 sudo vim 之间的区别?

sudo -e和之间有主要区别吗sudo vim?我已经设置了该sudoers文件,以便 vim 成为我的默认编辑器。两者之间有关键区别吗?另外,我应该从 切换到vimrvim?我尝试过,但我的配置文件有一些问题

vim sudo sudoedit

8
推荐指数
2
解决办法
2047
查看次数

Sudoers 黑名单

我们需要在 Linux 上的 sudoers 文件中添加几个用户。除了以下内容之外,他们应该能够做任何 root 可以做的事情:

  • 不应修改、读取、删除 /nfsshare/config
  • 不应修改、读取、删除 /etc/passwd
  • 不应该安装任何东西
  • 不应该更改root密码
  • 不应编辑/etc/sudoers或运行visudo以添加其他用户

这可能吗?

sudo sudoedit

7
推荐指数
2
解决办法
2996
查看次数

如果我们不使用 sudoedit 会发生什么坏事?

我们知道使用 sudoedit 更安全*,但是如果我们在 sudoers 中有以下内容会发生什么坏事?

Cmnd_Alias FOO = /bin/ed, /usr/bin/ed, /usr/bin/vi
foouser LOCALHOST = NOPASSWD: NOEXEC: FOO
Run Code Online (Sandbox Code Playgroud)

“foouser”可以转义到 root 提示符吗?- 当然,除此之外,他现在可以编辑 /etc/shadow 文件,将自定义密码散列添加到 root 用户,在大约 3 秒内成为 root..

也许一些魔法使用 LD_PRELOAD 和 ed?具体如何?

*=sudo ed 将以 root 身份运行。但是 sudoedit 将以给定用户身份运行,编辑后的文件将在编辑之前/之后复制。

security sudo sudoedit

6
推荐指数
1
解决办法
751
查看次数

如何让 `sudo crontab -e` 使用我的 `sudoedit` 环境?

我已经开始使用sudoedit <file>而不是sudo vim <file>. 优点之一是它使用我的本地~/.vimrc. 但是,当使用 时sudo crontab -e,它会使用/root/.vimrc。有没有办法sudo crontab -e利用我的本地~/.vimrc

这是一个相关的问题,关于使用sudoeditwith vimdiff。然而,取代crontab -evimdiff不起作用。

vim cron sudo vimrc sudoedit

6
推荐指数
1
解决办法
605
查看次数

Sudoedit Vim 强制写入(更新)而不退出

我正在用 Vim 编写一些脚本,我刚刚开始使用sudoedit.

问题是,当我:w写入临时文件时,除非我退出编辑器,否则无法对脚本进行任何测试。

我怎样才能强制更新原件,或者我错过了重点sudoedit

vim sudoedit

5
推荐指数
2
解决办法
2435
查看次数

非根目录中的 sudoedit 根拥有的文件

为什么我不能编辑 root 拥有的文件,但在我个人目录深处的某个地方,它说:

sudoedit: existingFile: editing files in a writable directory is not permitted
Run Code Online (Sandbox Code Playgroud)

虽然我定义了以下函数:

function sunano {
    export SUDO_EDITOR='/usr/local/bin/nano'
    sudoedit "$@"
}
Run Code Online (Sandbox Code Playgroud)

我像这样编辑:

sunano existingFile
Run Code Online (Sandbox Code Playgroud)

文件确实归 root 所有:

ls -l existingFile
Run Code Online (Sandbox Code Playgroud)

证明:

-rwxr-xr-x 1 root root 40 Jun 15  2015 existingFile
Run Code Online (Sandbox Code Playgroud)

permissions sudoedit

5
推荐指数
1
解决办法
6434
查看次数

如何在 Gnu/Linux 的 GUI(和 CLI)中正确编辑系统文件(以 root 身份)?

系统:Linux Mint 18.1 64 位 Cinnamon


目标:定义Bash别名以在从模拟器以root模式打开文件时启动各种CLIGUI文本编辑器。gnome-terminal


进步

例如,以下别名似乎按预期工作:

对于CLI,在这个例子中我使用了 Nano(官网):

alias sunano='sudo nano'
Run Code Online (Sandbox Code Playgroud)

对于GUI,在这个例子中我使用了 Xed(维基百科文章):

alias suxed='sudo xed'
Run Code Online (Sandbox Code Playgroud)

他们都以root身份打开文件。


问题

我有一个问题gksudosublime-text

alias susubl='gksudo /opt/sublime_text/sublime_text'
Run Code Online (Sandbox Code Playgroud)

有时它有效。大多数时候它什么都不做。

我如何调试这种行为不一致的东西?它不输出任何东西。没有错误信息或类似信息。


gksudo 已在 Debian 中被弃用,也不再包含在 Ubuntu 18.04 Bionic 中,所以让我将这个问题重新表述为一个仍然有效的问题:

如何在 Linux 的 GUI(和 CLI)中正确编辑系统文件(以 root 身份)?

在这种情况下,我正确地定义为安全,例如,在文件编辑期间发生断电,另一个示例可能是 SSH 连接丢失等。

linux editors sudoedit

4
推荐指数
1
解决办法
6916
查看次数

标签 统计

sudoedit ×10

sudo ×5

vim ×3

cron ×1

editors ×1

linux ×1

permissions ×1

security ×1

vimrc ×1