Linux 的档案权限与目录配置--1

角色的概念

  • root ———— 超级管理员,相当于天神的存在,普通用户用 su 命令输入密码可切换至 root 权限去执行特定任务。
  • 普通用户 ———— 我们经常使用的账户
    • 其他人 ———— 在 linux 中,除了我们自己的账户和root外,其他的都是其他人喽
1、 拥有者  ———— 就是拥有这个档案的人喽  
2、 群组  ———— 在linux中一个用户至少有一个组,可以同时加入多个组。  
3、 其他人  ———— 上面解释了,这里写呢,就是为了明白权限的概念喽  
Tips:
- 所有的用户信息都在 /etc/passwd  文件里  
- 所有的用户密码都在 /etc/shadow  文件里  
- 所有的用户组名都在 /etc/group  文件里  

ls -al 所显示的信息如下

                            档案所属组            档案最后修改日期
-rw-r--r--     1     root     root     1864     May 4 18:01     install-setup-cfg  
档案类型权限    链接数    档案所有者        档案大小                    档案名称  

1、档案权限

合计 10 个字符
- rwx rwx rwx
  • 第一个是代表档案类型
    • d ———— 目录
    • - ———— 档案
    • l ———— 链接档
    • b ———— 表示为装置档案里面的可供存储的周边设备(可随机存取装置)
    • c ———— 表示装置档里面的序列埠设备,如:键盘、鼠标等一次性读取装置
  • 后面三个一组
    • 每一组分别代表 : 拥有者权限、所属组权限、其他人权限
    • 每一组中的 rwx 分别代表: r=read 、 w=write 、x=execute(读写执行)

2、链接数:即表示有多少档案连接到此结点(i-node)

3、这个档案或目录的拥有者

4、这个档案所属于的群组

5、这个档案的大小,预设值显示单位为 bytes,

-如果想要显示可读性比较高的可以 `ls -lh`  这里的 h 是 human  

6、文档被修改的时间

- 如果文档被修改的时间久了可能显示不全,可以使用 `ls -l --full-time`  

7、档案的名称

- 如果档案的名称前面多一个点`.`,则代表这是一个隐藏文档,用 `ls -a` 可以查看隐藏文档  

改变档案属性与权限

chgrp 改变所属组

被改变的群组名称必须要在 /etc/group 档案内才可以。

chgrp [-R] dirname/filename ...  
-R 选项便是递归  

例如:chgrp users 1.txt  
这里的 users 是组名  
1.txt 是文件名  

chown 改变所有者

被改变的搜有着必须是在 /etc/passwd 档案内有的才可以

chown [-R] 账号名称 档案或目录名称  
chown [-R] 账号名称:群组名称 档案名称或目录名称  

这里的 -R 表示递归 (recursive)  
用 `:` 可以同时改变所有者和所属组  
例如:  
chown root:root 1.txt  

Tips:事实上,chown 也可以使用【chown user.group file】来同时改变所有者和所属组,不过因为有人在设置账号的时候喜欢在账号中加入小数点,所以,为了避免系统误判,建议使用冒号 :

什么时候用到改变所属组和所有者的呢?例如:  
当我们用 cp 复制文档的时候:  
cp 来源档案 目的档案  
因为cp命令会复制操作者的属性与权限,所以如果是你把自己的 rc 文档复制给别人,那别人可能无法使用,所以需要改变所有者和所属组  

chmod 改变权限

上面讲到了,linux 档案的基本权限有 9 个,分别是 owner/group/others 三种身份各自的 read/write/execute 权限【-rwxrwxrwx】第一个 - 代表档案,后面每三个一组,对应三种身份的 rwx

数字改变权限

我们可以使用数字代表各个权限,对照表如下:
r 4
w 2
x 1

owner/group/others = rwx = 4+2+1 = 7
[-rwxrwxrwx] = 777
使用与案例如下:

chmod [-R] xyz 档案或目录  
xyz 代表三个数组  
-R 表示递归
例如:
chmod 777 1.txt

符号改变权限

          u 
chmod     g    +     r       档案或目录 
          o    -     w 
          a    =     x 

u=owner/g=group/o=others/a=all
+(加入); -(减去); =(设定)

元件 内容 迭代物件 r w x
档案 详细资料data 文件资料夹 读到文档内容 修改文件内容 执行文件内容
目录 档名 可分类抽屉 读到档名 修改档名 进入该目录的权限(key)
如果你在某目录下不具有 x 的权限,那么你就无法切换到该目录,也无法执行该目录下的任何指令,即使你有该目录的 r 或 w 的权限也不行。  
要开放目录给别人浏览的时候,应该至少也要给予 r 及 x 的权限,但是 w 的权限不可随便给

假设有:

  • /dir1/file1
  • /dir2
操作动作 /dir1 /dir1/file1 /dir2 重点
读取 file1 内容 x r - 要能够进入 /dir1 才能读到里面的文件资料
修改 file1 内容 x rw - 能够进入 /dir1 且修改 file1 才行
执行 file1 内容 x rx - 能够进入 /dir1 且 file1 能够运行才行
删除 file1 档案 wx - - 能够进入 /dir1 具有目录修改的权限即可
将 file1 复制到 /dir2 x r wx 要能够读 file1 且能够修改 /dir2 内的资料
  • Tips:很多时候 /dir1 都不必有 r 权限,为啥?
    • dir 相当于一个抽屉,r 代表抽屉里面的灯光,你都能够看到抽屉里的所有东西了,有没有灯光也就无所谓了,你抹黑也可以从抽屉拿东西不是?
    • r 是非必备的,但是如果没有 r 的话,在使用 [tab] 时,无法自动帮你补全名字。

hare
2020.2.23

posted @ 2020-02-20 16:18  hare1925  阅读(165)  评论(0编辑  收藏  举报