13-Linux核心知识-文件属性-中部

secondid 2019-12-05

第一列后9个字符表示linux权限
9位(12位)
基础权限分三组:
-rw- r-- r-- 1 yuyu yoyo exam
本人 家人 物品

rw- r-- r--
用户权限 用户组权限 其他权限

用户权限:文件对应的用户,对该文件的权限,看前3位
用户组权限:文件对应的用户组,对该文件的权限,看中3位
其它权限:既不是自己,也是不用户组,其他的用户对该文件的权限看后3位

文件的权限表示
r read 读的权限: cat /etc/hosts (信息不能泄露)
w write 写的权限: vim echo
x execute 执行的权限:可执行的程序

  • 没有权限

Linux 真正识别用户和组身份的不是用户名和组名,而是UID 和 GID,名称是给管理员用户的
用户和组:
Linux 用户是一个很重要的角色。

用户名 root 名字
身份 uid (User Identify)

用户组名 root
身份 :gid(Group Identify)

一切存在的文件都应该对应一个用户和组,包括:文件、目录、进程

默认创建文件:用户和组都是当前用户和组

首次登陆不允许用 root ,只能用普通用户

下放权限:
1、root 给所有运维人员:错的
su -root 切到root 权限
2、root 按照普通用户的任务,分配特定的权限(某个命令的使用权限)
sudo 命令实现

2、普通用户
平民
一般只能在家目录里进行管理,不能超出家目录
UID 500以上 C6 1000以上为C7系统
开发人员使用,对很多文件能看不能改和删。家目录里(/tmp) 可以删

3、虚拟用户(傀儡)
虚拟用户是为是满足以下环境:
一切存在的文件都应该对应一个用户和组的需求
又不希望能够登陆,设备不能登录
UID 1-99 C6 1-999 C7

虚拟用户是如何产生的?
1、安装软件自动产生
2、管理员用户创建

[ /home]$ useradd mysql -M -s /sbin/nologin
[ /home]$ id mysql
uid=1000(mysql) gid=1000(mysql) groups=1000(mysql)

/sbin/nologin 表示不能登陆

[ /home]$ useradd  -u 1100 -M -g uuu -s /sbin/nologin uuu
[ /home]$ id uuu
uid=1100(uuu) gid=1001(uuu) groups=1001(uuu)

用户和组的关系:
Linux是一个多用户多任务的操作系统

用户和组的关系
一对一
一对多
多对一
多对多

用户相关的命令
useradd
userdel
usermod
groupadd
groupdel

以单位显示文件大小 ls -lh
以单位显示目录加内容大小 du -sh /etc

[ /home]$ stat /etc/hosts
  File: ‘/etc/hosts’
  Size: 10240       Blocks: 24         IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 33689918    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:net_conf_t:s0
Access: 2019-12-04 17:58:29.694161675 -0500
Modify: 2019-12-04 17:08:23.000000000 -0500
Change: 2019-12-04 17:20:26.494268101 -0500
 Birth: -

Access 访问时间 被访问被看过了
Modify 修改时间,内容发生变化
Change 改变/变化时间,属性发生变化了(大小)
ls -l 默认展示的是修改时间

find 对应参数
-ctime
-mtime *
-atime

[ /exam]$ ls -lhi
total 28K
drwxr-xr-x. 3 root root   18 Nov 21 07:18 ceo
-rw-r--r--. 1 root root   11 Dec  2 19:28 exam.txt
-rw-r--r--. 1 root root  465 Nov 21 10:23 fstab
-rw-r--r--. 1 root root  158 Nov 21 10:25 hosts
-rw-r--r--. 1 root root   86 Dec  2 19:26 police.md5
-rw-r--r--. 1 root root  352 Nov 19 10:51 reg.txt
-rw-r--r--. 1 root root   86 Nov 19 12:29 sed.txt
drwxr-xr-x. 6 root root 4.0K Nov 21 10:23 sysconfig

索引节点, inode (index node)
每个文件都会对应一个且只有一个索引节点
索引节点是一个文件的唯一标识
索引节点是一块存储空间,大小C5 128/C6 256字节大小
索引节点存放的东西:文件属性信息以及指向文件实体的指针/位置
但是不包含文件名(目录的block).

格式化是创建文件系统
对于ext(ext2 ext3 ext4)文件系统:
至少生成两样东西:
inode:索引节点,存放文件属性的空间,256字节。生成200万个
1、每个文件的唯一标识
2、inode相同的文件是互为硬链接文件
3、256字节
4、属性信息和指向文件实体的指针
block:存放实体内容,生成500万个
1、存放文件内容
2、1K,2K,4K
3、一个block只能存放一个文件
0.1K占一个block,浪费3.9K(不能放东西了)
1M的文件占25个block
4、系统是按照block大小读取文件的。

block大还是小?
大的好处:
1M block  100M  100次读完 。 IO
大的坏处
1K  100M  100000次读完
当小文件多的时候会浪费磁盘空间

相关推荐