我正在编写一个 Java 应用程序,我需要在其中执行命令行并返回结果,但是当我执行命令时,它要求输入 sudo 密码。到目前为止,我尝试过:
$ sudo -s
$ vim /etc/sudoers
# User privilege specification
root ALL=(ALL:ALL) NOPASSWD: ALL
javauser ALL=(ALL:ALL) NOPASSWD: ALL
:wq
$ 4 -r--r----- 1 root root 615 2011-10-26 09:23 sudoers
Run Code Online (Sandbox Code Playgroud)
一旦我执行命令,它再次询问“[javauser] javauser 的密码:”。但我已经提到了 noPASSWD。
whoami
返回alex
,我将它添加到sudoers
文件中
# User privilege specification
root ALL=(ALL:ALL) ALL
alex ALL=NOPASSWD: ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL …
Run Code Online (Sandbox Code Playgroud) sudo、kdesudo 和 gksudo 之间有什么区别,我应该什么时候使用它们?我知道 sudo 允许我同时运行 cli 和 gui 函数,但我在网站上看到其他人使用 kdesudo 和 gksudo 来运行 gui 函数。
我目前已启动到恢复模式,因为我从管理员中删除了我的唯一用户:/
当我跑步时adduser oadams admin
,我得到gpasswd: cannot lock /etc/group; try again later.
就其价值而言,ls /etc/ | grep "lock"
仅返回mtab.fuselock
,因此无需删除任何内容。
如何让我的用户回到管理员组?
在常规 Ubuntu (Unity/Gnome) 中,我使用gksudo
root 权限运行 GUI 程序。我现在正在试用 Kubuntu(或 KDE)——我用什么?
我正在使用 ssh 并尝试将系统从 Ubuntu 10.04 升级到 12.04。连接有问题,所以我必须再次登录才能完成升级。运行后
sudo dpkg --configure -a
Run Code Online (Sandbox Code Playgroud)
这是必需的,似乎系统不再将我识别为 sudoer。如果我以 sudo 身份运行任何命令,我会得到
sudo: unknown uid xxxxx: who are you?
Run Code Online (Sandbox Code Playgroud)
(xxxxx当然是实际的id)并且同样运行whoami
将返回
whoami: cannot find name for user ID xxxxx
Run Code Online (Sandbox Code Playgroud)
此外,当我尝试ssh
获得权限时,我的权限被拒绝(尽管我仍然在不同的会话中登录机器)。
我有一个服务器设置,我让我信任的人sudo
拥有它。但是,我也想要他们使用sudo
.
我知道我可以Defaults mail_always
在任何人尝试使用的任何时候接收电子邮件sudo
,但是我有一个 OwnCloud 的定时任务,它每 30 分钟运行一次,并且sudo -u www-data
在它的开头需要一个。显然,我不想每 30 分钟收到一封电子邮件。
我怎样才能总是只收到 1 个特定用户的电子邮件?
我正在尝试将一个文件添加到我的/etc/apt/sources.list.d
文件夹中,但由于某种原因,尽管使用了 sudo,但它仍然表示权限被拒绝。这是我试图运行的代码。
$ sudo cat >> /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)
我也试过简单地使用 gedit 但这也不起作用。
我正在阅读sudo -i/-s
此处之间的差异。使用命令后shopt
注意到 all( sudo su/sudo -i/sudo -s
)$SHELL
提供相同的结果,但shopt
命令结果不同。
那么,登录和非登录shell是如何定义的呢?
从哪里shopt
得到结果?
为什么它与 无关$SHELL
?
须藤须
givinv@87-109:~$ sudo su
root@87-109:/home/givinv#
root@87-109:/home/givinv#
root@87-109:/home/givinv# shopt -q login_shell && echo 'Login shell' || echo 'No login shell'
No login shell
root@87-109:/home/givinv# echo $SHELL
/bin/bash
root@87-109:/home/givinv#
root@87-109:/home/givinv# exit
givinv@87-109:~$
Run Code Online (Sandbox Code Playgroud)
须藤 -i
givinv@87-109:~$ sudo -i
root@87-109:~#
root@87-109:~# shopt -q login_shell && echo 'Login shell' || echo 'No login shell'
Login shell
root@87-109:~# echo $SHELL
/bin/bash …
Run Code Online (Sandbox Code Playgroud) 当我无法安装软件时出现了问题,所以我真正地询问 ./ 因为我不知道它并且输出“未找到命令”让我对命令的实际内容感到困惑。
我想安装文件truecrypt-7.2-setup-x86
。
说明说使用命令:
sudo ./truecrypt-7.2-setup-x86
Run Code Online (Sandbox Code Playgroud)
但输出是:
sudo: ./truecrypt-7.2-setup-x86: command not found
Run Code Online (Sandbox Code Playgroud)
更新:为了完整起见,在测试中我在文件夹中,但尚未使文件可执行(chmod + x)。
/home/bijay/.cache/pip/http
当前用户不拥有目录“ ”或其父目录,并且缓存已被禁用。请检查该目录的权限和所有者。如果使用 sudo 执行 pip,您可能需要 sudo 的-H
标志。
但是软件安装好了。我只想知道上面的错误是什么意思。
例如:-
sudo ×10
command-line ×3
16.04 ×1
bash ×1
email ×1
executable ×1
gksudo ×1
kde ×1
kubuntu ×1
paths ×1
permissions ×1
pip ×1
tor ×1
users ×1
visudo ×1