Linux的文件权限与目录配置

时间:2022-05-18 12:19:29

用户与用户组

  • 任何一个文件具有 User,Group及Others 3种身份的个别权限。用户组构成“家庭”享有各自的“房间”和“抽屉”,并且共有“客厅”。
  • 用户身份与用户组记录的文件
    默认情况下,所有账户(包含root)相关信息,均记录在/etc/passwd文件内,个人密码/etc/shadow文件下,所有组名/etc/group。

文件权限

文件属性查看:ls -alls -l

  • 第一列
    -rwxrwx—
    第一个字符代表这个文件是“目录[d]、文件[-]或链接文件[l]”;
    2~4字符,“文件所有者权限”,read,write,execute;
    5~7字符,“同用户组的权限”
    8~10字符,“其他非本用户组的权限”
  • 第二列:有多少文件名连接到此节点
  • 第三列:该文件所有者账号
  • 第四列:所属用户组
  • 第五列:容量大小
  • 第六列:创建或修改日期
  • 第七列:文件名(以“.”开头为隐藏文件)

修改文件属性与权限

  • 改变所属用户组
    chgrp -R **groupname dirname/filename**
    -R指的是进行递归(recursive)的持续更改。
  • 改变文件所有者
    chown -R username filename
    chown -R username:groupname filename

    实际上,直接 cp srcfile desfile就可以了,但是实际上复制后并没能改变复制文件的权限和属性,其他账户可能还是无法使用该文件,这时候就必须修改该文件的所有者与用户组了。
  • 改变权限
    chmod -R xyz filename/dirname
    xyz 表示修改的权限如[-rwxrwx—],还可以用数字表示,规则如下:
    r=4,w=2,x=1,-=0 rwx=7;
    -rwxrwx---=770

    另外,通过符号类型改变文件权限
    chmod [u,g,o,a] [+-=] [r,w,x] filename/dirname
    注:linux文件的执行与命名后缀无关,仅仅与x权限有关,对文件具有w权限并不能删除该文件。具有目录的w权限则可以任意处理目录下的所有文件,只有具有目录的x权限才能将该目录作为工作目录,否则不能使用cd命令。对于某个文件,该用户不具备任何权限,但是当该文件实在该用户的目录下时,由于其对其目录具有所有权,故可以删除该文件。

Linux 目录配置

配置标准:FHS

  • /(root的根目录):与开机系统有关
  • /usr(UNIX software resource):与软件安装/执行有关
  • /var(variable):与系统运作过程有关
  • /bin 放置在单用户模式下还能被操作的命令(什么是单用户模式?)
  • /dev 任何设备与接口设备都是以文件形式存在于这个目录中,通过访问这个目录下面的某个文件,就等于访问某个设备。
  • /etc 系统主要的配置文件几乎都放置在该目录。
    /etc/init.d/:所有服务器的默认启动脚本都是放在这里
  • /media 放置可删除设备,软盘、光盘、DVD等
  • /mnt 临时挂在某些额外的设备
  • /opt 第三方软件放置目录
  • /usr/bin 绝大部分用户可使用的命令
  • /usr/include C/C++等程序语言的头文件和包含文件
  • /usr/lib 包含个应用软件的函数库、目标文件,以及不被一般用户惯用的执行文件或脚本
  • /usr/local 系统管理员在本机自行安装自己下载的软件
  • /usr/share ~/man ~/doc

绝对路径和相对路径

  • 当前目录: ./
  • 上一层目录: ../