标签: sudo

如何在我可以通过 sudo 访问的文件末尾添加一行?

我试过了:

sudo "some string" >> test.txt
Run Code Online (Sandbox Code Playgroud)

但我收到了拒绝许可的警告。

任何人都可以帮忙吗?

shell sudo file-permissions

7
推荐指数
3
解决办法
2859
查看次数

集中 sudo sudoers 文件?

我是几台不同服务器的管理员,目前每台服务器上都有不同的 sudoers 文件。这有点失控,因为我经常需要授予某人使用 sudo 执行某些操作的权限,但它只能在一台服务器上完成。是否有一种简单的方法可以在我的中央服务器上编辑 sudoers 文件,然后通过 SFTP 或类似的方式以简单的方式将其分发到其他服务器?

主要是想知道其他系统管理员如何解决这个问题,因为 sudoers 文件似乎无法通过 NIS 远程访问,例如。

操作系统是 SUSE Linux Enterprise Server 11 64 位,但应该没有关系。

编辑:现在,每台机器都有相同的 sudoers 文件。

EDIT2:接受的答案的评论最接近我实际进行的操作。我现在正在使用 SVN 支持的 puppet 安装,经过几次头痛,它运行良好。

linux sudo

7
推荐指数
3
解决办法
9584
查看次数

Linux sudo 命令的安全问题?

  1. 我使用的是 Red Hat Enterprise 5 Linux 机器。我发现如果一个用户在/etc/sudoers文件中,那么如果用户用sudo运行命令,用户将以root权限运行这个命令(在不知道root密码的情况下,用户运行sudo只需在其中输入用户自己的密码即可)以使用 sudo 运行命令)。这是正确的理解吗?

    1. 如果是,那么它是一个安全漏洞吗?因为 root 以外的用户可以以 root 权限运行?

提前致谢,乔治

security linux permissions sudo

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

在亚马逊 EC2 上破坏了我的 /etc/sudoers 文件

我使用 vim /etc/sudoers 编辑了我的 Linux Amazon EC2 实例并尝试将另一个帐户添加到列表中。我现在意识到这是一个可怕的错误。我不能再从任何帐户 sudo (这意味着我不能再次编辑文件)并且我没有 root 帐户密码。我能做些什么来纠正这个问题吗?

谢谢。

linux sudo amazon-ec2

7
推荐指数
1
解决办法
7133
查看次数

Sudoers 文件允许对活动目录组的特定文件进行 sudo

我在 Ubuntu 12.04 机器上使用活动目录登录。当用户登录时,我有一个需要 sudo 权限运行的脚本(因为它修改了 samba 配置文件)。我将如何在我的sudoers文件中指定它?

Active Directory 用户是名为 的组的一部分domain usersdomain users当我groups以活动目录用户身份发布时,我看到了。

我试过了:

%domain+users ALL=NOPASSWD: /etc/userScripts/createSambaShare.php
Run Code Online (Sandbox Code Playgroud)

这仍然要求我输入密码,然后告诉我该用户不在sudoers文件中。

当它向活动目录用户询问他们的密码时,是否有我可以检查的日志以查看它在做什么?

active-directory sudo ubuntu-12.04

7
推荐指数
1
解决办法
1887
查看次数

创建一个伪终端让 sudo 开心

我需要自动配置一个云实例(运行 Fedora 17),以下初始事实为真:

  • 我可以通过 ssh 密钥访问远程用户 ( cloud)
  • 该用户通过sudo.

手动配置就像登录和运行sudo su -并拥有它一样简单,但我想完全自动化这个过程。诀窍是系统默认为requiretty启用该选项sudo,这意味着尝试执行以下操作:

ssh remotehost sudo yum -y install puppet
Run Code Online (Sandbox Code Playgroud)

将失败:

sudo: sorry, you must have a tty to run sudo
Run Code Online (Sandbox Code Playgroud)

我现在正在解决这个问题,首先推送一个将在伪终端上运行命令的小型 Python 脚本:

import os
import sys
import errno
import subprocess

pid, master_fd = os.forkpty()

if pid == 0:
    # child process: now that we're attached to a
    # pty, run the given command.
    os.execvp(sys.argv[1], sys.argv[1:])
else:
    while True:
        try:
            data …
