Articles of sudo

使用sudo(-u)-g更改主组

我想用sudo -i而不是sudo -i来在AIX系统上运行命令。 这样我可以确保像umask这样的环境设置将是我正在运行该命令的用户的环境设置。 当进程以这种方式开始生成文件时,这些文件显然将其所有者/组设置为运行该进程的用户的所有者/组。 Sudo可以select指定用户(-u)和组(-g) 。 但是,当我尝试使用这些参数运行命令时,出现以下错误: [johndoe@catchyname ~] # sudo -u 'foo' -g 'bar' ls Sorry, user johndoe is not allowed to execute '/usr/bin/ls' as foo:bar on catchyname. 用户被允许在/etc/sudoers文件中的这个系统上运行任何东西。 我已经浏览了sudo文档,并且search了很多网页,但还没有得到这个工作。 我错过什么或做错了什么?

Ubuntu:可以在“admin”组中以用户身份login,但不能sudo

我最近不得不将Ubuntu服务器移到新的networking上。 在我再次迷上之后,我发现我不能再sudo了,尽pipe我以前能够做到。 这是否意味着一个networking问题正在干扰sudo(也许通过PAM或什么?)我不知道Linux安全的来龙去脉。 谢谢! 汤姆

SSH伪terminal

我试图通过SSH连接检索SVN转储 ssh user@host "sudo -u $repo_owner svnadmin dump $repo_path" 根据我在过去15分钟内是否已经使用sudo ,我有或没有input密码。 问题是当我不得不input我的密码时,它会在terminal显示出来。 所以,我尝试了类似的东西 ssh -t #… 打开一个伪terminal。 现在,我有问题,我没有收到提示input密码。 该脚本停止并等待用户input,而不告诉用户他应该input他的密码。 有没有办法确定脚本调用的程序是否等待用户input? 更重要的是,在其他程序想要从标准input读取某些内容之前,我可以向标准输出或标准错误输出写入内容。 我的意思是在实际读取完成之前调用某种钩子方法。 – t6d

Debianpipe理密码问题

几分钟前我安装了Debian Lenny,而且我遇到了一个很大的问题。 我成功创build了一个用户。 我可以用GDMlogin。 现在一切正常。 但是,当我尝试运行根terminal时,运行Synaptic,它会提示input一个root密码。 当我进入它…没有任何反应。 窗口消失,没有任何反应。 当我尝试: sudo aptitude install package_name 当我input密码时,我得到: user is not in the sudoers file. This incident will be reported. 当我提供正确的根密码后,我得到“授权失败”。 任何想法如何解决?

你如何判断用户是否以root身份login到Mac OS X?

如果我sudo / bin / bash,那么who和w命令在Mac OS X上不会显示rootlogin。如何启用它?

拒绝ssh访问用户,但在一些服务器上允许无密钥ssh

Redhat 4/5: 好的,这是交易。 我需要locking我的服务器,并只允许用户通过他们的LDAP帐户login。 有一个每个人都使用的应用程序帐户,但我宁愿让他们使用他们的LDAP帐户,然后sudo到应用程序的用户。 我得到了那部分,但是,有我们的应用程序组件,需要应用程序用户有无密钥的SSH。 允许一些用户直接loginW /应用程序用户而其他人需要LDAP是没有意义的。 在我的sshd_config文件中,我将设置 DenyUser appuser

在sudoers中设置默认值

我正在尝试以适当的方式为pdebuild使用设置Defaults 。 我已经定义了命令别名: Cmnd_Alias PBUILDER = /usr/sbin/pbuilder, /usr/bin/pdebuild, /usr/bin/debuild-pbuilder 我试图设置只为那个默认值: Defaults env_reset Defaults!PBUILDER env_keep="DIST ARCH" 这与env_reset一行中的语法错误失败。 当我将Defaults!PBUILDER行注释掉时,它工作得很好。 我应该在这里更新以使其工作? 附加信息: $ sudo -V Sudo version 1.6.9p17 手册页上有关于“Defaults!…”选项的信息,所以理论上应该是可以的。 整个文件是: Cmnd_Alias PBUILDER = /usr/sbin/pbuilder, /usr/bin/pdebuild, /usr/bin/debuild-pbuilder Defaults env_reset Defaults!PBUILDER env_keep="DIST ARCH" root ALL=(ALL) ALL stan ALL=(ALL) PBUILDER %engineering ALL=(ALL) ALL

sudo与-u通过ssh -t在crontab中

我正在尝试创build一个使用sshlogin到远程服务器并以另一个用户身份运行脚本的cron作业。 我尝试: * * * * * source $HOME/.keychain/$HOST-sh && sudo -u $USER $PATH/$SCRIPT 但是这不起作用,因为没有为ssh指定-t选项。 cron作业需要获取keychain文件才能在没有密码的情况下工作,但是我不确定在这个实例中为哪里包括-sh选项。

如何让普通用户在FreeBSD上安装`pkg_add`包?

如何让普通用户在FreeBSD上安装pkg_add ? pkg_add -r命令与使用sudo普通用户失败。 下载成功,但安装失败,并显示此错误消息。 等同的命令用rootlogin成功执行。 %sudo pkg_add -r apache22 Password: Error: Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.1-release/Latest/apache22.tbz: Syntax error, command unrecognized pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.1-release/Latest/apache22.tbz' by URL % 假设我的用户名为eonil 。 我补充说 eonil ALL=(ALL) ALL 代码如下 root ALL=(ALL) ALL 通过visudo ,并将用户添加到wheel组 pw usermod eonil -G wheel 。 但用户无法使用sudo pkg_add -r apache22安装软件包。 (不只是apache,任何包)。

我如何利用suexec来允许php脚本运行一个linux命令?

我想在浏览器中执行一个php脚本,然后执行一个单一的linux命令并返回它的输出。 当我第一次决定testing这个时,我创build了这个: <?php $command = "ls"; exec($command, $output); print_r($output); ?> 这工作得很好。 但是当我改变命令我真的想运行的命令: $command = "/etc/init.d/mycontrollerd status /etc/mycontrollerconfig"; 它给了我这个输出: Array ( [0] => You need root privileges to run this script ) 我被build议使用suexec。 然而,在检查手册页后,我甚至无法确定从哪里开始。 当然,我不想造成安全风险。 那么有人可以给我配方让我的命令运行并返回它的输出? 顺便说一句,这是一个运行Ubuntu的基本LAMP框。 编辑:@womlbe下面build议sudo suexec。 安全仍然是至高无上的,我怎么能这样做呢?