hash值, 监控工具, umask, 分区, inode和block

1. hash值

对文件进行hash运算, 生成一段哈希值, 对比自己的哈希值和发送文件给其他人后的哈希值, 检验文件是否被修改

md5sum file
sha1sum file
sha256sum file
sha512sum file
# /etc/login.defs 可以查看一些关于生成用户的基本配置, 
# 在给用户加密是用的是sha512算法

2. chage

先来看看/etc/shadow的内容:

用户名:加密后的密码:从1970.1.1开始到上一次修改密码之间的时间:密码的最小存活期:最大存活期:\
警告天数:密码过期时间:账号过期时间:保留位
# 注:
# passwd: !!表示没有设置密码, !表示lock, 用户无法登录
# 若第三个位置的值为0, 则强制用户在下一次登录时修改密码
# 在密码的最小存活期限内不可修改密码, 为0则表示随时可以修改
chage options username
  -d days
  -L lock | -U unlock
  -E 过期
  -I 过期

3. 监控工具

w # 查看系统中当前的用户连接数
last # 用户登录系统的历史
lastb # 登录未遂的历史
lastlog # 登录的日志

4. 默认权限umask

目录 777
文件 666 # 默认权限中去除了x权限, 使系统更安全
不同用户的umask值:
root 0022
普通用户 0002
初始配置的umask值在/etc/bashrc中, 用户可在~/.bashrc中定义自己的umask值
# 最终用户创建的目录默认权限 = 777 - 用户的umask值
#              文件        = 666 - 用户的umask值

5. 分区与文件系统

作用: 逻辑分割硬盘

文件系统类型     适合的环境    优缺点
xfs             大文件        占CPU多, 但性能佳
ext             小文件        占CPU少, 性能没有xfs好
# 文件系统分好之后inode和block的数量就同时被确定好了

baobab

文件系统使用占比的图形化展示

6. inode和block

inode与文件一一对应, inode数量用完便不能存文件

file

元数据 数据
metadata data
用来描述数据 block size, 文件系统的最小组成单位: 1K, 2K, 4K
类型, 权限, UID, GID
链接数
大小, 时间戳
指针(指明数据在磁盘中的位置)
等等...
# 用户真正在读取一个文件数据的过程是这样的:
/root -> word (文件名) -> inode (文件名所对应的) 
-> inode 表 (找到对应的指针) -> block块中的data
# ext派系的命令:
ls -h # 实际大小(包括其内所含文件)
du -h # 所占的block块大小
df -i # 查看每一个分区的文件系统的inode信息
tune2fs -l /dev/sda1 # 查看分区/dev/sda1的super block信息
dumpe2fs /dev/sda1 # 查看分区/dev/sda1的块组信息(包括普通块和超级块)
# 修复ext系列文件系统(假设/dev/sdb1挂载在/mnt下):
dd if=/dev/zero of=/dev/sdb1 bs=1K count=4 #破坏了分区/dev/sdb1的第一个superblock
umount /mnt # 修复时需要先卸载
fsck /dev/sdb1 # 进行文件系统检查
e2fsck [-b 98304] /dev/sdb1 # 可用-b选项指定以98304位置的超级块进行修复
# 注: lost+found 此文件中若存在内容, 一般是inode与block无法对应等文件系统损坏的问题
# 修复xfs系列文件系统:
xfs_repair

(1) cp和inode

    1. 分配了一个新的inode, 在inode table中新建了一条entry
    2. 目录下新建文件名, 建立inode和block之间的映射
    3. 将data复制到新文件所对应的block中

(2) mv和inode

  • 同一个文件系统内:
    1. 新目录下创建新文件名
    2. 删除旧的文件名
    3. inode table和data block均不变
  • 不同的文件系统内:
    1. cp + rm
    1. 会在新的文件系统内分配新的inode

(3) rm和inode

    1. 减少链接数, 直到为0
    2. block块将被释放, 转为可用(但此时原数据依旧存在)
    3. 移除文件名

7. 软硬链接

(1) 硬链接

# 特点:
# 1. 在同一个文件系统内
# 2. 有同一个inode
# 3. link count + 1
# 4. 不可跨分区和磁盘
# 5. 两者指向同一个文件数据, 其中一个被修改时另一个也会被修改
link source dest
link /root/tmp_test/ /tmp/ # 将/root/tmp_test硬链接到/tmp目录

(2) 软链接

link -s source dest
link -s /root/boot_test/ /boot/ 
# 将/root/boot_test软链接到/boot目录, 注意使用文件的绝对路径!
# lrwxrwxrwx中的"l"特指软链接

你可能感兴趣的:(hash值, 监控工具, umask, 分区, inode和block)