下面是我的一段自动化脚本,目录(或)挂载点--deployumbro$Client的所有权按照预期被改变为ind$Client:ind,但另一方面,目录(或)挂载点的所有权,在case语句下没有被改变。仍然是root:root
不知道自己到底哪里出了问题。
#!/bin/bash
Client=$1
Region=$2
sudo mkfs -t xfs /dev/nvme1n1
sudo mkfs -t xfs /dev/nvme2n1
#Mount point creation for nvme2n1
mkdir -p /deploy/umbro/$Client
mount -t xfs /dev/nvme2n1 /deploy/umbro/$Client
sudo echo UUID=$(sudo blkid | grep /dev/nvme2n1 | grep -Eo [\"].*[\"] | awk '{print $1}'| tr -d '"') /deploy/umbro/$Client xfs defaults,nofail 0 2 >> /etc/fstab
perm=ind$Client:ind
chown -R $perm /deploy/umbro/$Client
#Mount point creation for nvme1n1, based on region
case $Region in
AUS)
mkdir -p /deploy/umbro/$Client/checkpoint/default/logs
chown -R ind$Client:ind /deploy/umbro/$Client/checkpoint/default/logs
mount -t xfs /dev/nvme1n1 /deploy/umbro/$Client/checkpoint/default/logs
sudo echo UUID=$(sudo blkid | grep /dev/nvme1n1 | grep -Eo [\"].*[\"] | awk '{print $1}'| tr -d '"') /deploy/umbro/$Client/checkpoint/default/logs xfs defaults,nofail 0 2 >> /etc/fstab
;;
EUR)
mkdir -p /deploy/umbro/$Client/checkpoint/arm/logs
chown -R ind$Client:ind /deploy/umbro/$Client/checkpoint/arm/logs
mount -t xfs /dev/nvme1n1 /deploy/umbro/$Client/checkpoint/arm/logs
sudo echo UUID=$(sudo blkid | grep /dev/nvme1n1 | grep -Eo [\"].*[\"] | awk '{print $1}'| tr -d '"') /deploy/umbro/$Client/checkpoint/arm/logs xfs defaults,nofail 0 2 >> /etc/fstab
;;
......
......
esac#!/bin/bash
Client=$1
Region=$2
sudo mkfs -t xfs /dev/nvme1n1
sudo mkfs -t xfs /dev/nvme2n1
#Mount point creation for nvme2n1
mkdir -p /deploy/umbro/$Client
mount -t xfs /dev/nvme2n1 /deploy/umbro/$Client
sudo echo UUID=$(sudo blkid | grep /dev/nvme2n1 | grep -Eo [\"].*[\"] | awk '{print $1}'| tr -d '"') /deploy/umbro/$Client xfs defaults,nofail 0 2 >> /etc/fstab
perm=ind$Client:ind
chown -R $perm /deploy/umbro/$Client
#Mount point creation for nvme1n1, based on region
case $Region in
AUS)
mkdir -p /deploy/umbro/$Client/checkpoint/default/logs
chown -R ind$Client:ind /deploy/umbro/$Client/checkpoint/default/logs
mount -t xfs /dev/nvme1n1 /deploy/umbro/$Client/checkpoint/default/logs
sudo echo UUID=$(sudo blkid | grep /dev/nvme1n1 | grep -Eo [\"].*[\"] | awk '{print $1}'| tr -d '"') /deploy/umbro/$Client/checkpoint/default/logs xfs defaults,nofail 0 2 >> /etc/fstab
;;
EUR)
mkdir -p /deploy/umbro/$Client/checkpoint/arm/logs
chown -R ind$Client:ind /deploy/umbro/$Client/checkpoint/arm/logs
mount -t xfs /dev/nvme1n1 /deploy/umbro/$Client/checkpoint/arm/logs
sudo echo UUID=$(sudo blkid | grep /dev/nvme1n1 | grep -Eo [\"].*[\"] | awk '{print $1}'| tr -d '"') /deploy/umbro/$Client/checkpoint/arm/logs xfs defaults,nofail 0 2 >> /etc/fstab
;;
......
......
esac
AWS EC2 - Red Hat Enterprise Linux Server 7.7版本,用户 - root。
奇怪的是,如果我手动执行下面的步骤,所有权会循环地改变,直到logs文件夹。
cd /deploy/umbro/$Client
chown -R ind$Client:ind checkpoint/
chown后,挂载成功了。感谢 @thatotherguy 的精彩解释。