user1想要su到user2(都是非root用户)。 当user1运行su – user2 ,系统会按照预期提示inputuser2的密码,但密码永远不会被接受。 user1@host $ su – user2 (switch from user1 to user2) Password: su: incorrect password user1@host $ user2是在/etc/passwd指定的具有真实shell的有效的未locking帐户。 您可以SSH作为user2到该框( ssh user2@host )。 此外,在我的testing中,user1和user2具有相同的密码,所以这不是密码不匹配的问题(当user1需要时提供user2的密码,反之亦然)。 奇怪的是, pam_tally2递增user2的login失败,但没有任何logging到/var/log/secure 。 对于这个问题,在/var/log中也没有任何东西被logging到其他地方。 我可以通过添加这条线给sudoers来解决这个问题: user1 ALL=(ALL) /bin/su …和sudo运行命令: user1@host $ sudo su – user2 不过,我想知道为什么我不能跑su。 这是一个RHEL5盒子,它自动应用了Aqueduct的STIG,所以我不确定在/etc/pam.d会有什么改变。
在更大的努力背景下,我遇到了一个令我莫名其妙的问题。 在Mac OS X 10.6.7上,使用系统提供的Apache和PHP,我创build了一个简单的HelloWorld.php脚本,毫不奇怪,只是打印Hello, World! 没有别的。 如果我执行它作为php helloworld.php工作正常。 但是,如果我: sudo su su _www php helloworld.php 它什么都不放出来; php几乎立即返回,没有执行的迹象。 我在哪里脱轨(更重要的是,我应该收集哪些诊断信息来帮助推断问题)? 没有骰子。 bash-3.2$ls -alF foo.php -rw-r–r– 1 _www _www 37 Apr 4 21:08 foo.php bash-3.2$ ls -dalF . drwxr-xr-x 56 _www _www 1904 Apr 4 21:08 ./ bash-3.2$ whoami bbum bash-3.2$ php foo.php Hello, World! bash-3.2$ sudo […]
我想授予轮组(其他系统pipe理员)su访问的用户而不需要密码。 我知道如何在linux下使用pam,但是现在的问题是FreeBSD。 我不熟悉FreeBSD的PAM子系统的语法。 我应该在/etc/pam.d/suinput什么,而不是默认值: auth sufficient pam_rootok.so no_warn auth sufficient pam_self.so no_warn auth requisite pam_group.so no_warn group=wheel root_only fail_safe ruser auth include system # account account include system # session session required pam_permit.so
使用CentOs,我想运行一个脚本作为用户“培训”作为系统服务。 我使用daemontools监视进程,这需要一个以root身份运行的启动脚本,并且没有tty标准。 下面我给我五个不同的尝试都失败了。 : #!/bin/bash exec >> /var/log/training_service.log 2>&1 setuidgid training training_command 这最后一行不够好,因为对于training_command,我们需要设置trqaining用户的环境。 : su – training -c 'training_command' 这看起来像( 运行一个shell脚本作为一个不同的用户 ),但提供了“ standard in must be tty ”作为苏确保tty存在可能接受密码。 我知道我可以通过修改/ etc / sudoers来使这个消失(a la https://superuser.com/questions/119376/bash-su-script-giving-an-error-standard-in-must-bea-a- tty ),但我不情愿,不确定的后果。 : sudo -u training -i bash -c 'source $HOME/.bashrc; training_command' 一个相同的主题的变化:' sudo: sorry, you must have a tty to […]
有什么更好的select:使用su切换到root或enabeling sudo? 如果没有使用sudo,入侵者就需要知道被允许ssh的用户的密码(或者密钥),然后还需要知道root密码。 用sudo,非特权用户的密码就足够了。 我build立了一个新的web服务器(Debian 8.2),并且想知道通过SSH安全连接到它的最佳实践是什么,并且仍然很容易使用它。 到目前为止,我已经在SSH上禁用了PermitRootLogin并切换了端口。 另外iptables是在阻止我不需要的一切。 现在我必须login一个非特权用户,然后切换 su root 但是,以root身份工作并不是我所听到的最好的事情……所以我想到了授予我无特权的用户sudo权利。 然后再入侵者只需要知道一个密码,因为sudo是要求当前用户密码而不是根密码。 因此,我计划通过在SSH中禁用PermitRootLogin来使攻击者更难以继续工作。 所以:su根或sudo?
可能重复: sudo -i和sudo su有什么区别 – 我知道这两个命令都会导致获得root-shell。 但是有一些差异。 在一些服务器上,例如提示符是不同的: nomike@testerver:~> sudo -i root@testerver:~> logout nomike@testerver:~> sudo su – [root@testerver ~]# 所以我想“.bashrc”“.bash_profile”和“.profile”的处理方式有些不同。 有人调用一个loginshell而另一个不是?
我使用的是drupal和Aegir。 Aegir自动化许多网站创build任务。 Aegir拥有Apache的控制权,我是root用户,我想重启Apache服务器,但是我想代表Aegirs。 不幸的是我不知道Aegir的密码,所以基本上我想知道如何作为另一个用户sudo的东西。
无法将用户切换到postgres。 postgres用户的ulimit设置设置了合理的限制。 我们没有达到最大。 / var / log / messages中没有错误。 错误: BETA -bash-4.2# sudo su – postgres su: /bin/bash: Resource temporarily unavailable 设置: BETA -bash-4.2# ps -auxww | grep -i postgr | wc -l 503 BETA -bash-4.2# lsof | grep -i postgr | wc -l 35225 BETA -bash-4.2# Ulimit postgres进程。 BETA -bash-4.2# cat /proc/26230/limits Limit Soft […]
我试图通过SSH检查服务器的BIOS版本,这是一个需要root权限的命令: ssh remote-server su -c dmidecode 但是这当然会失败,错误: 标准中必须是一个tty 我该如何做这项工作? 我不能使用sudo,当我尝试以root @ remote-server身份login时,它不会接受用于“su”命令的密码。 我正在使用RedHat Enterprise Linux 4。
我想能够su到另一个用户运行脚本与权限减less。 不幸的是我必须每次input密码,有没有办法创build一个用户,而不需要密码提示?