Linux的文件权限

来源——《鸟哥的Linux私房菜 基础学习篇》第五章

学习笔记

引言

Linux是一个多用户系统,那么就不可避免的会涉及到用户权限的问题。

群组:另外Linux通过群组来框定某个范围的用户的权限。举例来说,通常一个团队开发资源时通常将每个专题组设定为一个群组,专题组内能访问修改自己的群组文件,不能访问其他的群组文件。每个账号都可以有多个群组的支持

一般来说,在Linux里面,任何一个文件都有 [User] [Group] [Others] 三种身份的权限。

root就是“神”,拥有全部权限。

用户身份与群组记录文件

/etc/passwd   #账号与一般身份使用者,root的相关信息
/etc/shadow   #个人密码
/etc/group    #组名

文件属性

我们直接使用root账户登录,然后输入 [ls -al] 查看所有文件权限列表。(若不是管理员身份登录的话,先使用 [su -] 切换一下身份)

Linux的文件权限_第1张图片

由左到右依次是 [权限] [连结数] [拥有者] [群组] [文件容量] [修改日期] [文件名] 

  • 权限

示例:“drwxr-xr-x”,一共有10位。

第一位是文件类型,剩下的每三位一组,分别是 [拥有者权限] [群组权限] [其他人权限]

第一个字符:

[d]  #目录
[-]  #文件
[l]  #连接文件(类似快捷方式)
[b]  #可随机存取装置
[c]  #串行端口设备(键盘鼠标等)

三个一组 :

除第一个外,接下来的9个字符按顺序每三个为一组,为 [rwx] 的组合,其中 [r] 代表可读、[w] 代表可写,[x] 代表可执行。这三个权限的位置不会改变,没有权限就显示 [-]。

  • 连结数

记录有多少文件名连接到此节点

  • 拥有者

  • 群组

举例:class1、class2、class3均属于projecta群组,假设某个文件所属群组为projecta,且该文件权限为 [-rwxrwx---] 则class1、class2、class3三人对于该文件均可读可写可执行(第5 6 7位),如果是不属于projecta的其他账号,对于此文件就不具有任何权限了(第8 9 10位)

  • 文件容量

默认单位为byte

  • 修改日期

建档日期或最近修改日期

  • 文件名

文件名前面若有 [ . ],则代表这个文件为隐藏文件。


文件权限的作用

  1. 系统保护
  2. 团队开发管理,数据共享

改变文件属性与权限

改变所属群组:chgrp

是change group的缩写,要被改变的组名必须在/etc/group文件内存在。

另外:chgrp -R 文件名,代表子目录所属群组也跟着一起更改,下同。

Linux的文件权限_第2张图片

 第1行和第5行是查看文件权限属性,第4行将文件的 [群组] 改为 users,由第3、7行对比,可见群组名已被更改。

改变文件拥有者:chown

change owner的缩写,注意,用户必须是已经存在系统中的账号,即在/etc/passwd中有记录

Linux的文件权限_第3张图片

改变权限:chmod

有两种设定方法,分别是数字或者符号。

  • 以数字类型设定

r:4,w:2,x:1。将三组中的每个字母转化成数字后叠加。

Linux的文件权限_第4张图片

由上图得,将权限设置为770以后,nano.txt文件的权限由“-rw-r--r--”变为“-rwxrwx---”

以符号类型设定

 u、g、o 分别代表 [users] [group] [others] 三种身份,且 a 代表 all .

Linux的文件权限_第5张图片

 根据上图,将权限由“-r-rwx---”更改为“-r--r-xr-x”

另外,还可以通过a+(-) [单个权限] 来对文件操作。

Linux的文件权限_第6张图片

其中 a+w 代表所有的都加上可写属性。a-w代表,所有的都去掉可执行属性。 

你可能感兴趣的:(Linux,linux,服务器,运维)