鸟哥linux的文件权限与目录配置

Linux 最优秀的地方之一就在于他的多人多任务环境。而为了让各个使用者具有较保密的文件数据,因此文件的权限管理就变的很重要了。 Linux 一般将文件可存取的身份分为三个类别,分别是 owner/group/others,且三种身份各有read/write/execute 等权限。若管理不当,你的Linux 主机将会变的很凌乱。

使用者与群组

文件拥有者

Linux是一个多人多任务的系统,因此常常会有多人同时使用这部主机的情况,如果用户A将文件放在Home目录上,不希望被别人看到,那么可以设定适当的权限,即使其他人知道有这个文件,但是无法打开它。

群组概念

群组最有用的功能之一就是用户在团队开发资源的时候。

每个账号可以有多个群组的支持

其他人

在Linux 里面,任何一个文件都具有『User, Group 及Others』三种身份的个别权限,

常以台湾地区常见的社群网站Facebook 或者是Google+ 作为解释。

  1. 你在FB 注册一个账号,这个账号可以迭代对比为Linux 的账号,
  2. 你可以新增一个社团,这个社团的隐私权是可以由您自己指定的!看是要公开还是要隐藏。这就可以迭代为Linux 的群组概念,这个群组的权限可以自己设定。
  3. 那么其他在FB注册的人,没有加入你的社团,他就是Linux 上所谓的『其他人』
  4. 最后,在FB上面的每一条留言,就可以想成Linux 底下的『文件』

其他人怎么看某群组的文件: 将他拉入群组

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

默认的情况下,所有的系统上的账号与一般身份使用者,还有root 的相关信息,都是记录在/etc/passwd 这个文件内,个人的密码则是记录在/etc/shadow,所有的组名都纪录在/etc/group

Linux文件权限概念

可以使用root权限去使用ls -al

ls是list的意思,显示文件名和相关属性,-al则表示列出所有的文件详细的权限与属性

1

其中,第一栏表示这个文件的类型和属性

这一栏其实有10个字符

2

第一个字母代表这个文件是什么类型:

  • d为目录
  • -为文件
  • l为连接文档(link file)
  • b为可供存储的接口设备,可随机存取装备
  • c为装置文件里面的串行端口设备,比如键盘鼠标

接下来的字符中,以三个为一组,都为rwx三个参数的组合

  • r 是可读
  • w是可写
  • x是可执行(execute)

如果没有权限不会消失,会显示 -

第一组为文件拥有者可具备的权限

第二组为加入这个群组的账号的权限

第三组为非本人而且没有加入本群组的其他账号权限

改变文件的属性与权限

  • chgrp 改变文件所属群组

    chgrp groupname filename

  • chown 改变文件拥有者

    chown id filename

    除此之外,还能顺带改变组名

    chown id:groupname filename

    如果要连目录下的所有次目录或文件同时更改文件拥有者的话,可以在chown后添加上-R

  • chmod 改变文件权限

    我们使用数组代表各个权限:r:4 w:2 x:1

    每一组相加即可

    例如将权限全部设定启用:

    chmod [-R] 777 filename

Linux文件种类和扩展名

  • 正规文件

    第一个字符为-,根据文件内容可以分成下面几种类型:

    • 纯文本档 我们可以通过cat ~/.bashrc查看内容
    • 二进制文件 可执行文件(scripts、文字型批处理文件不算)
    • 数据格式文件
  • 目录

    第一个字符为d

  • 连接文档

    类似windows系统的快捷方式 第一个属性为l

  • 设备与装置文件

    区块设备档,比如硬盘软盘,第一个字符为b

    字符设备文件,比如键盘鼠标,第一个字符为c

  • 资料接口文件

    第一个字符为s,

  • 数据输送文件

    第一个字符为p

Linux目录配置

目录配置的依据

3

目录树

绝对路径与相对路径

相对路径是以『你当前所在路径的相对位置』来表示的。举例来说,目前在/home这个目录下,如果想要进入/var/log 这个目录时,

cd /var/log 绝对路径

cd ../var/log 相对路径

  • ./是当前目录
  • ../代表上一层目录