Linux的文件权限与目录配置

本篇笔记来源于《鸟哥linux私房菜 基础篇》

文章目录

  • 一、使用者与群组
  • 二、linux文件权限概念
    • 1、Linux文件属性
      • 1)先介绍常用指令
      • 2) ls -al 后看到的字段的意思
    • 2、如何改变文件属性与权限
      • 1)改变所属群组, chgrp
      • 2)改变文件拥有者, chown
      • 3)改变权限, chmod
      • 4)权限的作用
  • 三、linux目录配置
    • 1、Linux目录配置的依据FHS
      • 1)根目录下应该有的这些次目录
    • 2、绝对路径与相对路径
      • 1)路径(path)
      • 2)两个特殊目录

一、使用者与群组

  • Linux一般将文件可存取的身份分为三个类 别,分别是owner/group/others,且三种身份各有 read/write/execute 等权限。
  • root 有最高权限,可以打开任何文件
  • Linux系统中的账号、密码、群组信息,分别记录在/etc/passwd、/etc/shadow、在/etc/group这3个文件内,不要随便删除这三个文件哦!

二、linux文件权限概念

文件的权限要如何 针对这些所谓的“使用者”与“群组”来设置呢?

1、Linux文件属性

1)先介绍常用指令

su - xxx #切换身份到xxx用户
ls  #查看文件的指令,ls = list

2) ls -al 后看到的字段的意思

total 48 
dr-xr-x---. 5 root root 4096 May 29 16:08 . 
dr-xr-xr-x. 17 root root 4096 May 4 17:56 .. 
-rw-------. 1  root root 1816 May 4 17:57 anaconda-ks.cfg
[1]         [2] [3] [4]  [5]    [6] [7]
[权限][链接数][拥有者][群组][文件大小][修改日期][文件名]
  • 1-权限:字段代表文件的类型与权限,共10个字符
-rwxrwx---

1)第一个字符代表这个文件是“目录、文件或链接文件等等:
* d为目录
* -为文件
* l为链接文件
* b为设备文件里面的可供储存的周边设备(可随机存取设备)
* c设备文件里面的序列埠设备,例如键盘、鼠标

2)接下来的字符以3个为一组
* 均为'rwx'三个参数,r-可执行(read)、w-可写(write)、x-可执行(execute);没权限则为-,rwx位置不会变
*第一组“owner"权限,第二组“group”权限,第三组“others”权限

  • 2-链接数
    就是有多少不同的文件名链接到相同的一个i-node号码(使用的目录树是使用文件名记录的,因此每个文件名会链接到1个i-node
  • 5-文件大小,默认单位为Bytes
  • 6-日期,创建日期或是最近的修改日期,如果想要显示完整的时间格式,可以利用ls的选项 “ls -l --full-time”
  • 7-文件名 如果文件名前面多一个".",那么代表这个文件为“隐藏文件”

2、如何改变文件属性与权限

  • chgrp :改变文件所属群组
  • chown :改变文件拥有者
  • chmod :改变文件的权限, SUID, SGID, SBIT等等的特性

1)改变所属群组, chgrp

chgrp [-R] groupname dirname/filename ...
选项与参数
-R 进行递归的持续变更,变更同目录下的所有文件、目录都成为新的群组

注意:群组名必须已经存在/etc/group中

2)改变文件拥有者, chown

[root@study ~]# chown [-R] 帐号名称 文件或目录 
[root@study ~]# chown [-R] 帐号名称:群组名称 文件或目录 
选项与参数: -R : 进行递回(recursive)的持续变更,亦即连同次目录下的所有文件都变更

注意:

  • 账号名必须已经在/etc/password中
  • 复制文件的时候,会复制执行者的属性与权限,因此复制完成后可以更改文件拥有者

3)改变权限, chmod

两种方法改变权限

  • a.数字类型改变文件权限,每种身份的3个权限需要累加
    r:4, w:2,x:1 ,
    770 则表示owner拥有读写执行权限,group拥有读写执行权限,other没有权限
    语法
chmod [-R] xyz 文件或目录
  • b.符号类型改变文件权限
    由u, g, o来分别代表 user\group\others三种身份的权限
语法:
| chmod | u g o a | +(加入) -(除去) =(设置) | r w x | 文件或目录 |
示例:
 chmod u=rwx,go=rx .bashrc

4)权限的作用

元件 内容 叠代物件 r w x
文件 详细数据data 文件数据夹 读到文件内容 修改文件内容 执行文件内容
目录 文件名 可分类抽屉 读到文件名 修改文件名 进入该目录的权限(key)

如果没有x权限,是cd不进入这个目录的,只能查看这个目录

三、linux目录配置

1、Linux目录配置的依据FHS

FHS(Filesystem Hierarchy Standard )是一种定义文件放置目录的标准
FHS针对目录树架构仅定义出三层目录下面应该放置什么数据而已,分别是下面这三个目录的定义:
/ (root,根目录):与开机系统有关
/usr (unix software resource):与软件安装/执行有关;
/var (variable):与系统运行过程有关。

1)根目录下应该有的这些次目录

目录 应放置的文件内容
/bin 在/bin下面的指令可以被root与一般 帐号所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常 用的指令。
/boot 放置开机会使用到的文件
/dev 设备与周边设备都是以文件的型态存在于这个目录当中
/etc 主要的配置文件,如人员的账户密码
/lib 系统的函数库非常的多,而/lib放置的则是在开机时会用到的函数库
/mnt 暂时挂载某些额外的设备
/media 可移除的设备,包括软盘、光盘、DVD等等设备都暂时挂载于此
/opt 给第三方协力软件放置的目录
/tmp 让一般使用者或者是正在执行的程序暂时放置文件的地方。这个目录 是任何人都能够存取的,所以需要定期的清理
/usr 第二层 FHS 设置
/var 第二层 FHS 设置
/home 新增一个一般使 用者帐号时,默认的使用者主文件夹都会规范到这里来,代号为~

2、绝对路径与相对路径

1)路径(path)

定义为绝对路径(absolute)与相对路径(relative)。 这两种文件名/路径的写法依据是这样的:

  • 绝对路径:由根目录(/)开始写起的文件名或目录名称, 例如 /home/dmtsai/.bashrc;
  • 相对路径:相对于目前路径的文件名写法。 例如 ./home/dmtsai 或 …/…/home/dmtsai/ 等等。反正开头不是 / 就属于相对路径的写法

2)两个特殊目录

  • . :代表当前的目录,也可以使用 ./ 来表示;
  • … :代表上一层目录,也可以 …/ 来代表。

你可能感兴趣的:(计算机基础知识,#,Linux,linux)