学习Linux 《鸟哥的Linux私房菜 基础学习篇(第三版)》--第6章 Linux的档案权限与目录配置 笔记

1、使用者与群组

Linux用户身份与群组记录的文件

在Linux系统中,默认情况下,所有的系统上的账号包括一般使用者和root的相关信息,都记录在/etc/passwd文件中。个人的密码记录在/etc/shadow文件中,此外,Linux所有的群组信息都记录在/etc/group文件中。

Linux文件属性

输入ls -al 后显示如下图所示


下面来介绍每条记录中七个字段分别的意思


第一个字段的含义:

第一个字符代表这个文件是文件夹、文件或者链接文件等等

  • d表示文件夹
  • -表示文件
  • l表示链接文件(link file)
  • c对应面向字符的设备如键盘
  • b对应面向字块的设备如磁盘

第二个字段的含义:

表示有多少文件名链接到此几点(i-node)


第七个字段的含义:

文件名称。以.开头的文件表示为隐藏文件。

改变文件属性与权限

  • chgrp 改变档案所属群组
  • chown 改变档案所有者
  • chmod 改变档案的权限,SUID、SGID、SBIT等
chgrp [-r] groupName fileName   [-r]递归


chown [-r] 账号名称 文件名称
chown [-r] 账号名称:用户组名称 文件名称  [-r]递归

亊实上,chown 也可以使用『chown user.group file』,亦即在拥有者不群组间 
        加上小数点『.』也行!不过很多人在设定账号时,喜欢在账号当中加入小数点(例如 
        vbird.tsai 这样的账号格式) ,这就会造成系统的误判!所以我们比较建议使用
『:』来分开拥有者和群组啦!此外,chown 也能单纯的修改所属群组!例如 
         『chown .sshd install.log』就是修改群组! 


chomod 改变权限

文档权限的变更使用chmod命令,权限设定的方法有两种方式,可以使用数字和符号来进行权限变更。
  • 数字类型改变文档权限
Linux的文件权限总共9个,分别是owner/group/others三种身份各自有read/write/execute权限。这9个权限三个三个一组,可以用数字代表各个权限,各个权限和数字对照表如下:
r:4
w:2
x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分别累加。
例如当权限为[-rwxrwx---]的表示为:
owner = r+w+x= 4+2+1 = 7
group = r+w+x = 4+2+1 = 7
others =-+-+- =  0+0+0 = 0
所以变更权限就为770

chmod命令为
chmod [-r] xyx 文件或文件夹     xyz分别是owner/group/others的累加和  -r递归

符号类型改变文件权限

可以看出基本上9个权限分别是(1)user(2)group(3)others三种身份。因此我们可以有u、g、o来代表三种身份的权限。
a(all)代表全部身份,r、w、x代表指定权限。
例如,设定权限为[-rwxr-xr-x]表示为
chmod u=rwx,go=rx fileName
也可以使用 + -来消除权限
chmod u-x filaName 减去u的执行权限

特别需要注意的是:w权限是针对文件内容,w权限并不能删除文件本身,想要删除文件本身,需要有父目录的w权限。

权限对目录(文件夹)的重要性

  • r(read contents in directory):表示具有读取目录结构列表的权限,可以用ls获取目录下文件列表
  • w(modify contents of dirctory):写入权限对于目录来说非常有用,包括以下功能
1、建立新的文件和目录
2、删除文件或者目录
3、更改文件或目录的名称
4、移动文件或目录位置
  • x(access directory):表示用户是否可以进入目录


Linux文件种类与扩展名

我们在基础篇一直强调一个概念,那就是:任何设备在 Linux底下都是文件, 不仅如此,连数据沟通
的接口也有专属的文件在负责。


  • 文件的种类
    • 正规文件 第一个属性为 [ - ],例如 [drwxrwxrwx]。包括1、ASCII文件 可以直接使用 cat filaName查看。2、二进制文件(binary file)可执行文件,例如cat 等。 3、数据格式文件(data)我们的Linux在使用者登录时,都会将登录的数据记录在/var/log/wtmp 那个文件内,该文件是一个data file,他能够透过last这个指令读出来! 但是使用 cat时,会读出乱码。因为他是属于一种特殊格式的文件。
    • 目录(directory)  第一个属性为 [ d ],例如 [drwxrwxrwx]。
    • 连结档(link)  就是类似Windows 系统底下的快捷方式! 第一个属性为 [ l ](英文L 的小写),例如 
      [lrwxrwxrwx] ; 
    • 设备与装置文件(device)  不系统周边及储存等相关的一些文件,通常都集中在/dev 这个目录下!通常又分为两种1、区块(block)设备文件:就是一些储存数据,以提供系统随机存取的接口设备,例如
    • 硬盘和软盘等! 你可以随机的在硬盘的不同区块读写,这种装置就是存储设备,你可以自行查一下/dev/sda 看看, 会发现第一个属性为[ b ]! 2  字符(character)设备文件:即是一些串行端口的接口设备, 例如键盘、鼠标等等!这些设备的特色就是『一次性读取』的,不能够截断输出。 举例来说,你不可能让鼠标『跳到』另一个画面,而是『滑动』到另一个地方啊!第一个属性为 [ c ]。 
    • 资料接口文件(sockets): 
      既然被称为数据接口文件, 想当然尔,这种类型的文件通常被用在网络上的数据承接了。我们
      可以启动一个程序来监听客户端的要求, 而客户端就可以透过这个 socket 来进行数据的沟通
      了。第一个属怅为 [ s ], 最常在/var/run 这个目彔中看到这种文件类型了。 
    • 数据输送文件(FIFO, pipe): 
      FIFO也是一种特殊的文件类型,他主要的目的在解决多个程序同时存取一个文件所造成的错误
      问题。 FIFO是first-in-first-out 的缩写。第一个属性为[p] 。

Linux目彔配置的依据--FHS 

FHS(Filesystem Hierarchy Standard )
FHS依据文件系统使用的频繁是否允讲使用者随意更改, 而将目录定义成为四种交互作用的形态,用表 格来说有点像底下这样

 

可分享的(shareable)

不可分享的(unshareabl)

不可变的(static)

/usr (软件放置处)

/etc (配置文件)

/opt (第三方协力软件)

/boot (开机与核心文件)

可变动的(variable)

/var/mail (使用者邮件信箱)

/var/run (程序相关)

/var/spool/news (新闻组)

/var/lock (程序相关)


1、  可分享的:可以分享给其他系统挂载使用的目录,所以包括执行文件不用户的邮件等数据, 是
能够分享给网络上其他主机挂载用的目录; 
 2、 不可分享的:自己机器上面运作的装置档案或者是不程序有关的 socket 档案等, 由于仅与自身
机器有关,所以当然就不适合分享给其他主机了。 
3、 不变的:有些数据是不会经常变动的,跟随着 distribution 而不变动。 例如函式库、文件说明
文件、系统管理员所管理的主机朋务配置文件等等; 
 4、 可变动的:经常改变的数据,例如登录文件、一般用户可自行收受的新闻组等。 


FHS规定的目录仅有以下三个
  • /(root,根目录):与开机系统有关。
  • /usr(unix software resource): 与软件安装/执行有关。
  • /var(variable ):与系统运行有关。




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值