Run Code Online (Sandbox Code Playgroud)

cloud terminal sudo

7
推荐指数
1
解决办法
1858
查看次数

如何让用户在 sudoers 中执行包含引号的命令?

我有这个命令

chroot /chroots/box /bin/bash -c 'cd /repos/system && git pull'
Run Code Online (Sandbox Code Playgroud)

我试着写在 /etc/sudoers

user ALL = (root) NOPASSWD: chroot /chroots/box /bin/bash -c 'cd /repos/system && git pull'
Run Code Online (Sandbox Code Playgroud)

但这没有用。在我见过的日志中

sudo:      user : command not allowed ; TTY=pts/7 ; PWD=/home/user ; USER=root ; COMMAND=chroot /chroots/box /bin/bash -c cd /repos/system && git pull
Run Code Online (Sandbox Code Playgroud)

我还尝试在 sudo 调用中转义引号,例如\',并且它们出现在具有相同错误的日志文件中。

这个 repo 影响了 chroot 的根文件系统,所以我不能从外面调用 git pull 。

linux sudo

7
推荐指数
1
解决办法
4486
查看次数

如何避免在 sudoers 文件中指定完整路径?

我试图在我的文件(在 Ubuntu 12.04 LTS 服务器上)中添加一个NOPASSWD条目sudotest.sh(或任何需要 sudo 的脚本/二进制/etc/sudoers文件),但为了使其工作,我必须指定完整路径。以下条目工作正常:

%jenkins ALL=(ALL)NOPASSWD:/home/vts_share/test/sudotest.sh
Run Code Online (Sandbox Code Playgroud)

问题是脚本可能会移动到不同的目录。这似乎是*在路径中使用通配符(即/*/sudotest.sh)的好机会,这样我的脚本就可以在任何目录中,但手册指出,/在路径中使用通配符时,通配符将与字符不匹配。我已经确认它不起作用。

我知道我可以使用这个词ALL代替我的脚本,但这意味着对于任何看起来不安全的命令都没有密码提示。

我该如何解决这个问题?

linux ubuntu sudo

7
推荐指数
1
解决办法
6143
查看次数

SSH 上的 Rsync 不存在 tty

我在 Debian 的 root 的 crontab 中使用以下命令。

rsync -vqrlHEAXogDtzhi --log-file=${LOG} --progress --rsync-path="sudo /usr/bin/rsync" --exclude-from=$CONFIG_DIR/excludes -e "ssh -i /home/backups/.ssh/id_rsa" backups@${HOSTNAME}:/ ${BACKUP_DIR}
Run Code Online (Sandbox Code Playgroud)

我得到以下信息:

sudo: no tty present and no askpass program specified
Run Code Online (Sandbox Code Playgroud)

我尝试将 -t 添加到 ssh 命令中,我得到:

Pseudo-terminal will not be allocated because stdin is not a terminal.
Run Code Online (Sandbox Code Playgroud)

我尝试将 -t -t 添加到 ssh 命令中,我得到:

protocol version mismatch -- is your shell clean?
Run Code Online (Sandbox Code Playgroud)

我已经向远程设备上的备份用户添加了一个 .hushlogin 文件,并确认我可以使用远程设备的密钥 ssh 作为备份而没有显示任何内容(登录被隐藏)。我仍然收到这些消息。

请注意,我可以成功地使用密钥 ssh 作为远程设备的备份。

请注意,我的 sudo 没有 -tt 选项。

请注意,以下是在源和目标的 /etc/sudoers 文件中设置的:

backups ALL= NOPASSWD:/usr/bin/rsync
Run Code Online (Sandbox Code Playgroud)

请注意,我的 …

linux debian ssh rsync sudo

7
推荐指数
1
解决办法
1万
查看次数

Linux/Unix - /etc/sudoers - 主机定义

有人能告诉我在哪种情况下 sudo 主机定义有用吗?

我的意思是 sudoers 文件中一行的这一部分:

bob host1 = NOPASSWD: reboot
Run Code Online (Sandbox Code Playgroud)

在哪种环境中(sudo通过 LDAP除外),我需要定义用户可以在其上运行指定命令的主机吗?

linux unix sudo host

7
推荐指数
1
解决办法
618
查看次数