Questions tagged «sudo»

sudo是一个工具,它允许用户以其他用户(通常是root用户)的身份运行命令

7
Sudo作为其他用户和运行屏幕
今天发现,我作为sudo的其他用户正在运行的屏幕将无法工作! 即 ssh bob@server # ssh into server as bob sudo su "monitor" - screen # fails: Cannot open your terminal '/dev/pts/0' 我有一个以“监视”用户身份运行的脚本。我们在屏幕会话中运行它,以便在屏幕上查看输出。问题是,我们有许多用户使用自己的帐户登录(例如bob,james,susie等),然后他们将sudo变成“监控”用户。将他们授予“监视”用户访问权限是不可能的。
167 sudo  gnu-screen 

6
如何在Linux上设置无密码的`sudo`?
如何sudo在RHEL(Fedora,CentOS等)或Ubuntu发行版上设置无密码访问?(如果发行版中的内容相同,那就更好了!) 设置:个人和/或实验室/培训设备,不考虑未经授权的访问(即,设备位于非公共网络上,并且任何/所有用户都是完全受信任的,并且设备的内容为“纯香草”) 。
156 linux  password  sudo 

10
ssh-agent转发和sudo到另一个用户
如果我拥有可以使用ssh密钥登录到的服务器A,并且具有“ sudo su-otheruser”的能力,则将丢失密钥转发,因为已删除了env变量,并且套接字只能由原始用户读取。有没有办法可以通过“ sudo su-otheruser”桥接密钥转发,以便可以使用转发的密钥(在本例中为git clone和rsync)在服务器B上做一些事情? 我能想到的唯一方法是将我的密钥添加到otheruser和“ ssh otheruser @ localhost”的authorized_keys中,但这对于我可能拥有的每个用户和服务器组合都是很麻烦的。 简而言之: $ sudo -HE ssh user@host (success) $ sudo -HE -u otheruser ssh user@host Permission denied (publickey).

6
如何使用每台主机密码安全地实施ansible?
我想使用ansible管理一组现有服务器。我已经创建了一个ansible_hosts文件,并-K使用仅针对单个主机的命令进行了成功测试(使用该选项) ansible -i ansible_hosts host1 --sudo -K # + commands ... 我现在的问题是每个主机上的用户密码都不同,但是我无法在Ansible中找到处理此密码的方法。 使用-K,只会提示我预先输入一个sudo密码,然后似乎对所有后续主机都尝试了该密码,而不会提示: host1 | ... host2 | FAILED => Incorrect sudo password host3 | FAILED => Incorrect sudo password host4 | FAILED => Incorrect sudo password host5 | FAILED => Incorrect sudo password 到目前为止的研究: 一个StackOverflow问题,其中有一个错误的答案(“ use -K”)和一个作者说“发现我需要无密码的sudo”的响应 Ansible docs,其中说:“使用无密码sudo使事情更容易自动化,但这不是必需的。” …
108 security  sudo  ansible 

16
为什么sudo命令需要很长时间才能执行?
在过去的几个月中,我一直在学习Linux(Fedora 10,然后是11)(并且非常享受它-就像是重新发现计算机,要学习的东西很多)。 我已将用户添加到/ etc / sudoers文件的最后一行,如下所示,以便在执行sudo命令时不会询问我的密码: MyUserName ALL =(全部)NOPASSWD:全部 现在,每次我使用sudo执行命令时,它都会在实际执行任务之前暂停一段明显的时间(约10秒)。为什么会这样,我该如何解决?我在Fedora 11 x86 64上运行Sudo 1.7.1版。

12
如何在ssh上使用sudo运行任意复杂的命令?
我有一个只能以我的用户名(myuser)登录的系统,但是我需要以其他用户(scriptuser)的身份运行命令。到目前为止,我已经提出了以下命令来运行所需的命令: ssh -tq myuser@hostname "sudo -u scriptuser bash -c \"ls -al\"" 但是,如果在尝试运行更复杂的命令时(例如,[[ -d "/tmp/Some directory" ]] && rm -rf "/tmp/Some directory"我很快遇到引用问题)。我不确定如何将示例复杂命令传递给bash -c,当\"已经确定了我要传递的命令的边界时(因此我不知道如何引用/ tmp / Some目录,其中包括空格。 有没有一种通用的解决方案,无论引用多么复杂/疯狂,我都可以传递任何命令,还是我已经达到了某种限制?还有其他可能甚至更易读的解决方案吗?
80 ssh  bash  scripting  sudo 


7
记录管理员在生产服务器上运行的所有命令
管理员通过个人用户名登录服务器,然后运行sudo -i成为root 用户是公司的公司政策。在运行时sudo -i,sudo将创建一个名为的环境变量SUDO_USER,其中包含原始用户的用户名。 是否可以使用类似于以下语法的方式在syslog中记录所有命令: ${TIME/DATE STAMP}: [${REAL_USER}|${SUDO_USER}]: ${CMD} 一个示例条目为: Sat Jan 19 22:28:46 CST 2013: [root|ksoviero]: yum install random-pkg 显然,它不必完全是上面的语法,它只需要包含最少的实际用户(例如root),sudo用户(例如ksoviero)和运行的完整命令(例如yum)。安装random-pkg)。 我已经尝试过了snoopy,但是没有包含SUDO_USER变量。
70 centos  bash  logging  sudo 

