Linux 学习笔记(一)

Linux学习笔记(一)

1.1Linux的文件权限

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

1.1.1用户与用户组

  • 文件拥有者
    即文件的owner
  • 用户组
    用户组最有用的功能之一,就是当你在团队进行协同工作的时候,多用户进行文件共享
  • 其他人
    不属于用户组的用户
    总结:在Linux里任何一个文件都具有用户(User)、所属群组(Group)、其他人(Others)三种身份的个别权限,不过在Linux系统中还存在一个万能的角色—root。
    在Linux中,默认情况下,所有的系统上的账号与一般身份用户,还有那个root的相关信息,都记录在/etc/passwd这个文件内,至于个人的密码则是记录在/etc/shadow这个文件内。此外,Linux所有的组名都记录在/etc/group中。这三个文件可以说是Linux系统里面账号、密码、用户组信息的集中地,不要随便删除这三个文件。

1.1.2文件权限概念

Linux 学习笔记(一)
  • 前10个字符代表文件类型权限
    1.第一个字符代表的这个文件是目录、文件或链接文件等:
    当为[d]就代表是目录 [-]代表的是文件 [l]代表的是链接文件 [b]表示设备文件里的可供存储的周边设备(可按快随机读写的设备) [c]表示为设备文件里的串行端口设备,例如键盘、鼠标(一次性读取设备)
    2.接下来的字符,三个为一组[rwx]组合,分别代表权限[r]表示可读、[w]表示可写、[x]表示可执行,要注意这三个权限的位置不会改变,如果没有权限,就会出现[-];
    这三组权限分别对应不同的角色,第一组为文件拥有者具备的权限,第二组为加入此用户组的账号具有的权限,第三组为非本人切没有加入用户组的账号权限
  • 第二栏链接数
    每个文件都会将它的权限和属性记录到文件系统的inode中,不过,我们使用的目录树却是使用文件名的记录,因此每个文件名就会链接到一个inode,这个属性记录的就是有多少不同的文件名链接到相同的一个inode号码
  • 第三栏文件拥有者
    这个文件或目录的拥有者账号
  • 第四栏文件所属用户组
    在Linux中,你的账号会加入一个或多个用户组中
  • 第五栏文件大小
    这个文件的容量大小,默认单位Bytes
  • 第六栏文件创建时间或最后被修改的时间
    如果想要完整的时间格式 ls -l –full-time
  • 第七栏文件名
    比较特殊的是 文件名之前多一个[.],则代表文件为隐藏文件

1.1.3修改文件权限

介绍几个常用于用户组、拥有者、各种身份的权限修改命令,如下:

  • chgrp:修改文件所属用户组
    change group的缩写,要被修改的组名必须要在/etc/group文件中存在才行,否则就会显示错误

chgrp groupname dirname/filename

  • chown:修改文件拥有者
    change owner简写,此外,如果要连目录下所有子目录和文件同时更改文件拥有者的话,直接加上[-R]选项即可
    通用写法:chown [-R] 账号名称 文件/目录

chown [-R] 账号名称:用户组名称 文件/目录 这种可以连同用户组一起修改

  • chmod:修改权限
    Linux文件的权限就9个,分别是拥有者,所属群组,其他人三种身份的读、写、执行权限,各权限对应数字:
    r->4、w->2、x->1,每种身份都有各自权限的数字是累加起来的,例如[-rwxrwx—]对应的权限数字为770,所以等我们设置权限时:
    写法:chmod [-R] 权限数字 文件/目录
    当然我们也可以直接操作rwx来实现权限分配,我们使用user简写为u,group简写为g,others简写为o,all代表全部身份简写为a,读写权限为rwx,可以使用接下来的方式

chmod u/g/o/a +/-/= r/w/x 文件或目录
举例
chmod u=rwx,go=rx test.txt
chmod g+w test.txt

1.1.4文件的权限意义

权限对文件的重要性

文件是实际含有数据的地方,包括一般文本文件、数据库文件、二进制可执行文件等,因此文件的权限:

  • r(read):可读取此文件的实际内容
  • w(write):可以编辑新增或是修改文件内容但不含删除该文件
  • x(execute):该文件具有可以被修通执行的权限
    文件的执行权限室友是否具有[x]权限来决定的,跟文件名没有绝对的关系,这一点个windows是不同的
    至于写权限,也只是针对文件内容的权限,并不具备删除该文件本身的权限,对于文件的rwx来说,主要是针对文件内容而言,与文件名的存在与否没有关系,因为文件记录的是实际的数据。

权限对目录的重要性

目录主要的内容在记录文件名列表,文件名与目录有强烈的关联。文件的rwx分别表示:

  • r:表示具有读取目录结构列表的权限,所以当你具有一个目录的r权限时,代表你可以查询该目录下的文件名列表数据,所以就可以使用[ls]命令将该目录的内容列表显示出来
  • w:这个写入权限对目录来说,相当重要,因为它表示你具有改动目录结构列表的权限,具体来说:
    1.建立新的文件与目录
    2.删除已经存在的文件与目录(不需要关注该文件或目录的权限是什么)
    3.将已存在的文件或目录进行更名
    4.移动该目录内的文件、目录位置
    总之,目录的w权限与该目录下的文件名的变动有关
  • x:目录的x权限代表用户是否可以进入该目录成为工作目录用途,所谓工作目录就是你当前所在的目录。

Original: https://www.cnblogs.com/amazing-yml/p/15986119.html
Author: amazing_yml
Title: Linux 学习笔记(一)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/643220/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球