Linux文件及文件夹权限详解

版权声明:多多交流。 https://blog.csdn.net/qq_42776455/article/details/82660113

Linux文件及文件夹权限详解

虽然新手刚开始学Linux的时候基本都是以root权限,或者系统管理员的权限来操作的。随时随地加上“sudo”看似无所不能,其实非也。在实际你去公司工作上,肯定不会给你分配具有管理员权限的一些账号(至少在初期),一些萌新来说上网想学习结果被坑“sudo rm -rf /”这个仅仅只能在虚拟机上用,威力足够毁天灭地。有些夸张主要还是看该系统下文件的价值,这句话相当于windows下用管理员权限格式化C盘。举个简单的例子,你们家三个人:你,父亲,母亲。如果说把你们家看做一个组的话,你们三个就是这个家里的用户。用户可以创建文件吧,你写的私密日记不希望被父母看吧,你就是这本日记的拥有者,而你的父母虽然是同组,但是你并没有给同组的用户设置w(write),r(read),x(执行)的权利,他们不可以访问你的日记,其他人就更不可能了。
所以文件权限的设置就很重要了。


环境:
用户和组的创建及管理请看:https://blog.csdn.net/qq_42776455/article/details/82622906
- Xshell6远程连接到Ubuntu18.04。
- 两个用户,user1用户初始化直接加入到users,所以就不存在名叫user1的组。

hang:x:1000:1000:hang,,,:/home/hang:/bin/bash
user1:x:1001:1001::/home/user1:/bin/bash
  • 两个组:组名以及GID
hang:x:1000:
users:x:1001:

通过 ls 命令学习文件权限

这个是我用的user1用户创建的一个叫user1.test的文件,并查看权限的截图。
这里写图片描述
另外w(write),r(read),x(执行),大列为截图标识的。

  • 第1大列,表示档案类型和权限。第一列里一共有10小列,第一小列为一组,后面每三小列为一组。

    • 1,表示文档类型。
      • 【d】:表示为文件夹。
      • 【-】:表示为文件。
      • 其他的l,b,c很少用到。
    • 2~4,表示用户所有者的权限。
    • 5~7,用户组的权限,也就是用户所在组的权限。
    • 8~10,其他人的权限。
  • 第2大列,表示该文件的连接数。
  • 第3大列,该文件所有者的用户名。
  • 第4大列,表示文件所属组的组名。
  • 第5大列,文件的的大小,默认单位为bytes。
  • 第6大列,文件的创建时间。
  • 第7大列,文件名称。

文档属性的更改。

文档更改所有者

chown 【-R】 username dirname or filename

可选参数 -R 用在对文件夹操作时的,对文件夹下的每一个文件进行修改。

文档更改组

chgrp 【-R】 groupname dirname or filename

可选参数 -R 用在对文件夹操作时的,对文件夹下的每一个文件进行修改。


测试:
用hang用户创建aaa文件夹,并查看用户及所有者。

drwxrwxr-x  2 hang hang 4096 Sep 11 20:14 aaa/

将用户组改为users。

ubuntu:~/Desktop$ sudo chgrp -R users aaa
drwxrwxr-x  2 hang users 4096 Sep 11 20:14 aaa/

文档权限的修改。(重点!)

Linux文档的基本权限就有9个,分别是owner,group,others三种身份对应的三种权限:w(write),r(read),x(execute)权限。

数字类型改变文档权限。

不同权限的分数对照表

 - r:4
 - w:2
 - x:1

每种身份(owner/group/others各自的三个权限(r/wx)分数是需要累加的,例如:

扫描二维码关注公众号,回复: 3383841 查看本文章
drwxrwxr-x  2 user1 users 4096 Sep 11 20:14 aaa/
 - d表示是文件夹。
 - owner = rwx = 4+2+1 = 7
 - group = rwx = 4+2+1 = 7
 - others = r-x = 4+1 = 5

所以该文件夹的权限就可以简写成 :775,通过数字改变权限。

ubuntu:~$ sudo chmod 770 aaa/

现在权限已经变成了others没有任何权限。(可以加参数 -R,对文件夹进行操作。)

ubuntu:~$ ll
drwxrwx---  2 user1 users 4096 Sep 11 20:14 aaa/

如果想改文档的权限,w:4,r:2,x:1自行组合,加起来的数以owner,group,others对应起来就可以了。

符号类型改变档案权限。

chmod 【u,g,o,a】 【+,-,=】 【r,w,x】 filename/dirname
         - 【u,g,o,a】:user,group,others,all。可同时选多个。
         - 【+,-,=】:
             - +:表示给文档添加对应的权限。
             - -:除去文档已有的权限。
             - =:给文档设定权限。
         - 【r,w,x】:三个权限操作。read,write,execute。

aaa文件夹的权限目前是,u和g有全部权限,o没有任何权限。

drwxrwx---  2 user1 users 4096 Sep 11 20:14 aaa/

通过符号改变aaa文件夹权限,owner有所有权限,group有r和x的权限,others只能读。

$ sudo chmod u=wrx,g=rx,o=r aaa/ -R

结果:drwxr-xr-- 2 user1 users 4096 Sep 11 20:14 aaa/

猜你喜欢

转载自blog.csdn.net/qq_42776455/article/details/82660113