Articles of sudo

通过PHP重新启动Apache的问题(即使使用sudo)

作为我们网站注册过程的一部分,VirtualHost指令通过PHP创build并添加到configuration文件中,在创build好每个VirtualHost之后,apache会优雅地重新启动,以便新的网站开始工作。 在(www)下运行的用户PHP被授予了在/ etc / sudoer中重新启动apache的权限,然后调用了名为exec('/ usr / local / bin / sudo / usr / local / sbin / apachectl graceful')的php脚本。 这完美的作品。 然而,我们正在转移到一个新的服务器,我无法得到这个新的设置工作 我添加了以下行到/ etc / sudoers apache ALL= NOPASSWD: /usr/sbin/apachectl graceful 然后我们的PHP脚本调用: exec('/usr/bin/sudo /usr/sbin/apachectl graceful'); 如果我为Apache用户启用shell访问并且login,我可以运行“sudo / usr / sbin / apachectl graceful”,这完全正常,但是从PHP调用它不起作用。 有没有人有任何想法? 谢谢。 在我们以前的FreeBSD服务器上,我们运行的是Apache 1.3.x和PHP 4.4 我们的新服务器是CentOS 5.4 w / Apache 2.2.x和PHP […]

如何通过ssh作为另一个用户通过sudo运行GUI应用程序

我有我的服务器上configuration了ssh,有时我必须运行一些graphics应用程序。 当我用-X选项连接时,它工作的很好。 我可以运行如google-chrome 。 但是,如果我通过sudo -i -u other_user更改用户,则无法以此用户身份运行GUI应用程序。 我认为这是与环境和DISPLAY,但不知道该怎么做。 我试图添加-E ,但是然后我收到错误信息,说我不能和-i一起使用它。 我怎样才能通过SSH运行GUI应用程序作为另一个用户?

su和bash之间的区别

当我访问networking服务器时,我使用命令sudo su来获得pipe理员权限。 最近我发现sudo bash是正确的命令,并且会允许我没有su权限。 sudo su和sudo bash什么区别? 我以为两者都是相同的。

在Ubuntu中,除了访问一个文件夹,我怎么能给两组用户提供root权限?

我刚刚创build了一个Ubuntu开发服务器,我想和两个团队合作。 我希望这些团队的人能够做他们想做的事情,但是我不希望他们能够看到来自其他团队的文件,我该怎么做? 如果我把它们放在sudo-ers文件中,他们可以从其他团队访问文件夹,没有sudo,他们抱怨说他们无法在机器上安装新的软件。 我怎么能给他们所需要的权力而又没有能力看到对方的文件呢?

在cloud-init脚本中运行sudo命令

我正在为一些服务器开发自动引导程序,因为我们正在使用Amazon EC2作为我们的基础架构。 我所做的是:运行连接到EC2的Fabric脚本,并初始化一个新实例,将用户数据放入一个cloud-init脚本。 该脚本检出包含Fabric任务的Mercurial项目,然后在签出后,脚本将找出正在运行的服务器的types并执行特定的本地Fabric任务。 我的问题是有些任务需要运行sudo命令,因为脚本是从cloud-init初始化的,所以发生sudo警告需要运行一个tty,我试图修改它来运行su –session-command="my commands to restart services" root ,它不(似乎不应该)根本无法工作。 那么,如何在这个启动脚本中运行sudo命令呢? 一些代码: cloud_init_script: #!/bin/sh su –session-command="\ source /etc/profile; \ cd /home/my_user; \ hg clone ssh://fabric_tasks_repo fabric; \ /usr/local/bin/fab -f /home/my_user/fabric/fabfile.py \`ec2-describe-tags –filter \"resource-type=instance\" –filter \"resource-id=$(ec2-metadata -i | cut -d ' ' -f2)\" –filter \"key=type\" | cut -f5\` > /home/my_user/fabric.log 2>&1" my_user & /usr/local/bin/fab行的技巧是运行一些ec2脚本来检查服务器所在的标记键“type”。

