导航:首页 > 编程语言 > linuxphp写入权限

linuxphp写入权限

发布时间:2025-03-27 13:16:43

‘壹’ php调用linux命令更改文件权限

我们的服务器是这样做的:
php一般是以apache用户身份去执行的,把apache加入到存储你文件的父文件夹属组里去,然后改该父文件夹权限为775,这样属组成员就有写的权限,而apache属于这个组就可以改写该目录下所有文件的权限,当然,属组最好不要是root,你可以为该文件夹改个其它普通用户组。

改apache/php的运行用户方法不安全,不建议使用。

‘贰’ Unix/Linux中如何直接执行PHP脚本文件

使用Linux系统搭建完整的PHP环境后,用户常会遇到执行PHP脚本需要使用php myscript.php的方式,感觉较为繁琐。实际上,Linux系统支持直接执行PHP脚本文件。具体操作步骤如下:

首先,编写PHP脚本文件。例如,创建名为test_run.php的文件,内容如下:

Here is some plain text.

Here is the file name:

《?php

echo $argv[0], PHP_EOL;



脚本功能简单,输出当前脚本文件的名称。

接着,通过命令执行脚本:

yuanyu@ymac:phpworkspace $ php test_run.php hello

输出结果为:

Here is some plain text.

Here is the file name:

test_run.php

yuanyu@ymac:phpworkspace $

为脚本文件增加头信息及设置权限:

在文件首行添加php命令全路径,前缀为#!:

#!/usr/bin/php

保持脚本内容不变:

《?php

echo $argv[0], PHP_EOL;



执行赋予可执行权限:

yuanyu@ymac:phpworkspace $ chmod u+x 。/test_run.php

即可直接执行脚本:

yuanyu@ymac:phpworkspace $ 。/test_run.php

输出结果为:

Here is some plain text.

Here is the file name:

/test_run.php

yuanyu@ymac:phpworkspace $

此方法在PHP官方文档中亦有提及,请参考:

http://php.net/manual/en/features.commandline.usage.php

文档中关于脚本在命令行运行的示例,请参照:

“Example #2 Script intended to be run from command line (script.php)”

‘叁’ linux如何设置php创建文件的默认权限

首先,php的执行者你要知道,看进程明确执行者是哪个账户,可以使用mkdir(dir, 0777)设置操作权限

‘肆’ Linux下使用PHP实现提升权限技巧phplinux提权

