• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 在 centOS 上设置目录文件权限

    上传目录权限设置

    对于对外开放的网站和系统,文件权限控制是一个很重要的事情,对于文件和文件夹权限原则是最小权限够用就行,不相关的文件只需要只读权限即可。目录权限设置很重要:可以有效防范黑客上传木马文件。

    • chmod -R 644 upload,php文件就没有权限访问了。
    • chmod -R 755 upload,php文件的权限就高了。

    所以就需要分开设置目录权限和文件权限。实现方法:递归修改权限方法是通过find命令,根据文件参数查找到对应的类型之后执行指定权限。upload,为你需要修改的目录的路径。

    修改文件权限:
    find upload -type f -exec chmod 644 {} \;
    
    修改目录权限:
    find upload -type d -exec chmod 755 {} \;
    

    设置完成后,再通过命令,将目录和文件的所有者改为root

    chown -R root:root upload
    


    目录权限

    权限角色对应:

    • 第 0 位,文件类型,-为文件,d为目录。
    • 第 1 - 3 位,所有者(owner)对该文件的权限。
    • 第 4 - 6 位,所属组(group)对该文件的权限。
    • 第 7 - 9 位,其他用户(other)对该文件的权限。

    权限字母含义:

    • r(Read ,读取,权限值为4):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
    • w(Write,写入,权限值为2):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
    • x(Execute,执行,权限值为1):对文件而言,具有执行文件的权限;对目录来说,该用户有进入目录的权限。

    权限数字表示:

    • 当数字为7时,用rwx表示:4(r)+ 2(w)+ 1(x)= 7。
    • 当数字为6时,用rw-表示:4(r)+ 2(w)+ 0(x)= 6。无执行权限。
    • 当数字为5时,用r-x表示:4(r)+ 0(w)+ 1(x)= 5。无写入权限。
    • 当数字为4时,用r--表示:4(r)+ 0(w)+ 0(x)= 4。无执行写入权限。
    • 普通文件,默认-rw-r--r--644,保证其他用户可以读取文件内容。
    • 目录文件,默认drwxr-xr-x755,保证属主用户对目录进行编辑,保证其他用户可以读取目录中的信息,可以进入到目录中


    /usr、/var、/opt 区别

    • /usr:属于系统级别的目录。/usr/local/bin/usr/local/sbin是被加入到 PATH 环境变量中的,它中的程序命令,可以在 Linix 启动的时候,自动启动、执行。/usr/src:系统级的源码目录。/usr/local/src:用户级的源码目录。
    • /usr/local:是用户级的程序目录,用户自己安装的软件和用户自己编译的软件,默认会安装到这个目录下。相当于在 windows 下的programe files这个目录。安装到这个目录的程序,需要使用软连接到/usr/local/bin/usr/local/sbin,才能实现开机自启动。当此程序不需要时,直接rm -rf掉即可。
    • /opt:是用户级的程序目录。用户自己安装的软件,可以安装到这个目录下。相当于在 windows 操作系统的D:/Software。opt 有可选的意思。安装到这个目录的程序,需要使用软连接到/usr/local/bin/usr/local/sbin,才能实现开机自启动。是一些大型软件的安装目录,或者是一些服务程序的安装目录。当此程序不需要时,直接rm -rf掉即可。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。


    /tmp 与/var/tmp 区别

    Linux 发行版(Ubuntu、Centos、Redhat)中,有/var/tmp/tmp两个目录,/var下,放置系统执行过程中经常变化的文件,保存文件 720 小时(30天)。

    /tmp,包含系统和用户创建的临时文件。当系统重新启动时,这个目录下的文件都将被删除。每隔 1 天执行一次临时目录清理操作,把超过 240 小时(10天),没有任何变动的目录文件全部删除。清理规则,主要取决于/usr/lib/tmpfiles.d/tmp.conf文件的设定。

    手动清理其下文件,不能简单的rm -rf /tmp/*,这样会导致正在使用的临时文件被删除,出现一系列问题。正确的做法,使用tmpwatch清理:

    若没安装过,首次使用需要安装 tmpwatch
    dnf -y install tmpwatch
    

    删除 24 小时内,没使用过的临时文件:

    tmpwatch 24 /tmp/