我试图从最初从控制台login的用户获得root访问权限。 我有另一种方法的根访问。 用户没有用户名,所以sudo不是一个选项。 运行su返回错误“su:不能设置组:操作不允许”。 su似乎有正确的权限。 什么可能导致这个? $ whoami whoami: cannot find name for user ID 1009500000 $ stat /bin/su File: '/bin/su' Size: 32096 Blocks: 64 IO Block: 4096 regular file Device: fd40h/64832d Inode: 133566 Links: 1 Access: (4755/-rwsr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2017-06-01 12:15:40.000000000 +0100 Modify: 2017-06-01 12:15:40.000000000 +0100 Change: […]
这有点难以描述。 我会尝试列出他们: 背景: SUSE企业版10 sp3 我正在使用SecureCRT进行远程login。 有两个用户应用程序和Oracle。 我不在服务器机房,我无法重新启动本地或远程,因为我无法访问根目录。 问题: 我可以telnet和login为应用程序或oracle,但如果我尝试根,它只是挂起后,我inputroot和提示input密码之前 。 我作为应用程序(甲骨文)login后,我可以成功甲骨文(应用程序)。 但是当我尝试“su root”时,在我键入命令和 passwd之后它会挂起。 所以总共有两个问题。 有人知道吗?
一些背景:我有一台安装了SLES 11的机器。 我正在运行一个bash脚本,它的一行是/bin/su $USER -c SOME_CMD 。 不幸的是,无论USER=root还是其他用户, -c后面的SOME_CMD都会失败。 但是,如果/bin/su $USER -c部分被省略,那么一切运行顺利。 而且,我已经在RHEL5上运行了这个脚本,它工作的很好。 无论如何,我的问题是为什么会发生? 如果这是一个权限问题,那么为什么当我以root身份运行这个/bin/su而没有得到不同的结果呢? PS道歉,如果别人之前问过,我已经做了很多的search,没有得到任何满足。 编辑好吧,我知道了,我希望如此。 而不是运行/bin/su我用/user/bin/sudo -u $MY_USER_1 MY_ENV_VAR="/home/user1" SOME_CMD 。 不过,我不明白为什么我必须使用sudo 。 我习惯使用su作为不同的用户来运行一个命令,而不用担心权限问题,但是我猜这在SLES 11 / SuSE上是不行的。 无论如何,感谢所有想要或帮助我的人。
我正在configuration连接到UPS的服务器。 UPS通过apcupsdpipe理,当停电和情况恢复正常时,会调用一些脚本。 服务器正在运行由用户vboxuser启动的多个虚拟机。 我想在停电时正常停止虚拟机,并且可以运行vboxmanage 。 我如何从apcupsd调用的脚本中将命令作为vboxuser运行?
/ etc / sudoers中这两个选项有什么区别: user1 mymachine =(user2)ALL user1 mymachine = / bin / su – user2 对于选项1,我会做以下user1: sudo -u user2 -i 对于选项2,我将以user1的身份执行以下操作(此选项还要求“ Defaults!authenticate ”,以便它不要求input密码): sudo su – user2 两种方法有没有优点/缺点? 最终结果似乎是一样的。
我们有多个分配给它们的/ bin / bash shell用户帐户。 另一个应用程序“su”这些帐户用于控制其服务状态和监控目的。 这些用户的密码没有设置。 我应该做些什么来保护这些用户? 请参阅文档https://unix.stackexchange.com/questions/113754/allow-user1-to-su-user2-without-password 如果用户帐户可以使用pam模块login,它是不是一个潜在的利用窗口。 即没有sudo和没有密码。 关于这个还能做什么?
我正在使用Ubuntu服务器12.04。 如果用户只是其自己的组的成员,为什么他仍然可以做SOME_OTHER_USER? 我能阻止这个吗?
我试图通过将以下行添加到我的/ etc / sudoers文件的底部,来防止以www用户身份运行节点的命令提示input密码: gituser ALL=(ALL) NOPASSWD: /usr/bin/sudo -u web-user NODE_ENV=production /path/to/node app.js 我也尝试把这个命令放在一个shell脚本中,然后运行它,但没有任何的喜悦: gituser ALL=(root) NOPASSWD: /usr/local/sbin/startnode 有没有人有什么我在做什么错误的想法? 最终,我将作为一个暴发户服务运行,所以命令将是“sudo服务runnode停止/启动”,并从一个git钩子触发,但我想原则将是相同的。 FYI,sudoers文件的全部内容: Defaults env_reset Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" # Defaults root ALL=(ALL:ALL) ALL %admin ALL=(ALL) ALL %sudo ALL=(ALL) ALL gituser ALL=(ALL) NOPASSWD: /usr/bin/sudo -u web-user NODE_ENV=production /path/to/node app.js gituser ALL=(root) NOPASSWD: /usr/local/sbin/startnode
刚刚login到服务器并使用screen -R重新连接到现有屏幕。 我已经完全忘记了我曾经使用sudo su -之前没有退出,所以当我通过屏幕重新连接时,我以root的身份回来了! 有没有办法在屏幕上阻止sudo su ,或者以某种方式阻止通过屏幕重新连接到root? 或者我只需要在使用屏幕时非常注意使用sudo su ?
我知道这已经在这里问过了,但是我对这个答案并不满意,不知道是否可以重振和劫持一个老问题。 我们有在LDAP服务器上validation用户的工作站。 但是,本地root用户可以使用任何LDAP用户而不需要密码。 从我的angular度来看,这听起来像是一个巨大的安全问题,我希望在服务器级别可以避免。 我可以想象下面的情况下,用户可以模仿另一个,不知道如何防止它: UserA具有有限的权限,但可以使用其LDAP密码login到公司工作站。 他们可以cat /etc/ldap.conf找出LDAP服务器的地址, ifconfig可以查看自己的IP地址。 (这只是一个如何获得LDAP地址的例子,我不认为这通常是一个秘密,隐晦不难解决) UserA拿出自己的个人笔记本电脑,configurationauthentication和networking接口,以匹配公司工作站,并将networking电缆从工作站插入到他们的笔记本电脑,引导和login作为本地根(这是他的笔记本电脑,所以他有本地根) 作为root用户,他们在LDAP上可能拥有或不具有更多权限(不需要密码!)的任何其他用户,但至less可以模拟该用户而没有任何问题。 在这里的其他答案说,这是正常的UNIX行为,但它听起来真的不安全。 例如,模拟的用户可以在NFS挂载上扮演那个用户的angular色吗? (笔记本电脑甚至有相同的IP地址)。 我知道他们将无法在远程机器上作为根用户,但他们仍然可以是任何他们想要的用户! 必须有一种方法来防止在LDAP服务器级别的权利? 或者也许在NFS服务器级别? 是否有一部分的过程,我错过了,实际上阻止了这一点? 谢谢!!