跳转至

技巧


文件权限

Setuid 权限(SUID):当用户执行一个 SUID 标记的文件时,该文件将以其所有者的身份而非执行用户的身份运行。SUID 权限可以通过在文件权限中设置数字 4 来启用 chmod 4755 filename

Setgid 权限(SGID):与 SUID 权限类似,当用户执行一个 SGID 标记的文件时,该文件将以其所属用户组的身份而非执行用户的身份运行。SGID 权限可以通过在文件权限中设置数字 2 来启用 chmod 2755 directory

Sticky Bit 权限:当 Sticky Bit 标记设置在一个目录中时,只有目录所有者和文件所有者才能删除其中的文件。Sticky Bit 权限可以通过在目录权限中设置数字 1 来启用 chmod 1777 directory

tom用户只能删除自己的文件,但是不能删除jerry的文件。SBIT权限只针对目录有效,用户对该目录w和x有效


调整磁盘分区

fdisk 只支持2T一下的磁盘.

ext4

  • 离线调整分区大小需要先卸载分区umount 掉需要调整的分区

    若提示磁盘忙的话请使用fuser 命令将正在使用磁盘的程序kill掉。

  • 使用 fdisk /dev/sdb 命令调整分区大小

    • 进去后先使用p命令查看磁柱号 ,记下来
    • 用d命令删除掉这你需要变化的分区和需要合并的分区
    • 如果没有其他分区,只需删除需要变化的分区
    • 然后再使用n命令建立分区
    • 注意开始的磁柱号要和原来的一致,结束的磁柱号可以是你期望的磁柱号
    • 使用w命令保存分区表去,q退出fdisk
  • 使用 e2fsck -f /dev/sdb1 检查分区

  • 最后再使用 resize2fs -p /dev/sdb1 来完成实际调整分区操作

或者使用parted

1
2
3
4
parted /dev/vdb 选择磁盘
resize2fs 选择对应分区
q退出fdisk
resize2fs -f /dev/vdb 完成实际调整

缩小容量类似:
最后检查命令 resize2fs -f /dev/vdb 15G

xfs

分区后大小没变

partprobe 重读分区表,告知内核分区大小已经变化
xfs_growfs /dev/sdb1 扩容文件系统
resize2fs 是一个用于调整文件系统大小的工具

可行方案,扩容xfs

1
2
3
4
5
6
7
8
9
1、调整好磁盘大小后
2、parted /dev/sdb
3、resizepart
4、选择需要调整的分区。如 1
5、输入结束的位置
6、q 调整结束
7、partprobe 重读分区表
8、挂载
9、xfs_growfs /dev/sdb1 扩容文件系统

只允许特定ip访问Docker的服务

Docker与iptables (在DOCKER-USER链中处理)
Docker至少会在iptables规则中自动安装两个新链,一个是DOCKER,一个是DOCKER-USER,可以通过如下方式查看

方法一:

如果想要对docker端口做访问限制,可以参考如下规则:

#只允许192.168.1.1访问docker的服务,其中ens33是你机器上的实际网卡名
iptables -I DOCKER-USER -i ens33 ! -s 192.168.1.1 -j DROP

#只允许网段192.168.1.0/24
iptables -I DOCKER-USER -i ens33 ! -s 192.168.1.0/24 -j DROP

#只允许ip范围
iptables -I DOCKER-USER -m iprange -i ens33 ! --src-range 192.168.1.1-192.168.1.3 -j DROP

方法二:

1
2
3
4
5
Docker加入自定义iptables规则链(新建一个链加在FORWARD中进行处理)
https://www.cnblogs.com/jiftle/p/13821394.html

PS : 这位同学整理了iptables的详细文档,非常详细,推荐阅读。
https://www.kancloud.cn/jiftle/iptables-detailed-introduction/1972252

把大于2T的多块硬盘挂载同一个目录

在物理服务器里,如果希望将两块大于2T的多块硬盘全部挂载到同一个指定目录下, 可以使用逻辑卷管理器(Logical Volume Manager,LVM)来完成, 以下是通过 LVM 将两块硬盘挂载到同一个目录的详细步骤,多块磁盘操作步骤一样。大道至简,直接上过程。

1、首先确保已经准备好并正确连接了这两块硬盘到服务器上。创建物理卷(Physical Volumes):
sudo pvcreate /dev/sdb1 /dev/sdc1
sdb1和sdc1这两块磁盘可以通过parted进行创建。

2、创建卷组(Volume Group)
sudo vgcreate myvg /dev/sdb1 /dev/sdc1
myvg 是卷组的名称,您可以根据需要进行自定义。

3、创建逻辑卷(Logical Volume):
sudo lvcreate -l 100%FREE -n mylv myvg
mylv 是逻辑卷的名称,也可以根据需要进行自定义。

4、创建文件系统(如 ext4):
sudo mkfs.ext4 /dev/myvg/mylv

5、创建一个目录作为挂载点或直接挂载到某个已有目录
sudo mkdir -p /home/HSP
将逻辑卷挂载到挂载点上
sudo mount /dev/myvg/mylv /home/HSP
查看挂载后结果
现在,两块硬盘都已经通过 LVM 挂载到了/home/HSP目录下。您可以通过访问该目录来查看并操作这两个硬盘上的文件和文件夹。请注意,在进行任何对硬盘的操作之前,请确保备份重要数据,以防止意外数据丢失。

6、写入fstab配置文件,重启系统,查看挂载目录。