Linux文件&目录权限概述

252 阅读4分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第1天,[点击查看活动详情]

一、文件/目录 所有者

一般为文件/目录的创建者,谁创建了该文件,谁就自然的成为该文件/目录的所有者

查看文件/目录的所有者

指令:ls -ahl

修改文件/目录所有者

指令:chown 用户名 文件名/目录名

递归修改文件/目录所有者

kkk目录下所有文件和目录的所有者都修改成bandit

指令:chown -R bandit kkk/

二、文件/目录 所在组

当某个用户创建一个文件/目录后,默认这个文件/目录的所在组就是该用户所在的组

查看文件/目录所在组

指令:ls -ahl

修改文件/目录所在组

指令:chgrp 组名 文件名/目录名

递归修改文件/目录所在组

kkk目录下所有文件和目录的所在组都修改成bandit

chgrp -R bandit kkk/

三、其它组

除文件/目录的所有者和所在组用户外,系统的其他用户都是文件/目录的其他组

四、改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,用root的管理权限可以改变某个用户所在的组

添加组

指令:groupadd 组名

添加用户

添加一个用户并指定他所在组,如果不指定组 则默认所在组为与他的用户名相同的组

指令:useradd 用户名 -g 组名

改变用户所在组

指令:usermod -g 组名 用户名

改变用户登录的初始目录

指令:usermod -d 目录名 用户名

五、权限的基本介绍

image.png

举例:-rw-r--r--. 1 root root 313K Apr 6 13:37 account.py

0-9位说明

  1. 第0位确定文件类型(d,-,l,c,b)
  2. 第1-3位确定所有者拥有该文件的权限--User
  3. 第4-6位确定所在组拥有该文件的权限--Group
  4. 第7-9位确定其他用户拥有该文件的权限--Other 文件类型:-:普通文件 d:目录 l:软链接 c:字符设备【键盘、鼠标】 b:块文件,硬盘

文件大小:4.0k为目录

第10位后面的数字:如果是文件,表示硬链接的数;如果是目录则表示子目录的数

名词解释

硬链接:硬链接是指通过索引节点来进行链接。在Linux中一个索引节点可能被多个文件名指向,这样就会产生多个硬链接,它的作用是可以防止误删文件

软链接:软链接也称为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径

六、rwx权限详解

rwx作用到文件

  1. [r]代表可读(read):可以读取,查看
  2. [w]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
  3. [x]代表可执行(execute):可以被执行

rwx作用到目录

  1. [r]代表可读(read):可以读取,ls查看目录内容
  2. [w]代表可写(write):可以修改,目录内创建+删除+重命名目录
  3. [x]代表可执行(execute):可以进入该目录

七、修改权限

第一种方式:+、-、= 变更权限

u:所有者 g:所在组 o:其他人 a:所有人

  1. chmod u=rwx,g=rx,o=x 文件/目录名 (给所有者读写执行权限,所在组读执行权限,其他人执行权限)
  2. chmod o+w 文件/目录名 (给其他人添加上写权限)
  3. chmod a-x 文件/目录名 (给所有人去掉执行权限)

第二种方式:通过数字变更权限

规则:r=4,w=2,x=1

chmod u=rwx,g=rx,o=x 文件/目录名

相当于

chmod 751 文件/目录名

八、实战总结

案例

用户名->组名

admin->admin

aaa->admin

bbb->police

drwxr-xr--. 2 admin police 4096 Mar 16 14:19 kthrp

测试结果:aaa用户进不了kthrp目录,bbb用户可进入

-rwxrwxr--. 1 admin police 0 Mar 16 14:29 kthrp.sh

测试结果:aaa用户只读,bbb用户可读可写可执行

结论:1-3位代表文件/目录所有者的权限;4-6位代表文件/目录所在组下面其他用户的权限(不包括所有者);7-9代表其他用户的权限。一般情况下,文件/目录所有者属于所在组