随着互联网的发展和IT技术的日新月异,Linux系统作为一种常用的服务器操作系统,也变得越来越重要。PHP作为一种强大的脚本语言,在Linux系统下也得到了广泛的应用。在Linux系统中,管理员或开发人员需要通过提升用户权限来完成各种操作,如编辑系统文件或者执行某些需要root权限才能运行的脚本等。本文将阐述在Linux系统下使用PHP实现提升权限技巧。
一、前置知识
在讨论如何使用PHP实现提升权限之前,需要了解一些Linux系统的基本知识,如用户、用户组、文件权限等。在Linux系统中,每个文件或目录都有建立它的用户和用户组,并且每个用户都属于某一个用户组,用户和用户组都有各自的权限标记,如读、写、执行等,以及文件的属性,例如所有者、所属组等等。在使用PHP实现提升权限的过程中,我们需要了解这些基本知识,以便正确设置文件和目录的权限。
二、提升权限的方法
1.使用sudo
在Linux系统中,管理员可以使用sudo命令临时提升自己的权限,以执行需要root权限才能运行的操作。如果要在PHP中使用此方法,可以使用PHP的exec函数执行sudo命令。下面是一个使用sudo命令执行某个脚本的例子:
“`
$cmd = “sudo /usr/local/in/test.sh”;
exec($cmd, $output);
print_r($output);
?>
“`
在这个例子中,我们使用sudo命令执行了一个名为test.sh的脚本,该脚本需要root权限才能执行。执行完毕后,输出结果会被存储在$output数组中,然后使用print_r函数输出。
2.修改文件权限
在Linux系统中,管理员可以通过修改文件或目录的权限来提升用户的权限。如果要在PHP中使用此方法,可以使用PHP的chmod函数修改文件或目录的权限。下面是一个修改文件权限的例子:
“`
$file = “/var/www/html/test.php”;
chmod($file, 0755);
?>
“`
在这个例子中,我们将文件/var/www/html/test.php的权限修改为755,其中数字755表示所有者拥有读、写、执行权限,组用户和其他用户拥有读、执行权限。通过修改权限,我们可以让PHP脚本获得更高的执行权限,以便执行某些需要root权限才能运行的操作。
3.使用setuid
在Linux系统中,我们可以为某些可执行文件设置setuid标记,这样所有者拥有执行该文件的权限。如果要在PHP中使用此方法,我们可以设置PHP脚本的所有者为root,并且为PHP可执行文件设置setuid标记。下面是一个使用setuid的例子:
“`
$cmd = “/usr/local/php/php-cgi”;
posix_setuid(0);
chmod($cmd, 04750);
exec($cmd, $output);
print_r($output);
?>
“`
在这个例子中,我们使用PHP的posix_setuid函数将PHP脚本的所有者设置为root,在执行完毕后将PHP可执行文件/usr/local/php/php-cgi的权限设置为4750,其中数字4750表示将setuid标记设置为4,保留原有所有者用户组的读权限,并且为所有组用户和其他用户设置执行权限。执行完毕后,输出结果会被存储在$output数组中,然后使用print_r函数输出。
三、安全问题
在使用PHP实现提升权限的过程中,我们需要注意安全问题,以保证系统的安全性。我们需要使用sudo或setuid时,只将需要的操作对应的程序或文件提升到root权限,而不是整个程序或文件,这样可以控制提升权限的范围,从而减少滥用权限的风险。我们需要谨慎选择在PHP中执行的命令或操作,并为PHP脚本设置足够的安全保护,避免被恶意攻击所利用。我们需要定期审核提升权限的记录,并严格控制提升权限的文件和目录的权限,避免被非法访问或篡改。
在Linux系统下,使用PHP实现提升权限是一种十分实用的技巧,可以让管理员或开发人员获得更高的权限来完成各种操作。在使用此技巧时,我们需要了解Linux系统的基本知识,正确设置文件和目录的权限,并注意安全问题,以保证系统的稳定性和安全性。
相关问题拓展阅读:
linux下php文件设置成什么权限安全又不影响运行?linux下php文件设置成什么权限安全又不影响运行?
建一个用户
这个用户来茄销亏运行网站程序apache
nginx之类
你的PHP文件设颤神置成
chown
你建立的用户
然后读写权限
你看斗李着办
关于php linux 提权的介绍到此就结束了.

‘伍’ 为啥linux下web目录文件权限为777 但是php无法写入

这个是要添加可执行权限么 试试,chmod a+x /(文件所在目录) 这个是给所有身份添加可执行权限的!

PHP 的mkdir命令受apache账号权限限制,只能创建低于其权限的目录
但chmod不受其限制

代码:
[php] view plain
function makeDir($dir, $mode = 0777) {
if (!$dir) return false;
if(!file_exists($dir)) {
mkdir($dir,$mode,true);
return chmod($dir,$mode);
} else {
return true;
}
}
你好好看看这个http://www.linuxprobe.com/chapter-05.html是不是自己有那个地方弄错了 ,希望可以帮助你啊

‘陆’ 为啥linux下web目录文件权限为777 但是php无法写入

虚拟机安装linux系统,所有权限都是777的情况下任然无法访问,这个问题卡了我两天,最后尝试了以下这个方法,终于解决了。
解决:关闭SELinux
关闭SELinux的方法:
1. 临时关闭: 使用命令setenforce 0
2. 永久关闭: 修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。

