Linux文件权限与目录配置

  • Linux一般将文件可存取的身份分为3种,分别是 owner、group、others
  • Linux系统你默认系统上的所有账号与一般身份使用者,以及root 的相关信息都记录在/etc/passwd 文件内,个人的密码记录在/etc/shadow文件下
  • Linux 所有的组名冀鲁豫在/etc/group文件下

一、文件属性

1.第一列时这个文件的类型与权限,占10个字符

  • 第一个字符表示这个文件的类型
    • d 表示文件是目录
    • - 表示文件是正规文件
      • 纯文本档 ASCII :可以直接读取文档数据,利用cat 指令可以对文档进行查看
      • 二进制文件binary: 可以执行的二进制文件 ,指令cat就是二进制文件
      • 数据格式文件data: 特定格式的文件,例如登录Linux时登陆数据会记录在/car/log/wtmp文件内,可以通过last读取,却不能通过cat读取

 

    • l 表示是连接档link file,类似于快捷方式
    • b表示是装置文件里的可供储存的接口设备,设备档
    • c表示是装置文件里的串行端口设备,如键盘鼠标等,字符设备文件,一次性读取,不能够截断输出
    • s表示资料接口文件 sockets:数据接口文件,用于网络上的数据传输
    • p表示数据输送文件FIFO,pipe,用于解决多个程序同时存取一个文件所造成的错误问题 
  • 后面三个为一组,且均是rwx的组合,分别表示可读,可写,可执行,如果没有该项权限,用-代替
    • 第一组为owner文件拥有者的权限
    • 第二组为加入此群组group的权限
    • 第三组为非本人且没有加入本群组的其他账号others的权限

    

 

 

2.第二栏表示有多少档名连接到此节点node,每个文件都会将他的权限与属性记录到文件系统的i-node中,

3.第三栏表示这个文件或目录的拥有者账号

4.第四栏表示这个文件的所属群组

5.第五栏表示这个文件的容量大小,默认单位bytes

6.第六栏表示这个文件的建档日期或最近修改日期,如果修改时间距离太久了就会只显示年份。如果要显示完整的时间格式可以使用  ls -l --full-time 显示完整日期格式

7.第七栏表示这个文件的名字,档名。如果文件前面出现.表示是隐藏档

8. Linux文件权限主要用于数据安全,系统保护,数据共享等功能

二、改变文件属性与权限

1. chgrp 改变文件所属群组

  • 要被改变的组名必须存在于/etc/group 中
  • 格式 chgrp [-R] 目录名/文件名
  • -R 表示连通次目录下的所有文件、目录都更新成为这个群组,常常用在变更某一目录内所有的文件情况

2. chown  改变文件拥有者

  • 要被改变的组名必须存在于/etc/passwd中
  • 格式 chown [-R] 目录名/文件名
  • -R 表示连同目录下的所有次目录或文件同时更改文件拥有者

 

  •  当将文件拷贝复制等操作时,会连同文件的属性与权限等都顺带

3. chmod 改变文件权限

  • 数字类型改变文件权限: r=4,w=2,x=1  三个值累加

  

  • 符号类型改变文件权限
chmod u(user,文件拥有者)

+ 加上

- 剔除

=设定

r

w

x

文件或目录
g (群组)
o (其他)
a (所有者)

 

 

 

 4. 文件权限

  • r (read):可读取此一文件的实际内容
  • w (read):可编辑、新增、修改文件内容,不能删除
  • x(eXecute):文件可以被系统执行的权限

5. 目录权限

  • r: 可以查询该目录下的文件名数据,可以用ls指令将该目录的内容列表显示
  • w: 可以改变该目录结构
    • 建立新的文件与目录
    • 删除已有的文件与目录
    • 将已存在的文件或目录改名
    • 搬移该目录内的文件、目录位置
  • x: 用户可以进入该目录,可以使用cd
组件 内容 迭代物件 r w x
文件 详细资料data 文件文件夹 读取文件内容 修改文件内容,不能删除文件 执行文件内容
目录 档名 目录下的文件和目录 读取档名 目录异动 进入该目录

6. 建立文件与目录环境

  • cd  进入目录
  • mkdir  创建目录
  • touch  创建文件
  • ls 查看文件
  • rm  删除文件

三、Linux文件命名

  • 可执行权限与可执行程序代码不同,文件有可执行的权限表明可以使用或查看,但不代表是一个执行程序
  • 可执行与执行成功不同, 文本文档可执行表明文档有被执行的能力,而不是一定执行成功
  • Linux没有所谓的文件扩展名,通常以适当的扩展名表明该文件是什么种类类型
    • *.sh:脚本或批处理文件scripts,shell语言编写
    • *Z, *.tar, *.tar.gz, *.zip, *.tgz:打包的压缩文件
    • *.html, *.php:网页相关文件,语法不同网页文件类型不同
  • 文件长度限制:Linux使用传统的ext2/3/4文件系统以及CentOS 7 预设文件系统的xfs规定文件档名长度限制为
    • 单一文件或目录的最大容许文件名为255bytes
    • 以一个ASCII英文占用一个bytes而言,大约可以有255个字符长度
    • 以一个中文字符占用2bytes而言,大约可以有128和中文
  • 文件命名最好避免特殊字符如 * ? > < & ! 【 】 | \ ' " ` ( ) + -,这些特殊字符有特定含义和选项表示

 四、Linux目录配置

1.依据FHS

