代码之家  ›  专栏  ›  技术社区  ›  Galet

如何在RHEL Azure虚拟机上的/mnt/resource中创建目录

  •  -1
  • Galet  · 技术社区  · 7 年前

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

    磁盘空间

    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.本地

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

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

    c.重启虚拟机。

    结果

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

    1. a.在/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
    

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

    sudo mkdir-p/mnt/resource/sample
    
    sudo chown-R sshuser:sshuser/mnt/resource/示例
    

    c.chmod+x/主页/sshuser/mount.sh

    d.systemctl后台程序重新加载

    e.systemctl启用mount.service

    f.systemctl启动mount.service

    停止并启动Azure虚拟机

    结果:- 未在/mnt/resource中创建示例目录/

    1 回复  |  直到 7 年前
        1
  •  0
  •   legatoproteus    6 年前

    我按照上面的聊天链接找到了@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上下文。