Cla*_*oli 10 ubuntu fstab amazon-ec2 ubuntu-12.04
我想知道在 EC2 实例上/tmp
的临时存储中安装端点/mnt
并授予ubuntu
用户默认写入权限的最佳方法是什么。
有些人建议这样编辑 /etc/rc.local :
mkdir -p /mnt/tmp && mount --bind -o nobootwait /mnt/tmp /tmp
但是,这对我不起作用(文件不同)。
我尝试编辑默认的 fstab 条目:
/dev/xvdb /mnt auto defaults,nobootwait,comment=cloudconfig 0 2
用/tmp 替换/mnt 并给它一个umask=0777,但是由于cloudconfig,它不起作用。
我正在使用 Ubuntu 12.04。谢谢。
Eri*_*ond 13
您列出的最初建议存在一些问题,尽管它似乎朝着好的方向发展:
出于安全目的,该mkdir
命令应创建具有在模式中设置的粘滞位的目录:
mkdir -m 1777 /mnt/tmp
Run Code Online (Sandbox Code Playgroud)在-o nobootwait
似乎没有必要,因为这不被保存/mnt/fstab
。
所以,我建议在/etc/rc.local
以下方面尝试:
test -d /mnt/tmp || mkdir -m 1777 /mnt/tmp
mount --bind /mnt/tmp /tmp
Run Code Online (Sandbox Code Playgroud)
/etc/fstab
当您停止/启动实例或创建 AMI 并运行新实例时,任何将绑定安装放入的尝试都会遇到问题,因为 /mnt 是临时存储并且所有内容(包括/mnt/tmp
目录)都将消失.
Rôm*_*con 13
由于您正在运行 Ubuntu,因此更强大的方法是将Eric Hammond 的建议放入Upstart脚本中,并在安装后 立即完成绑定/mnt
:
# File /etc/init/mounted-mnt.conf
# mounted-mnt - Binds /tmp to /mnt/tmp
description "Binds /tmp to /mnt/tmp"
start on mounted MOUNTPOINT=/mnt
task
script
test -d /mnt/tmp || mkdir -m 1777 /mnt/tmp
mount --bind /mnt/tmp /tmp
end script
Run Code Online (Sandbox Code Playgroud)
某些服务器,如 Apache/Passenger,可能会在/tmp
. 一旦rc.local
——启动序列中的最后一个——运行,它们就会被隐藏并混淆服务器。
归档时间: |
|
查看次数: |
8002 次 |
最近记录: |