我知道上面的行允许<user>运行 sudo 命令而无需输入密码。但语法的实际含义是什么?如果您可以链接到一篇文章那就太好了。谢谢
所以我试图在我所有的记忆中搜索一个特定的字符串,但我不知道如何访问我的记忆内容。
我尝试运行它,但收到一条错误消息:
~$ sudo cat /dev/mem | strings | grep findme
[sudo] password for user:
cat: /dev/mem: Permission denied
Run Code Online (Sandbox Code Playgroud)
我正在使用 2.6.28-15 通用内核运行 64 位 Ubuntu 9.04。根据我的理解,这是某种内置保护。如果 sudo 不够,我该如何解决这个问题?
可能重复:
使用 sudo scp 到远程服务器
作为 sudo 用户,从一个盒子到另一个盒子执行 SCP 的最佳方法是什么。有两个服务器
服务器A
10.152.2.10
/home/oracle/export/files.txt
用户:部署
服务器B
10.152.2.11
/家/甲骨文/进口/
用户:部署
Sudo 用户:/usr/local/bin/tester
我只想将文件从服务器 A 复制到服务器 B 作为 sudo 用户...
为了做到这一点,首先我通常在目标服务器上以部署用户身份登录,然后在没有密码的情况下切换为 sudo 用户。
在那个 SCP 复制文件之后,这是我执行此活动的正常方式......
为了自动配对,我编写了脚本
#!/bin/sh
ssh deploy@lnx120
sudo /usr/local/bin/tester "./tester/deploy.sh"
Run Code Online (Sandbox Code Playgroud)
我已经为部署用户生成了私钥,所以它允许我在没有密码的情况下以部署用户的身份登录。在执行 sudo 命令之后,它会将用户切换到测试人员...
之后什么也没有发生......我的意思是脚本没有被执行......有没有办法以不同的方式完成这个......
我有一台运行 Ubuntu 9.10 Server 的计算机,我使用以下命令将自己添加到一个新组:
sudo usermod -G my_group me
Run Code Online (Sandbox Code Playgroud)
我了解到,命令删除我从所有的团体我是在(如sudo组),并增加了我唯一的 my_group。
问题:
sudo小组里唯一的一个,现在没有人了su并尝试与我的帐户(我安装操作系统时设置的帐户)相同的密码时,它不被接受我搞砸了我的电脑吗?我需要花一个小时重新做所有事情吗?或者有没有办法恢复?
如果我有以下 sudoers 条目
usera ALL=(userb) NOPASSWD: /home/userc/bin/executable-file
usera ALL=(userb) NOPASSWD: /home/userc/bin/link-to-another-executable-file
Run Code Online (Sandbox Code Playgroud)
当我以 usera 身份登录并尝试运行以下命令时,它可以工作
sudo -u userb /home/userc/bin/executable-file
Run Code Online (Sandbox Code Playgroud)
但不是下面的那个。
sudo -u userb /home/userc/bin/link-to-another-executable-file
Sorry, user usera is not allowed to execute '/home/userc/bin/link-to-another-executable-file' as userb on hostname.
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
好的,这是我的问题 - 请不要因为我没有安全感而对我大喊大叫!:) 这是在我的主机上。我是唯一一个使用它的人,所以它相当安全,但我有一个非常复杂的密码,很难一遍又一遍地输入。我使用控制台来移动文件和执行任意命令很多,我切换终端,所以 sudo 记住控制台是不够的(而且我仍然必须至少输入一次我糟糕的密码!)在过去我在 sudoers 中使用了 NOPASSWD 技巧,但我决定更安全。除了不允许密码访问某些应用程序之外,还有什么妥协吗?(这仍然可能不安全)可以阻止恶意软件和远程登录 sudo rm -rf /-ing me,但在我的终端中我可以愉快地输入?我可以在每个终端都有这个吗?所以只是随机命令不会通过?我试过以 sudo 身份运行终端仿真,但这使我成为 root。
通常,对于某些命令,例如apt-get install xxx,我忘记先添加sudo,然后需要重新键入它。我想要的是在这种情况下,我只需输入一个简单的命令,例如resudo. 它将 sudo 我的最后一个命令sudo apt-get install xxx。在 bash 中可能吗?
可能的重复:
更安全的无密码 sudo?
我正在尝试使用“VMWare VCenter Converter Standalone”进行物理到虚拟。Convert Machine 窗口提供了一个选项来提供源 ip、用户名、密码和操作系统系列。它尝试使用所有这些信息查询远程机器,但随后显示消息。
无法查询实时 Linux 源计算机。请确保在通过 SSH 以“用户名”身份登录源计算机时无需输入密码即可执行 sudo
如何配置“用户名”帐户以在没有密码的情况下执行 sudo?(和错误......仍然睡得安稳:P)
所以问题来了。我们已经设置了 /etc/sudoers 文件,以便用户可以从 /bin 运行命令,例如“cat”或“mkdir”,而无需输入密码。问题是“su”命令也在 /bin 中,因此如果他们输入“sudo su”,则无需密码即可获得 root 访问权限。这是 /etc/sudoers 文件:
Defaults targetpw
%users ALL=(ALL) ALL
root ALL=(ALL) ALL
support ALL=(ALL) NOPASSWD: /sbin/, /bin/, /opt/, /etc/init.d/, /elo/
support ALL=(ALL) NOPASSWD: /usr/bin/mysql
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以拒绝 /bin/su 而仍然允许其余的 /bin 命令?
我有个问题:
我的 mac 上没有 root 密码。我只有一个管理员帐户,可以使用sudo. 现在,我也想将我的普通用户添加到/etc/sudoers文件中。由于它不允许我写入该文件(甚至使用 sudo 写入),我这样做了:
sudo chmod u+w /etc/sudoers
Run Code Online (Sandbox Code Playgroud)
那奏效了。但从那以后我不能sudo再在我的系统上执行任何命令。它抱怨/etc/sudoers模式错误:
$ sudo touch /etc/sudoers
sudo: /etc/sudoers is mode 0740, should be 0440
Segmentation fault
Run Code Online (Sandbox Code Playgroud)
这听起来像是一个坏笑话,因为现在我什至无法将模式改回0440:
$ sudo chmod 0440 /etc/sudoers
sudo: /etc/sudoers is mode 0740, should be 0440
Segmentation fault
Run Code Online (Sandbox Code Playgroud)
有什么办法可以解决这种情况吗?我需要恢复我的sudo能力。