《鸟哥的linux私房菜》学习笔记(第六章 Linux的文件权限与目录配置)

第六章 Linux的文件权限与目录配置

  • LInux文件属性
    执行ls -al后,出现类似的结果:
    -rw-r–r-- 1 root root 42304 Sep 4 18:26 install.log
    含义为:《鸟哥的linux私房菜》学习笔记(第六章 Linux的文件权限与目录配置)
    其中文件类型有:
    d:目录(常用)
    -:文件(常用)
    l:连接文件
    b:设备文件里面的可供存储的接口设备
    c:设备文件里面的串行端口设备,例如键盘、鼠标(一次性读取设备)
    其中文件大小默认单位为B
  • 改变文件属性和权限
    (1)chgrp 改变文件所属用户组
    chown [-R] 用户组名 文件或者目录
    chgrp users install.log 修改install文件组为users
    要被改变的组名必须在/etc/group文件中存在才可以
    -R 递归的持续变更,即连同子目录下的所有文件、目录都更新成为这个用户组之意,常用在更改某一目录内所有文件的情况
    (2)chown 改变文件所有者
    chown [-R] 账号名称 文件或者目录
    chown 账号名称:用户组 文件或者目录 //同时修改文件的所有者和所属用户组
    chown 账号名称.用户组 文件或者目录 //用.连接账号名称与用户组也可以同时修改文件的所有者和所属用户组,但是不常用,常用:
    chown .用户组 文件或者目录 //修改文件的所属用户组
    被改变的用户名必须在/etc/passwd文件中存在才可以
    (3)chmod 改变权限
    (3.1)数字类型改变文件权限
    各个权限对应分数为:
    r:4
    w:2
    x:1
    如设置test.php权限为-rwxrwx—,分数则是:
    owner=rwx=4+2+1=7
    group=rwx=4+2+1=7
    others=—=0+0+0=0
    因此命令为chmod 770 test.php
    (3.2)符号类型改变文件权限
    |命令 | 用户名、组 |符号 |文件或目录 |
    |–|--|–|--|
    | chmod |u、g、o、a |+(加入)、-(除去)、=(设置)|文件或者目录|
    其中ugoa的含义是:
    u:user
    g:group
    o:others
    a:all
    例:设置test.php文件权限为-rwxr-xr-x
    chmod u=rwx,go=rx test.php
    例:不知道文件原先的属性,只是想增加test.php每个人均可写入的权限
    chmod a+w test.php
    例:去掉所有人的可执行权限
    chmod a-x test.php
  • 目录与文件的权限意义
    (1)文件
    r:可读
    w:可编辑、新增、修改,不可以删除该文件
    x:可执行,区别于window利用拓展名判断是否可以被执行,linux通过判断是否有x权限,是否可以被系统执行
    (2)目录
    r:表示具有读取目录结构列表的权限,可以查询该目录下的文件名数据,所以可以使用ls这个命令
    w:表示具有更改改目录结构列表的权限,对应着以下权限
    ①新建新的文件与目录
    ②删除已经存在的文件与目录(不论该文件的权限为何)
    ③将已存在的文件或目录进行重命名
    ④转移该目录内的文件、目录位置
    x:目录不可以被执行,目录的x表示的是用户能否进入该目录成为工作目录的用途,所以可以使用cd命令。如果你在某目录下不具有x的权限,那么你就无法切换到该目录下,也无法执行该目录下的任何命令,即使你具有该目录的r权限。
    要开放目录给任何人浏览时,应该至少给予r及x的权限,但w权限不可随便给
  • 目录树
    《鸟哥的linux私房菜》学习笔记(第六章 Linux的文件权限与目录配置)
    (1)
    根目录(/)是整个系统中最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的,同时根目录也与开机、还原、系统修复等操作有关。
    根目录所在的分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好。如此不但性能较好,根目录所在的文件系统也较不容易发生问题。
    (2)
    根目录与开机有关,开机过程中仅有根目录会被挂载,其他分区则是在开机完成之后才会持续进行挂载的行为。因此根目录下与开机过程有关的目录不能与根目录放到不同的分区,这些目录有:
    /etc:配置文件
    /bin:重要执行文件
    /dev:所需要的设备文件
    /lib:执行文件所需的函数库与内核所需的模块
    /sbin:重要的系统执行文件
    (3)绝对路径与相对路径
    绝对路径:由根目录(/)开始写起的文件名或者目录名称
    相对路径:相对于目前路径的文件名写法
    ./ 当前目录
    …/上一层目录
    (3)Linux文件名限制
    单一文件或目录的最大容许文件名为255个字符;包含完整路径名称及目录(/)的完整文件名为4096个字符