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

时间:2018-07-10 10:38:30

标签: linux azure service rhel init.d

我想在虚拟机启动期间在RHEL Azure虚拟机上的/ 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. a。 chmod + x /etc/rc.d/rc.local

b。在/etc/rc.d/rc.local

中的文件末尾添加以下行
sudo mkdir -p /mnt/resource/sample

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

c。重新启动VM。

结果:

未在/ mnt / resource /

中创建的示例目录
  1. a。在/etc/systemd/system/mount.service

  2. 中添加以下内容
[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

b。在/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守护程序重新加载

e。 systemctl启用mount.service

f。 systemctl启动mount.service

停止并启动Azure VM

结果:- 未在/ mnt / resource /

中创建的示例目录

1 个答案:

答案 0 :(得分: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上下文。