[内容] Ansible 变量的优先级

第 1 优先级

全局范围的变量(例如:执行临时命令时指定的变量)

第 2 优先级

Playbook 里的变量。

第 3 优先级

主机范围里的变量(例如:清单中的服务器或服务器组)

(补充:清单中的服务器优先级高于清单中的服务器组)

[内容] Linux Umask 的设置

内容一:Umask 值的含义

如果 Umask 的值是 0022:
创建的新目录的默认权限是:777 – 022 = 755
创建的新文件的默认权限是:666 – 022 = 644

内容二:临时设置 Umask

2.1 查看当前 Umask 值

# umask
0022

2.2 临时设置 Umask 值

2.2.1 方法一:使用权限数字设置默认权限值
# umask 0002
2.2.2 方法二:使用权限标志设置默认权限值
# umask -S u=rwx,g=rwx,o=rw

内容三:永久设置 umask

3.1 给某个用户单独永久设置 Umask

3.1.1 切换到要永久设置 Umask 的用户
# su - root

(补充:这里以切换到 root 用户为例)

3.1.2 给某个用户单独添加 Umask 参数
# vim ~/.bashrc 

添加以下内容:

......
umask 022

(补充:这里以将 Umask 设置为 022 为例)

3.1.3 让 Umask 设置生效
# source ~/.bashrc

3.2 全局永久设置 Umask 的方法

3.2.1 在 /etc/login.defs 配置文件里设置默认 Umask 参数
# vim /etc/login.defs

将以下内容:

UMASK ......

修改为:

UMASK           022

(补充:这里以将 Umask 的默认值设置为 022 为例)

3.2.2 在 /etc/profile 配置文件里设置全局 Umask 参数
# vim /etc/profile

将以下内容:

......
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask ......
else
    umask ......
fi
......

修改为:

......
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002
else
    umask 022
fi
......

(补充:这里以将 UID 小于 199 的用户 Umask 设置为 002,UID 大于等于 199 的用户 Umask 设置为 022 为例)

(注意:openSUSE & SLES 的 /etc/profile 配置文件里没有这些内容,所以如果是对 openSUSE & SLES 进行操作时则需要手动创建这些内容)

或者:

# vim /etc/profile

添加以下内容:

......
umask 022

(补充:这里以将所有用户的全局 Umask 设置为 022 为例)

3.2.3 在 /etc/bashrc 配置文件里设置全局 Umask 参数
# vim /etc/bashrc

将以下内容:

......
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask ......
else
    umask ......
fi
......

修改为:

......
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002
else
    umask 022
fi
......

(补充:这里以将 UID 小于 199 的用户 Umask 设置为 002,UID 大于等于 199 的用户 Umask 设置为 022 为例)

(注意: openSUSE & SLES 没有 /etc/bashrc 配置文件,所以如果是对 openSUSE & SLES 进行操作时则需要手动创建此文件和这些内容)

或者:

# vim /etc/bashrc

添加以下内容:

......
umask 022

(补充:这里以将所有用户的全局 Umask 设置为 022 为例)

(注意: openSUSE & SLES 没有 /etc/bashrc 配置文件,所以如果是对 openSUSE & SLES 进行操作时则需要手动创建此文件)

3.2.4 让永久设置的 Umask 设置生效
# source /etc/bashrc ; source /etc/profile


注意:
1) 当永久设置的 Umask 生效后,用户必须要重新登录后才会刷新 Umask
2) 当 /etc/login.defs 配置文件、/etc/bashrc 配置文件和 /etc/profile 配置文件里设置的 Umask 值不一致时,会以 /etc/profile 文件里设置的为准
3) 当同一个文件里设置了多个 Umask 个值时,会以最后一个值为准

[命令] Linux 命令 lsblk (显示硬盘信息)

内容一:硬盘信息显示命令 lsblk 的选项

-a 或者 –all 显示所有设备
-b 或者 –bytes 以字节为单位而非易读的格式来显示 SIZE
-d 或者 –nodeps 不显示从属设备(slave)或占位设备(holder)
-D 或者 –discard 显示时丢弃能力
-z 或者 –zoned print zone model
-e 或者 –exclude <列表> 根据主设备号排除设备(默认:内存盘)
-f 或者 –fs 输出文件系统信息
-i 或者 –ascii 只使用 ascii 字符
-I 或者 –include <列表> 只显示有指定主设备号的设备
-J 或者 –json 使用 JSON 输出格式
-l 或者 –list 使用列表格式的输出
-T 或者 –tree use tree format output
-m 或者 –perms 输出权限信息
-n 或者 –noheadings 不显示标题
-o 或者 –output <列表> 输出列
-O 或者 –output-all 输出所有列
-p 或者 –paths 显示完整设备路径
-P 或者 –pairs 使用 key=“value” 输出格式
-r 或者 –raw 使用原生输出格式
-s 或者 –inverse 反向依赖
-S 或者 –scsi 输出有关 SCSI 设备的信息
-t 或者 –topology 输出拓扑信息
-x 或者 –sort <列> 按<列>对输出排序
–sysroot <dir> 使用指定目录当作根 “/” 目录
-h 或者 –help 显示帮助
-V 或者 –version 显示版本

内容二:信息显示命令 lsblk 的使用

2.1 使用案例一:使用 lsblk 命令显示所有硬盘情况

# lsblk

2.2 使用案例二:使用 lsblk 命令显示所有硬盘的格式化信息

# lsblk -f

或者:

# lsblk --fs