1 Linux 的 文件权限和目录配置

Linux 的优点之一就是它的多人多任务环境。Linux 一般将文件可读写的身份分为三个类别:拥有者
(owner)、所属群组(group)、其他人(others),且三种身份各有读(read)、写(write)、执行(execute)等权
限。

1 用户与用户组

1.1 文件拥有者

Linux 是个多人多任务系统,会存在多人同时使用机器的情况,为了个人隐私和个人喜欢的工作环境,
文件拥有者就很有必要。比如一个文件的拥有者设为自己,只有自己才能看与修改该文件,别人不行。

1.2 用户组

用户组是一个很有用的功能,当团队进行协同工作的时候。比如,有两个组 group1、group2,group1 有
成员(A B C),group2 有成员(D E F),组内的文件需要组员都能修改,但不让组外的访问修改。另外还有
个 boss,能访问两个组的文件。给 boss 设置用户组的时候就需要设置 group1/group2 两个用户组。
结 论:每个账号都可以有多个用户组的支持。

1.3 其他人

除了文件所有者或文件所属群组成员的用户,都是其他人。
Linux 用户身份与用户组记录的文件:一般身份用户和 root 用户相关信息,都记录在/etc/passwd 这个文
件内,个人密码则是记录在/etc/shadow 文件内,所有组名都记录在/etc/group中。

2 Linux 文件权限概念

2.1 Linux文件属性

  • 文件类型权限
    共十个字符,含义如下:
    第一个字符代表这个文件是目录、文件或链接文件,[d]是目录,[-]是文件,[|]是链接文件,[b]是设备文
    件可供存储的周边设备,[c]是设备文件里面的串行端口设备。
    剩下的九个字符中,三个一组,均为[rwx]三个参数的组合,[r]是可读,[w]是可写,[x]是可执行。这三
    个权限的位置不会改变,如果没有相应权限[-]代替。
    第一组为文件拥有者的权限,第二组为加入此用户组的账号的权限,第三组是其他人的权限。
  • 链接
    每个文件讲它的权限与属性记录到文件系统的 inode 中,目录树中用文件名记录,每个文件名会链接一
    个 inode,链接就是记录有多少不同的文件名链接到相同的一个 inode 号码。
  • 第三栏表示文件拥有者
  • 第四栏表示文件所属用户组
  • 第五栏为文件大小,单位默认是 Bytes
  • 第六栏代表文件修改时间(如果修改时间离现在太久,只显示年份),可以用[ls -l –full-time]显示完整
    时间格式。
  • 第七栏是文件名,如果文件名前多一个[.],代表隐藏文件。

2.2 修改文件属性和权限

修改所属用户组: chgrp
修改前,需要确认要被修改的组名必须在/etc/group 文件中存在,否则报错。
命令格式: chgrp [-R] group dirname/filename
[-R]:递归修改,将子目录下所有文件目录都改为这个新的用户组。

修改文件拥有者: chown
修改前,用户需要已经存在,在/etc/passwd 中有记录用户名称。
命令格式: chown [-R] 账号名称 文件或目录
chown [-R] 账号名称:用户组名称 文件或目录
[-R] 递归修改,将子目录下所有文件目录都改为这个新的拥有者。
不仅可以修改 owner,还能顺带修改 group。
使用时机:比如 [cp aa bb] ,aa 文件的 owner 和 group 都是 root,想复制一份让用户 user 修改,但
是 user 并不能改,因为 cp 会复制执行者的属性和权限。这时候就需要修改 owner 和 group 了。

修改权限:chmod
有两种方式,可以使用数字或者符号进行权限修改

  • 数字类型修改文件权限
    各权限的数字对应表: (r:4 w:2 x:1)
    三种身份(owner、group、others)各自的权限(r、w、x)数字了累加,
    如[-rwxrwx---],owner:4+2+1=7 group:4+2=1=7 others:0+0+0=0,所以权限数字就是 770
    命令格式:chmod [-R] xyz 文件或目录
  • 符号类型修改文件权限
    三种身份 user/group/others 可以用 u/g/o 来代表,除此以外还有个 a 代表 all 全部身份。+ (加入) 、-(移除)、=(设置)
    比如要设置一个文件权限为[-rwxr-xr-x],可以用[chmod u=rwx,go=rx 文件名]。

注意: u=rwx,go=rx是连在一起的,中间无空格。

比如不知道原先的文件属性,要给文件每个人加上写权限,可以用[chmod a+w 文件名],要给文件每个
人取消执行权限,可以用[chmod a-x 文件名]

2.3 目录与文件的权限意义