相关信息:
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。
对访问的控制彻底化MAC(Mandatory Access Control)
对于所有的文件,目录,端口这类的资源的访问,都可以是基于策略设定的,这些策略是由管理员定制的、一般用户是没有权限更改的。
TE (Type Enforcement)– 对于进程只赋予最小的权限
Te概念在 SELinux里非常的重要。它的特点是对所有的文件都赋予一个叫type的文件类型标签,对于所有的进程也赋予各自的一个叫 domain的 标签。Domain标签能够执行的操作也是由access vector在策略里定好的。
domain迁移 –防止权限升级
对于用户只赋予最小的权限

‘柒’ Linux 网站项目发布要做哪些配置

发布服务器:
SFTP用户名:
SFTP密码:
TelNet用户名:
TelNet密码:
MySql 5.0及以上版本
Php 5.0及以上版本
Apache 2.0及以上版本
主站绑定域名:www.v-ec.com
默认首页:index.html
设置php解析htm和html扩展名
博客绑定域名:www.w3cgroup.com
默认首页:index.php
网站目录结构:
v-ec(主站)
upload: 写权限
w3cgroup(博客)
upload: 写权限
Apache、Php及MySql设置
httpd.conf配置:
Linux路径:/usr/local/apache/conf/httpd.conf
#忽略大小写
LoadMole speling_mole moles/mod_speling.so
CheckSpelling On
#设置默认首页
DirectoryIndex index.htm index.html index.php
#设置php能解析的文件
AddType application/x-httpd-php .php
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
#设置多域名绑定,请将192.168.11.11更改为真实服务器IP
NameVirtualHost 192.168.11.11:80
#绑定主域名www.v-ec.com,请将192.168.11.11更改为真实服务器IP
VirtualHost 192.168.11.11:80
DocumentRoot /www/docs/v-ec
ServerName www.v-ec.com
ServerAlias www.v-ec.com
# ErrorLog logs/www.v-ec.com-error_log
# CustomLog logs/www.v-ec.com-access_log common
/VirtualHost
#绑定博客域名www.w3cgroup.com,请将192.168.11.11更改为真实服务器IP
VirtualHost 192.168.11.11:80
# ServerAdmin [email protected]
DocumentRoot /www/docs/w3cgroup
ServerName www.w3cgroup.com
ServerAlias www.w3cgroup.com
# ErrorLog logs/www.w3cgroup.com-error_log
# CustomLog logs/www.w3cgroup.com-access_log common
/VirtualHost
php.ini设置:
Linux路径:/usr/local/Zend/etc/php.ini
;设置开始短标签模式
short_open_tag = On
;开启显示错误,调试状态设置为On,正式上线设置为Off
display_errors = Off
;设置错误报告方式
error_reporting = E_ALL ~E_NOTICE
;启用gd库
extension=php_gd2.dll
;启用mysql
extension=php_mysql.dll
;设置时区
date.timezone = PRC
my.cnf(windows系统下名为my.ini)设置:
Linux路径:/etc/my.cnf
;默认字符
default-character-set=utf8
;表名、字段名的不区分大小写
lower_case_table_names = 1
;允许同时连接的数量
max_connections = 1024
;关闭连接前的等待时间
wait_timeout = 7200

阅读全文

与linuxphp写入权限相关的资料

热点内容
怎么给app改大图标 浏览:934
单片机rs什么意思 浏览:934
都是安卓系统为什么有些手机好用 浏览:887
python模糊关联 浏览:123
单片机不接地也工作了 浏览:187
苹果电脑系统怎么更新app 浏览:638
如何在服务器中改成创造模式 浏览:493
200人办公室用什么服务器 浏览:391
南方cass窗口切换命令 浏览:735
android延时启动 浏览:972
云服务器可以多少人同时登录 浏览:749
importjavaio 浏览:372
pdf的属性修改 浏览:651
sql数据库命令大全 浏览:24
人脸识别虹软算法 浏览:743
如何在局域网建立ftp连接服务器 浏览:189
编译对软件开发影响 浏览:443
回朔算法01背包cw 浏览:789
阿里php服务器ip地址 浏览:483
价值管理pdf 浏览:632