9
在云服务器上设置无密码的sudo可以吗?
我喜欢通过按键访问服务器的想法,所以我没有在我的密码,我每次都输入ssh到一个盒子里,我甚至锁住我的用户(不root)密码(passwd -l username),所以它不可能登录无需钥匙。 但是,如果要求我输入sudo命令密码,则所有这些操作都会中断。因此,我很想设置无密码sudo以使事情与无密码登录保持一致。 但是,我一直感到自己可能会以某种意想不到的方式适得其反,这似乎有点不安全。这样的设置有什么警告吗?您是否建议/不建议对服务器上的用户帐户执行此操作? 澄清说明 我在这里谈论的是sudo在交互式用户会话中的使用,而不是用于服务或管理脚本 我正在谈论使用云服务器(因此我对计算机没有物理本地访问权限,只能远程登录) 我知道sudo有一个超时,在此期间我不必重新输入密码。但是我的演唱会并不是真的在浪费额外的时间来实际输入密码。但我的想法是根本不必处理密码,因为我认为: 如果我必须记住它,它很可能太短而无法安全或重复使用 如果我为远程帐户生成了一个长而唯一的密码,则必须将其存储在某个地方(本地密码管理器程序或云服务),并在每次使用时都获取它sudo。我希望我能避免这种情况。 因此,对于这个问题,我想更好地了解一种可能的配置相对于其他可能的配置所面临的风险,警告和折衷。 跟进1 所有答案都表明,无密码sudo是不安全的,因为如果我的个人用户帐户遭到破坏,它可以“轻松”地升级特权。我明白那个。但是另一方面,如果我使用密码,则密码会带来所有经典风险(太短或通用的字符串,在不同的服务之间重复等等)。但是我猜想,如果我禁用密码身份验证,/etc/ssh/sshd_config以便仍然需要登录密钥,那么我可以使用更简单的密码sudo吗?那是有效的策略吗? 跟进2 如果我也有一个root通过ssh 登录的密钥,如果有人可以访问我的计算机并窃取我的密钥(尽管它们仍然受到操作系统的密钥环密码的保护!),他们也可能会直接访问该root帐户。 ,绕过sudo路径。那么访问该root帐户应该有什么政策?


4
Linux:为远程系统管理员设置
我时不时地收到奇怪的请求,要求在Linux系统上提供远程支持,故障排除和/或性能调整。 大型公司通常已经建立了完善的程序来提供对供应商/供应商的远程访问,而我只需要遵守这些程序即可。(不论结果好坏。) 另一方面,小公司和个人总是向我求教,以指导他们建立我所需要做的事情。通常,它们的服务器直接连接到Internet,现有的安全措施包括Linux发行版的默认设置。 几乎总是需要root级访问权限,而为我设置访问权限的人都不是专家级的sysadmin。我不希望他们的root密码,而且我也很确定我的行为不会是恶意的,但是我应该给什么合理的简单指示: 设置一个帐户并安全地交换凭证 设置root(sudo)访问 限制访问我的帐户 提供审核跟踪 (是的,我知道并且总是警告那些客户,一旦我具有管理员访问权限,则隐藏任何恶意操作都是微不足道的,但是让我们假设我没有什么可隐藏的,可以积极参与创建审计跟踪。) 以下步骤可以改善什么? 我当前的指令集: 设置一个帐户并安全地交换凭证 我提供了一个密码哈希,并要求我使用该加密密码来设置我的帐户,因此我们无需传输明文密码,我将是唯一知道该密码的人,并且我们不会以可预测的弱密码。 sudo useradd -p '$1$********' hbruijn 我提供了一个公共密钥SSH(每个客户端特定的密钥对),并要求他们使用该密钥设置我的帐户: sudo su - hbruijn mkdir -p ~/.ssh chmod 0700 ~/.ssh echo 'from="10.80.0.0/14,192.168.1.2" ssh-rsa AAAAB3NzaC1y***...***== hbruijn@serverfault' >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys 设置root(sudo)访问 我要求客户端使用sudo sudoedit或使用他们最喜欢的编辑器为我设置sudo并附加到/etc/sudoers: hbruijn ALL=(ALL) ALL 限制访问我的帐户 通常,客户端仍然允许基于密码的登录,我要求他们添加以下两行以/etc/ssh/sshd_config至少将我的帐户仅限制为SSH密钥: Match user hbruijn …
51 linux  security  sudo  root  audit 


10
如何在Linux上使用xauth通过其他用户运行图形应用程序
假设我的普通用户帐户是user1。我为一些x应用程序创建了单独的user2,我希望以user1身份登录到x应用程序,但是这样做会阻止它对user1数据进行读/写访问。我以为我可以使用xauth和sudo / su从user1到user2来运行此应用程序。我该怎么做呢?我不确定如何配置xauth。
48 linux  sudo 

8
su无法在Mac OS X上运行?
我得到这个: Macintosh:8.4 TAmoyal$ su Password: su: Sorry Macintosh:8.4 TAmoyal$ 我输入了用于sudo的密码。为什么不起作用? 谢谢!
41 mac-osx  sudo 

1
sudo su-postgres和sudo -u postgres有什么区别?
缺省情况下,PostgreSQL用户在unix套接字上对等身份验证,其中unix用户必须与PostgreSQL用户相同。因此人们经常使用su或sudo成为postgres超级用户。 我经常看到人们使用如下构造: sudo su - postgres 而不是 sudo -u postgres -i 我想知道为什么。同样,我已经看到: sudo su - postgres -c psql 代替 sudo -u postgres psql 如果您使用的是没有的旧平台,那么如果没有领先版本,sudo这些su版本将具有一定的意义sudo。但是,为什么您要在不到先行的UNIX或Linux上使用sudo su呢?
35 postgresql  shell  sudo  su 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.