可以configurationsudo来请求root密码而不是用户密码吗? 服务器configuration有一个root用户和一个简单的用户(让我们简单地称之为简单),用于部署服务器上托pipe的所有应用程序。 用户简单不在sudoers列表中 $ sudo command 将不起作用,因为简单的密码不能授予他root权限。 偶尔我需要运行一些需要通过Capistrano(ruby部署工具)进行root访问的脚本,编写脚本以root身份login,运行脚本然后注销非常困难。 我想能够执行以下语句 $ sudo god restart tasks-group 并有Capistrano提示我inputroot密码。 目前,Capistrano提示部署用户密码,显然这是非pipe理员帐户。
我们将使用Solaris 11创build一个新的服务器构build模型,我想了解更多关于sudo 。 我对Ubuntu Linux如何工作的介绍非常有限,但是我们只是将它用于工作站。 我想知道在Solaris中是否有潜力。 我知道某些用户可以被授予root访问权限,而无需提供root密码。 我喜欢这个。 我也看到它暗示了某种types的匹配器可以应用于只允许某些访问。 这当然是有限的使用,但它可以 在用户能够破坏系统之前添加一层工作,也许延迟破坏直到他/她的访问被撤销。 (这不应该成为一个问题,但是从现在开始,如果存在错误的信任,那么采取措施是很好的) 防止错误,例如意外closures错误的机器。 简化一些stream程,例如用户可能被要求更新DNS服务器,在这种情况下,他们可以访问特定的区域文件,以及运行svcadm refresh dns-server权限。 我的问题是 什么function适用于Solaris,而不是Linux或只是神话? 你有推荐阅读sudo材料吗? (因为它涉及到Solaris) 你会推荐我使用它,还是留在su – ?
背景:我使用的是Debian 7系统,我已经使用libnss-ldap , libpam-krb5和nscd与LDAP + Kerberos系统集成。 我修改了sudoers ,允许LDAP组有权sudo并获得超级用户权限。 因此,我可以作为LDAP组login来pipe理机器。 这一切工作正常, sshlogin与LDAP用户很好地工作。 我只是在我的用户帐户Cosmic Ossifrage的主目录中试验一个.k5login文件。 在文件中,我列出了: [email protected] 这是一个有效的Kerberos身份。 SSH用户继续正确使用.k5login文件。 但是,在我的主目录中有这个.k5login文件, 我不再能够使用sudo -i获得超级用户权限。 这似乎没有任何意义,因为.k5login位于我的主目录中,而不是root目录,所以在我看来, root用户和sudo命令都不应受到任何限制。 sudoers文件。 但是,使用上面的.k5login文件, sudo -i和sudo su都不起作用,而之前是这样。 一旦.k5login文件被删除,这个function被恢复,我可以再次sudo 。 在日志文件/var/log/auth.log ,此时报告的许多错误消息中有一个来自sudo,指出: [pam:sudo] krb5_kuserok failed for user cosmic_ossifrage 我是否错过了.k5login应该做什么的定义中的基本内容? 这是预期的行为,如果是这样,为什么?
我正在尝试使用以下Ansible脚本(playbook的一部分)来通过systemd为EC2(微)实例上的rails应用程序运行独angular兽: — – name: restart unicorn command: psql -h {{ db_host }} -U {{ db_user }} -d {{ db }} -c "SELECT true FROM pg_tables WHERE tablename = 'order_cycles';" register: table_exists ignore_errors: yes sudo: yes sudo_user: "{{ unicorn_user }}" notify: restart unicorn step 2 #TODO make sure both of these things run as one handler. […]
我想执行一个应用程序(gnutls-cli)作为另一个用户并向它发送一个信号(SIGALRM)。 不幸的是,这是行不通的: sudo -u myuser gnutls-cli -p smtp imap.gmail.com –starttls & sudo -u myuser kill -ALRM $! gnutls-cli是sudo进程的一个subprocess,那就是我得到了如下进程树: \_ sudo -u myuser gnutls-cli -p smtp imap.gmail.com –starttls \_ gnutls-cli -p smtp imap.gmail.com –starttls 这意味着信号被发送到外部sudo进程。 显然这根本不起作用。 有没有办法让sudo直接执行subprocess或将信号转发给subprocess? 谢谢
在我们的环境中,我们不会将Linux框joinMicrosoft域。 不过我们确实设置了Kerberos。 这使我们可以使用我们的AD凭证login到框中,只要有一个同名的本地帐户即可。 但是,当我使用sudo它只接受我的本地凭据。 如何使用我的AD密码与sudo? 谢谢。
我们正在运行哈德森来监视几个shell作业。 问题是,哈德森运行所有的用户作为用户“哈德森”。 没关系,除了一些需要超级用户权限的特殊命令,比如“chown”和“apachectl”,我们有以下的sudoers文件:(visudo) Defaults:hudson !requiretty %hudson ALL = NOPASSWD: /usr/sbin/apachectl, /bin/chown 但是当我们想在我们的shell脚本中调用apachectl -k优雅的时候,这给了我们以下的错误: sudo: no tty present and no askpass program specified 有没有人有任何想法,我们如何解决这个问题?
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会有什么改变。
我正在使用freeIPA来定义RBAC,HBAC和sudo规则,以及一百个虚拟机的域的SELinux用户映射,我需要为几个团队授予不同级别的访问权限(开发人员,数据库pipe理员,系统pipe理员,pipe理……)。 目前,这些机器上的SELinux策略被设置为targeted ,我正在考虑删除unconfined_u SELinux用户以使这些系统在strict策略下运行的可能性。 为了做到这一点,其中一个要求是让最终用户了解他/她已经从unconfined_u降级到staff_u 。 问题在于sudo与SELinux用户映射的交互方式。 一些事实: 如果你想使用一个受限制的SELinux用户,并且你还想使用sudo ,那么你需要使用staff_u ,因为这是可以访问SETUID可执行文件的SELinux用户。 当用户login系统时,他/她被分配一个SELinux用户映射。 即使在SELinux用户可以运行su ( unconfined_u )或sudo ( unconfined_u , staff_u )的情况下,映射也不会改变。 用于sudo的SELinux Spec目前包含用于以定义的types和roles运行命令的工具,但是缺less指定user的可能性。 进一步的参考可以在这里find。 参与这个部署的机器都是freeIPA客户端,他们的sudo策略是由freeIPApipe理的,但是他们也有一个puppetpipe理的,定制的/etc/sudoers文件,在freeIPA失败的情况下作为备用文件提供。 我第一次尝试解决这个问题涉及到一个包含所需规则的策略模块,以允许staff_u访问未修改的sudorules 。 这种方法已被certificate是错误的,因为政策可以无限制地增长,最终你所做的是在政策上打出一个漏洞。 所以到目前为止,我处理这些事实的方式是重写sudorules以显式地包含对runcon的调用以切换到相应的SELinux用户,因此现在需要运行一个典型的开发人员,例如: $ sudo -u jboss runcon -u sysadm_u jboss_cli.sh 这有一个缺点,就是不得不修改所有现有的sudorules并迫使用户改变通常运行的东西的方式。 所以问题是: 有一种方法可以在Runas_Spec定义中明确定义SELinux用户吗? 如果不能通过sudoers ,是否可以定义或绑定一个sudorule到sudorule中的SELinux用户映射? 考虑这种情况: # ipa sudorule-show services_4_operators_3 Rule name: services_4_operators_3 Description: Operator Level 3 access […]
RHEL6在root的crontab中有: * 21 * * * /root/script.sh 在script.sh中有一行: /usr/bin/sudo -u jira bash -c 'cd /opt/jira/bin; ./stop-jira.sh' && echo "Jira Shut Down" >> /root/debuglog /usr/bin/sudo -u jira bash -c 'cd /opt/jira/bin; ./stop-jira.sh' && echo "Jira Shut Down" >> /root/debuglog 该命令在普通shell中执行,但在从cron运行时不执行。 cron进程正常工作,脚本的其余部分正确执行,只是sudo部分不起作用。 我已经更新了脚本:换sudo su并在另一个脚本中testing,它似乎工作。 我会testing今晚的实际脚本,然后更新这个post。 sudo su改正了这个问题。 谢谢