Centos 让PHP编译ant发行版';It’很安全

Centos 让PHP编译ant发行版';It’很安全,centos,security,compilation,apache,Centos,Security,Compilation,Apache,在CentOS上,我想授予apache用户在其不拥有的home dir上“ant release”的权限,我该怎么做?我使用的ant发行版是android SDK的一部分-我有一个dir/home/myuser/android_project/和ant relase从那里运行良好,但我想给apache运行它所需的权限,这样我就可以像以前一样运行它 <?php shell_exec('/home/myuser/android_project/ant release') ?>. 。

在CentOS上,我想授予apache用户在其不拥有的home dir上“ant release”的权限,我该怎么做?我使用的
ant发行版是android SDK的一部分-我有一个dir
/home/myuser/android_project/
ant relase
从那里运行良好,但我想给
apache
运行它所需的权限,这样我就可以像以前一样运行它

<?php  shell_exec('/home/myuser/android_project/ant release') ?>. 
抓住你了

还有一个问题,因为我签署了
ant发行版
,我希望在一个文件中处理密码,php可以神奇地“签署”ant发行版

现在


注:致
丁克先生
:保持冷静-我知道这可能会与论坛主题“警察”相抵触,但我经过深思熟虑后认为这是一个
unix问题
。i、 我知道PHP是如何执行shell_的,我不需要编程帮助。我知道如何手动运行
ant release
,因此我不需要安装帮助:我想在linux(CentOS服务器)内将这两个完全不同的手动“东西”缝合在一起,因此我相信100%这是一个unix问题

,如您所述,您需要授予apache用户执行
/home/myuser/android\u project/ant
文件的权限

tl;dr:运行以下命令(请注意,这可能不是世界上最安全的命令):


如果您对为什么这可能会解决您的问题感兴趣,请继续阅读下面的内容

首先,你需要获得更多的信息。 运行以下命令:

ls -l /home/myuser/android_project/ant
ls-l
命令将为您提供指定文件的读、写和执行权限以及所有权信息。第一列包含权限信息。第3列表示拥有用户,第4列表示拥有组

例如:

$ ls -l /etc/passwd
-rw-r--r--. 1 root root 2177 Aug 26 21:23 /etc/passwd
       ^^^
        |----------- All Users & Groups
    ^^^
     |-------------- Specified Group Owner
^^^
 |------------------ Specified User Owner
这可以解释为拥有
/etc/passwd
文件的用户根和组根。 权限以3个
rwx
字符组的形式读取。第一个组用于拥有用户,第二个组用于拥有组,第三个组用于系统中的所有其他用户。本例中的权限意味着根用户可以读取和写入文件,根组可以读取,其他所有人都可以读取

现在,每组权限可以表示为八进制数字:

--- == 0
--x == 1
-w- == 2
-wx == 3
r-- == 4
r-x == 5
rw- == 6
rwx == 7
您现在有足够的信息来理解上面的
chmod 777
命令工作的原因。基本上,您已经向系统中的每个人授予了读取、写入和执行该ant文件的权限


理想情况下,您只需提供允许apache执行该文件所需的最低权限,我将留给读者一个练习。

您认为这不是离题的理由是错误的。如果您在windows系统上运行代码,也会出现同样的问题。这是一个编程问题。不应该被移动,因为它与体系结构相关:好悲伤-作为一个旁白,不,这根本不会出现在windows上!Windows没有这样的操作权限!我认为你误解了这个问题,你不应该推荐777烫发。我认为你误解了这个问题,我清楚地提出了一个关于chmod 777的免责声明。我真的不想777,我想成为一个合适的成员群体
--- == 0
--x == 1
-w- == 2
-wx == 3
r-- == 4
r-x == 5
rw- == 6
rwx == 7