权限对文件的重要性

  • r:可读取文件内容
  • w:可编辑修改文件内容(不含删除文件)
  • x:有被系统执行的权限(可不可以执行就看有没有 x,跟文件格式无关,如 windows 中的 exe)

权限对目录的重要性
目录主要内容是记录文件名列表,文件名与目录有强相关。

  • r:有读取目录结构列表的权限
  • w:有改动目录结构列表的权限:建立新的文件与目录/删除已存在的文件与目录(无论文件权限是什么)/已
    存在的文件或目录更名/移动目录内的文件或目录位置。
  • x:代表的不是是否可以被执行,而是代表用户能否进入该目录成为工作目录。
    比如:drwxr-xr-- 1 test1 testgroup 目录
    test1 是拥有者,可以进入目录进行任何工作,testgroup 的用户可以进入目录进行工作,不能写;
    others 虽然有 r 权限,但没有 x 权限,不能进入目录。


    权限作用

2.4 Linux 文件种类与扩展名

文件种类

  • 常规文件,第一个字符[-]
    纯文本文文件(ASCII)/二进制文件(binary)/数据文件(data)
  • 目录,第一个字符[d]
  • 链接文件,第一个字符[l],相当于 windows 的快捷方式
  • 设备与设备文件
    区块设备文件:存储一些数据,供系统随机存取的接口设备,如硬盘软盘
    字符设备文件:一些串行端口的接口设备,如键盘鼠标
  • 数据接口文件,第一个字符[s],用于网络上的数据交换,可以启动一个程序箭筒客户端要求,客户端
    可以通过这个 socket 进行数据沟通,通常可以在/run 和/tmp 下看到。
  • 数据输送文件,第一个字符[p]用于解决多个程序同时读写一个文件所造成的错误问题,FIFO,即管
    道。

Linux 文件名扩展
一个文件能不能被执行,与 x 有关,和文件名无关。但是能不能执行成功还要看文件内容,比如给一个
文本文件加上 x,那也不能执行成功。

常用扩展名

  • .sh:脚本或批处理文件,shell 写的
  • .Z、.tar、.tar.gz、.zip、.tgz:打包压缩文件
  • .html、*.php:网页相关文件

Linux 文件名长度限制
单一文件或目录文件最大长度为 255 字节

Linux 文件名限制
文件名避免特殊字符

3 Linux 目录配置

3.1 Linux 目录配置的依据 FHS

FHS(Filesystem Hiberarchy Standard),为了让用户可以了解到已安装软件通常放置在哪个目录。

  • 可分享:可分享给其他系统挂载使用的目录
  • 不可分享:自己机器上面运行的设备文件或程序有关的 socket 文件,和自身机器有关
  • 不变:一些数据不会经常变动,随发行版而不变,如数据库、文件说明、系统管理员所管理的主机服务配
    置文件
  • 可变动:经常修改的数据

FHS 定义的三个目录

  • /(root,根目录) :与启动系统有关
    根目录与启动、还原、系统修复等操作有关
    根目录应该越小越好,应用程序安装的软件最好不要和根目录放在同一个分区内,性能较好,不容易出
    问题。
  • /usr(unix software resource):与软件安装/执行有关
    /usr 在安装时占用较大硬盘容量的目录,所有系统默认的软件(发行版带的)都会放在/usr 中,相当于
    windows 中的 C:\Windows 和 C:/Program Files\
  • /var(variable):与系统运行过程有关
    /var 在系统运行后逐渐占用硬盘容量的目录,/var 主要针对经常性变动的文件,包括缓存、日志以及软
    件运行产生的文件。

3.2 目录树

目录树的启动点为根目录 /
每一个目录不止能使用本地分区的文件系统,也能使用网络上的文件系统。
每一个文件在此目录中的文件名(完整路径)都是独一无二的。

3.3 绝对路径和相对路径

  • 绝对路径:由根目录/开始写起的文件名或目录
  • 相对路径:相对于目前路径的文件名写法
    . 代表当前的目录,可以用 ./ 表示,如 ./start.sh
    .. 代表上一层目录,可以用 ../表示,如 cd

摘自《鸟哥的Linux私房菜》,更多精彩参考 http://cn.linux.vbird.org/

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 224,896评论 6 522
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,283评论 3 402
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 172,085评论 0 367
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 61,010评论 1 300
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 70,015评论 6 400
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,492评论 1 314
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,858评论 3 428
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,829评论 0 279
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,374评论 1 324
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,409评论 3 346
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,527评论 1 355
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,131评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,858评论 3 339
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,296评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,434评论 1 276
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,087评论 3 381
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,597评论 2 366

推荐阅读更多精彩内容