1.linux文件
如上,第一列 表示用户权限(root,群组,其他)
第二列表示目录子目录总数(硬连接)上面为三,表示其子目录内部有两个文件
第三列表示文件的所有者
第四列表示所有者所在的群组
第五列表示这个目录的大小
第六列表示时间
第七列表示目录或是文件名
2.面临问题
在页面调用php命令,来执行bash命令。会发现无法正确的创建目录或是修改文件。
如上图可看到文件夹所有者都是root,但是页面调用php命令,其执行的所有者为php_exec_shell,创建文件的默认读写权限为drwxr-xr-x 即只有root有读写权限,其他都没有读写权限
所以应当改变文件夹的读写权限。 ------>>chmod指令
chmod命令参数:
1>mode :权限设定字串 格式:[ugoa...][[+-=][rwxX]...][...]
u:档案拥有者 g:拥有者所在的群组 o:其他外人 a:所有人,这三者都是
+:增加权限 -:取消权限 =:唯一设定权限
r:读 w:写 x:可执行 X:只有该档案是个子目录或者该档案被设定过为可执行 -:未赋予权限
2>-c:档案权限修改过,才显示更改动作
3>-f:档案无法被改动,也不要显示错误讯息
4>-v显示权限变更的详细资料
5>-R:对目录下的所有档案、子目录进行权限变更
6>实例:文件都可读 chmod ugo+r filename //chmod a+r filename 只有拥有者执行:chmod u+x filename
7>数字表示权限 r:4 w:2 x:1 -:0 chmod a=rwx filename ==== chmod 777 filename
若用chmod 4755 filename可使程序有root权限
解决问题:chmod ugo+w * 执行该命令,使所有文件都被所有执行者都可以写读(看下图第一列),这时在页面链接执行php命令所有者为php_exec_shell,这时生成的文件都如第三行所示。
3 新问题
在使用过程中,发现原来其他方式创建的文件,如第一行所示,还是不能被页面链接执行php命令来修改,这时需要修改其所有者,使用命令:chown :修改文件或文件夹的属主和属组
chown -R php_exec_shell dir 表示dir目录及子目录的所有者为php_exec_shell 效果如第二行所示。这时可以使用页面链接执行php命令来修改。