FHS根据文件系统时使用的频繁与否与是否允许使用者随意更懂,将目录定义为四种交互作用的形态

  • 可分享的: 可以分享给其他系统挂载使用的目录,包括执行文件与用户邮件数据等,可以分享给网络上其他主机
  • 不可分享的:机器运作的装置文件或者时与程序有关的sockets文件等,不可共享给其他主机
  • 不变的: 数据不改变,如函数库,文件说明,系统管理员所管理的主机服务配置文件
  • 可变动的:经常改变的数据

2.根目录/,root

根目录衍生出其他目录,与开机、还原、系统修复等动作有关,所在分区槽越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区槽

 

 

2.1 根目录下应该有以下次目录

  • /bin:单人维护模式下能被操作的指令,其下的指令可以被root和一般账号使用,如 cat chmod chown date mv mkdir cp bash等
  • /boot:存放开机会使用到的文件,包括Linux核心文件以及开机选单与开机所需配置文件等,Linux kernel常用档名为vmlinuz,如果时grub2 开机管理陈旭,还会存在/boot/grub2/的目录
  • /dev:存放任何装置与接口设备的文件,存取某个装置,主要文件有 /dev/null, /dev/zero, /dev/try./dev/loop*, /dev/sd*等
  • /etc:系统的主要配置文件,可以被一般用户查阅,只能被root操作,不要防止可执行文件在此目录中,比较重要的文件有/etc/modprobe, /etc/passwd,/etc/group,/etc/fstab,/etc/issue等
    • /etc/opt:放置第三方协力软件/opt的相关配置文件
    • /etc/X11:与X Windows相关的配置文件,尤其是xorg.conf 的 X server配置文件
    • /etc/sgml:与SGML格式相关的配置文件
    • /etc/xml:与XML 格式相关的配置文件
  • /lib:开机时会用到的函数库,以及在/bin,/sbin下指令会呼叫的函数库。/lib/modules主要防止可抽换式的核心相关模块(驱动程序)
  • /media:放置可移除的装置,如光盘、软盘等,常见档名/media/floopy, /media/cdrom
  • /mnt:暂时挂载某些额外的装置
  • /opt:第三方协力软件放置的目录
  • /run:开机后产生的各项信息
  • /sbin:开机过程所需要的包括开机修复还原系统所需要的指令,某些会放到/usr/sbin
  • /src:网络服务启动所需要的数据目录,如WWW,FTO等,系统服务数据预设放置在/var/lib下
  • /tmp:一般用户或者正在执行的程序暂时防止文件的地方,需要定期清理
  • /usr:存放用户可分享的与不可变动的数据,占用较大硬盘容量
    • /usr/bin/:一般用户可以使用的指令,现在这个目录就是/bin目录
    • /usr/sbin/:非系统正常运作所需要的系统指令,如网络服务器软件的服务指令,目前/sbin链接到此目录
    • /usr/lib/:与/lib功能相同,被/lib链接
    • /usr/local/:自行安装其他软件的默认存放目录
    • /usr/share/:存放只读架构的数据文件和共享文件,常见的次目录有../man(联机帮助文件), ../doc(软件文档说明), ../zoneinfo(时区信息文件)
    • /usr/games/:与游戏相关的数据
    • /usr/include/:与C、C++等程序语言的档头与包含档的数据,当以tarball方式(*.tat.gz)安装软件时,会使用到需要包含档
    • /usr/libtext/:不被一般使用者管用的执行档或甲苯,X窗口底下的操作指令
    • /usr/lib<qual>: 与/lib<qual>功能系统,被他链接
    • /usr/src/:一般原始码繁殖位置,核心原始码放置在../linux目录
  • /var: 系统运作后才会渐渐占用硬盘容量,主要针对常态性变动的文件,包括快取,登录档以及某些软件运行产生的文件,如程序文件(lock,file,run file),数据库文件等
    • /var/cache/:应用程序本身运作过程中会产生的一些暂存档
    • /var/lib/:程序本身执行过程中需要使用的数据文件放置目录,此目录下各自的软件要有各自的目录
    • /var/lock/:某些装置或文件资源一次只能被一个应用程序占用,如果出现错误需要上锁,放置在此目录中
    • /var/log/:登陆文件的放置目录,如../messages, ../wtmp(记录登入者的信息)
    • /var/mail/:放置个人电子邮箱的目录,也被放置到/var/spool/mail/目录中,互为链接文件
    • /var/run/:服务启动后的PID放置目录
    • /var/spool/:放置排队需要等待其他程序使用的数据

2.2 根目录还可以存放以下次目录

  • /home: 系统默认的家目录,新增一个一般使用者默认的用户家目录, ~ 表示目前这个用户的家目录,~xxx表示xxx的家目录
  • /lib<qual>:存放与/lib不同格式的二进制函数库
  • /root:系统管理员的家目录

2.3 其他的重要目录

  • /lost+found:使用标准的ext2/3/4文件系统格式才会产生的目录,当文件系统发生错误时会将一些遗失的片段放置到这个目录下
  • /proc:本身是一个虚拟文件系统,放置的数据都在内存中,不占硬盘空间,如/proc/cpuinfo,  /proc/dma, /proc/interrupts, /proc/ioprots,/proc/net/*
  • /sys:虚拟文件系统,记录核心与系统硬件信息相关的信息,包括已加载的核心模块与核心侦测到的硬件装置信息等

早期Linux要求/etc,/bin,/sbin,/dev,/lib必须和根目录/放置在一起,目前/sbin,/bin,/ib被移到/usr了,且/usr可以在救援模式下挂载

2.4 Cent OS 的目录变化

2.5 查看CentOS

  • uname -r
  • uname -m
  • yum install xxx

 

posted @   forever_fate  阅读(859)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示