PHP:chmod文件夹权限

PHP:chmod文件夹权限,php,mkdir,Php,Mkdir,我有几个关于PHP上chmod/mkdir函数的简短问题。我一直在阅读,对chmod感到困惑 chmod(“…”,0700)上的第二个数字(7)是什么意思 了解只有所有者才能对文件做任何事情,但什么 这到底是谁?我是说是PHP脚本还是我输入的 把文件和它的位置连在一起?它是怎么识别的 “所有者” 例如,如果我以这种方式创建文件夹: mkdir('user_files/'.$logged_username'/',0700) 然后我把一些文件放在$logged_username文件夹中,这些文件是否

我有几个关于PHP上chmod/mkdir函数的简短问题。我一直在阅读,对chmod感到困惑

  • chmod(“…”,0700)上的第二个数字(7)是什么意思 了解只有所有者才能对文件做任何事情,但什么 这到底是谁?我是说是PHP脚本还是我输入的 把文件和它的位置连在一起?它是怎么识别的 “所有者”
  • 例如,如果我以这种方式创建文件夹:

    mkdir('user_files/'.$logged_username'/',0700)

  • 然后我把一些文件放在$logged_username文件夹中,这些文件是否可以被任何人删除


    希望这些问题有意义……谢谢你的时间。

    下面是对这个数字的简单解释

    八进制(0-7)值是通过将每种权限类型的每个数字的值相加来计算的

    范例

    Owner/User (rwx) = 4+2+1 = 7
    Group(rwx) = 4+2+1 = 7
    World (rx) = 4+1 = 5
    chmode mode = 0755
    
    在哪里

    r = read
    w = write
    x = execution
    
    在您的特定情况下,所有者是文件的所有者,您可以使用chown命令进行更改

  • 操作系统中的每个文件都有所有者。通常,所有者是创建该文件的人。但是,稍后可以更改文件的所有权(例如,在Unix中通过chown命令)。在您问题的上下文中,“0700”表示所有者拥有所有权利。此所有者是指操作系统中的合法所有者,而不是通过浏览器访问URL的人

  • 如果以这种方式创建文件夹,则该文件夹的所有者将是在web服务器中运行特定PHP脚本的用户。通常情况下,这是运行web服务器的同一用户(但并不总是-例如,当PHP通过FPM等在单独用户下运行时),这意味着在同一用户下运行的任何后续PHP程序都将能够完全访问这些文件


  • 用户是指操作系统的用户。例如,php通常通过web服务器apache的进程运行,而apache的进程又作为用户“www”(不同操作系统)运行。如果您有linux服务器,您可以使用
    ls-l
    检查权限和所有者。是一个不友好但相当完整的资源。chmod是八进制完成的。第一个零表示它是一个八进制数。
    7
    是(bin)
    111
    的十进制表示,这意味着所有者拥有读、写和执行权限。(r=1,wr=1,x=1)。如果您希望允许组读取文件,则r=1 w=0和x=0表示这将是
    4
    (0740)