Sudo错误“你必须有一个tty运行sudo”

我试图运行以下命令: sudo git pull; 我得到以下错误: Command failed: sudo: sorry, you must have a tty to run sudo 该命令正在使用child_process和exec从一个nodejs服务器运行。 我看了其他问题和网站,试图解决这个错误,但没有解决scheme即编辑/etc/sudoers和使用ssh -t工作。 我没有root权限,因此在命令中使用了sudo。 我正在运行基本的Amazon EC2 Linux 64位实例。

如何通过修改/ etc / sudoers来允许git钩子使用sudo运行可执行文件

我正在使用git post-update挂钩通过sudo运行一个命令,而我得到这个错误: sudo: sorry, you must have a tty to run sudo 。 我相信我需要修改/etc/sudoers但我不知道该怎么做。 任何帮助,将不胜感激!

如何允许非特权的apache / PHP做一个根任务(CentOS)

我正在CentOS 6.3机器上为我们的客户build立一个个人保pipe箱。 服务器将通过SFTP和基于PHP的专有HTTP服务进行访问。 这台机器将在我们的DMZ,所以它必须是安全的。 正因为如此,我有apache作为非特权用户运行,强化了apache,操作系统,PHP的安全性,在iptables中应用了大量的过滤,并应用了一些限制性的TCP包装器。 现在你可能已经怀疑这个人来了,SELinux也将被强制执行。 我正在设置PAM来使用MySQL,以便我的Web应用程序用户可以login。 这些用户都将在一个只能使用SSH的SFTP组中,用户将被连接到他们自己的“home”文件夹。 为了让这个SELinux希望文件夹有user_home_t标签。 父目录也只能由root用户写入。 如果这些限制不符合,SELinux将立即终止SSHpipe道。 需要通过http和SFTP访问的文件,所以我做了一个SELinux模块,允许Apache使用user_home_dir_t标签search/ attr /读/写等目录到目录。 由于sftp用户存储在MySQL中,我想在创build用户时设置其家庭目录。 这是一个问题,因为Apache没有对/ home目录的写入权限,只能由root来写,因为它需要保持SELinux和OpenSSH的快乐。 基本上我需要让Apache只做一些作为root的任务,而且只能在/ home中。 所以我需要以某种方式暂时提升权限,或让root用户为Apache执行这些任务。 我需要使用root权限来执行以下操作。 mkdir /home/userdir/ mkdir /home/userdir/userdir chmod -R 0755 /home/userdir umask 011 /home/userdir/userdir chcon -R -t user_home_t /home/userdir chown -R user:sftp_admin /home/userdir/userdir chmod 2770 /home/userdir/userdir 这将为用户创build一个家,现在我有一个想法,可以工作,克朗。 这意味着服务器需要检查每分钟没有家的用户,然后在创build用户时,界面会平均冻结30秒,然后才能确认我不喜欢的帐户。 有没有人知道是否可以用sudoers做些事情? 或者任何其他的想法,欢迎… 谢谢你的时间!

试图使用sudo bash子shell:envvariables不起作用

我已经阅读了其他一些post,在sudo中执行多个命令似乎很麻烦。 Heredocs受限于不能执行stdin / stdout的redirect。 这里无论如何是我想运行的逻辑的一部分,编辑来包含一个特定的问题:在第一个命令中,DIR env var不会超过它的实例吗? 在子shell中有什么正确的方法来实现持久的envvariables? $ sudo — /bin/bash -c "(export DIR=/etc/sources.list.d; echo dir is $DIR; mkdir -p $DIR; touch $DIR/cloudera.list)" dir is mkdir: missing operand Try `mkdir –help' for more information.

你需要root权限才能完全备份服务器?

我有一个服务器上的帐户,我想自动备份到另一台服务器,我禁用rootlogin的安全性。 你需要root权限才能完全备份服务器?