Linux学习笔记(3)——文件权限与目录配置

文件权限与目录配置

一、用户与用户组

  • 用户
  • 用户组
  • 其他人

二、Linux文件权限概念

2.1 Linux文件属性

img
文件类型:

  • d:目录
  • -:文件
  • l:链接文件
  • b:设备文件里可供存储的周边设备(可按块随机读写的设备,硬盘与软盘)
  • c:设备文件里的串行端口设备(键盘、鼠标等一次性读取设备)
  • s:数据接口文件(sockets)
  • p:数据输送文件(FIFO,pipe)

2.2 如何修改文件属性与权限

chgrp:修改文件所属用户组

chown:修改文件拥有者

chmod:修改文件权限,SUID、SGID、SBIT等特性

  • 数字类型修改文件权限
    • r4
    • w2
    • x1
  • 符号类型修改文件权限
    • 四种身份:ugoa
    • 三种操作:+-=
    • 三种权限:rwx

2.3 目录与文件的权限意义

  • 文件
    • r:读取
    • w:编辑、新增、修改(但不含删除)
    • x:执行
  • 目录
    • r:读取(ls
    • w:改动目录结构列表(mvrmtouch...)
      • 建立新的文件与目录
      • 删除已存在的文件与目录
      • 更改文件目录名
      • 移动该目录内的文件、目录位置
    • x:用户能否进入该目录成为工作目录(cd

注:开放目录给任何人浏览时,至少应该给予rx权限,w权限不可随便给。

三、Linux目录配置

3.1 Linux目录配置的依据——FHS

Filesystem Hierarchy Standard:让用户可以了解到已安装的软件通常放置于哪个目录下。
img

三层结构

  • /(root,根目录):与启动系统有关
    • /bin:单人维护模式下还能够被使用的命令。(cat、chmod、chown、date、mv、mkdir、cp、bash...)
    • /boot:放置启动时会用到的文件。
    • /dev:任何设备与接口设备都是以文件的形式存在于该目录。
    • /etc:系统主要的配置文件(不要放可执行文件在该目录)
      • /etc/opt:放置第三方辅助软件/opt的相关配置文件
    • /home:系统默认的用户家目录
      • ~:当前用户的家目录
      • ~admin:admin的家目录
    • /lib:放置启动时会用到的函数库,以及在/bin或/sbin下面的命令会调用的函数库
    • /lib64:64位函数库的目录
    • /media:放置可删除设备
    • /mnt:放置挂载设备
    • /opt:第三方辅助软件放置的目录
    • /proc:该目录本身是一个虚拟文件系统,放置的数据在内存中,例如系统内核、进程信息、外接设备的状态
    • /root:系统管理员(root)的家目录(原因:进入单人维护模式而仅挂载根目录时,该目录即可拥有root的家目录
    • /run:系统启动后所产生的各项信息
    • /sbin:启动过程中所需要的命令,包括启动、修复、还原系统
    • /srv:一些网络服务启动后,这些服务所需要使用的数据目录,WWW、FTP等
    • /sys:类似于/proc,记录内核与系统硬件信息相关的内容
    • /tmp:一般用户或正在执行的程序暂时放置文件的地方,定期清理
    • /usr:第二层FHS
    • /var:第三层FHS
  • /usr(unix software resource):与软件安装/执行有关
    • 必要
      • /usr/bin/:一般用户能够使用的命令(bin -> usr/bin
      • /usr/lib/lib -> usr/lib
      • /usr/local/:系统管理员在本机安装自己下载的软件(非发行版默认提供),建议安装到此目录
      • /usr/sbin/:非系统正常运行所需要的系统命令(sbin -> usr/sbin
      • /usr/share/:放置只读的数据文件,不分硬件架构均可读取
        • /usr/share/man:在线帮助文件
        • /usr/share/doc:软件的说明文档
        • /usr/share/zoneinfo:与时区有关的时区文件
    • 建议
      • /usr/games/:游戏相关
      • /usr/include/:C/C++等程序语言的头文件与包含文件放置处,Tarball方式(*.tar.gz)安装某些程序时会用到其中的文件
      • /usr/libexec/:某些不被一般用户常用的执行文件或脚本等
      • /usr/lib64/lib64 -> usr/lib64
      • /usr/src/:源代码建议放置到这里,内核源代码放置到/usr/src/Linux/
  • /var(variable):与系统运行过程有关
    • /var/cache/:应用程序本身运行过程中会产生的一些缓存
    • /var/lib/:程序本身执行时,需要使用到的数据文件放置的目录
    • /var/lock/:设备或文件资源上锁
    • /var/log/:日志文件
    • /var/mail/:个人电子邮件(/var/mail -> /spool/mail
    • /var/run/:某些程序或服务启动后,PID放置在该目录(/var/run -> /run
    • /var/spool/:放置一些队列数据,排队等待其他程序使用的数据

3.2 目录树

img

3.3 绝对路径与相对路径

  • 绝对路径:根目录写起
  • 相对路径:相对于当前路径写起
  • .:当前目录,也可用./表示
  • ..:上层目录,也可用../表示

3.4 CentOS的观察

img
img

posted @ 2022-11-03 11:22  S!no  阅读(74)  评论(0编辑  收藏  举报