如何在RHEL Azure VM上的/ mnt / resource中创建目录

问题描述 投票:0回答:1

我想在VM启动期间在RHEL Azure VM上的/ mnt / resource文件夹中创建一个目录并提供用户权限。

df -h

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        32G   12G   20G  38% /
devtmpfs         56G     0   56G   0% /dev
tmpfs            56G     0   56G   0% /dev/shm
tmpfs            56G  8.4M   56G   1% /run
tmpfs            56G     0   56G   0% /sys/fs/cgroup
/dev/sda1       497M  103M  394M  21% /boot
/dev/sdb1       221G  2.3G  207G   2% /mnt/resource
tmpfs            12G     0   12G   0% /run/user/1000

我试过以下。但它对我没有帮助。

  1. 一个。 chmod + x /etc/rc.d/rc.local

湾在/etc/rc.d/rc.local中的文件末尾添加以下行

sudo mkdir -p /mnt/resource/sample

sudo chown -R sshuser:sshuser /mnt/resource/sample

C。重启虚拟机

结果:

示例目录未在/ mnt / resource /中创建

  1. 一个。在/etc/systemd/system/mount.service中添加以下内容
[Unit]
Description=Description for sample script goes here
Requires=network.target
After=network.target

[Service]
Type=simple
ExecStart=/home/sshuser/mount.sh
TimeoutStartSec=0
User=root

[Install]
WantedBy=multi-user.target

湾在/home/sshuser/mount.sh中添加以下内容

sudo mkdir -p /mnt/resource/sample

sudo chown -R sshuser:sshuser /mnt/resource/sample

C。 chmod + x /home/sshuser/mount.sh

d。 systemctl daemon-reload

即systemctl enable mount.service

F。 systemctl start mount.service

停止并启动Azure VM

结果: - 未在/ mnt / resource /中创建样本目录

linux azure service rhel init.d
1个回答
0
投票

我按照上面的聊天链接发现@karan遇到了一个很好的答案。将它与我拥有的内容合并,这里的代码完全适用于需要此功能的任何人:

#!/bin/bash
# set this to your /mnt/resource/______ directory name
MY_DIRECTORY=sample

#wait for /mnt/resource to be created
while [ `mount | grep /mnt/resource | wc -l` -lt 1 ];
do
    logger "Waiting five more seconds for /mnt/resource to be created by waagent..."
    sleep 5
done

# test if folder is missing. If so, create it, set SE context & ownership
if [ ! -d /mnt/resource/${MY_DIRECTORY} ]; then
    mkdir --context=system_u:object_r:httpd_sys_rw_content_t:s0 /mnt/resource/${MY_DIRECTORY}
    chown apache: /mnt/resource/${MY_DIRECTORY}
    logger "/mnt/resource/${MY_DIRECTORY} created, SE context and owner & group set"
else
    logger "/mnt/resource/${MY_DIRECTORY} already exists."
fi

如上所示,此文件夹用于apache,但根据您的需要更改所有者,组和se上下文。

© www.soinside.com 2019 - 2024. All rights reserved.