{ Hello Magento 2 }

解决 Magento 2 应用问题,更注重深度挖掘。(ง •̀_•́)ง

0%

Linux 的文件权限

Linux 是一个多人多任务环境。 一般文件文件可存取的身份分为三个类别: owner/group/others 三个身份各有 read/write/execute 等权限 默认情况下,所有系统上的帐号与一般身份使用者,包括 root 都记录在 /etc/passwd 这个文件内。个人密码在 /etc/shadow 文件下。所有组名记录在 /etc/group 内。 ls -al 查看文件属性(包括隐藏文件和权限) 文件的权限 档案类型: 当为[ d ]则是目录; 当为[ - ]则是文件; 若是[ l ]则表示为连结档(link file); 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置); 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。 chgrp :改变文件所属群组 chown :改变文件拥有者 chmod :改变文件的权限, SUID, SGID, SBIT等等的特性 -R 可以递归 chown [-R] user:group 文件或目录 权限可以用数字或是符号进行权限变更 r:4 w:2 r:1 chmod 777 file 就是 - rwx rwx rwx chmod 修改权限

1
2
3
4
[root@www ~]# chmod  u=rwx,go=rx  .bashrc
# 注意喔!那个 u=rwx,go=rx 是连在一起的,中间并没有任何空格!
[root@www ~]# ls -al .bashrc
-rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc

权限对文件的重要性:

  • r (read):可读取此一文件的实际内容,如读取文本文件的文字内容等;
  • w (write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件);
  • x (execute):该文件具有可以被系统执行的权限。

关于执行,在Windows底下一个文件是否具有执行的能力是藉由『 扩展名 』来判断的, 例如:.exe, .bat, .com 等等,但是在 Linux 底下,我们的文件是否能被执行,则是藉由是否具有『x』这个权限来决定的!跟档名是没有绝对的关系的! 当你对一个文件具有w权限时,你可以具有写入/编辑/新增/修改文件的内容的权限, 但并不具备有删除该文件本身的权限!对于文件的rwx来说, 主要都是针对『文件的内容』而言,与文件档名的存在与否没有关系喔!因为文件记录的是实际的数据嘛! 权限对目录的重要性:

  • r (read contents in directory): 表示具有读取目录结构列表的权限,所以当你具有读取(r)一个目录的权限时,表示你可以查询该目录下的文件名数据。 所以你就可以利用 ls 这个指令将该目录的内容列表显示出来!
  • w (modify contents of directory): 这个可写入的权限对目录来说,是很了不起的! 因为他表示你具有异动该目录结构列表的权限,也就是底下这些权限:
    • 建立新的文件与目录;
    • 删除已经存在的文件与目录(不论该文件的权限为何!)
    • 将已存在的文件或目录进行更名;
    • 搬移该目录内的文件、目录位置。
  • x (access directory): 工作目录对于指令的执行是非常重要的,如果你在某目录下不具有x的权限, 那么你就无法切换到该目录下,也就无法执行该目录下的任何指令,即使你具有该目录的r的权限。

本文是阅读鸟哥的 Linux 私房菜—— 第六章关于文件权限部分的一个笔记,写的非常好。终于算是对服务器权限有个整理了。 附上参考链接 第六章、Linux 的文件权限与目录配置 有练习题,对于理解很有帮助。感谢鸟哥的贡献。