Владелец общей папки Azure / Права доступа к группе возвращаются при перезагрузке виртуальной машины - PullRequest
2 голосов
/ 23 мая 2019

Я подключаю файловый ресурс Azure к /elasticdata/azshare на моей виртуальной машине Ubuntu 16.04 LTS.Я монтирую диск, используя следующий скрипт:

sudo mkdir /elasticdata/fileshare
if [ ! -d "/etc/smbcredentials" ]; then
sudo mkdir /etc/smbcredentials
fi
if [ ! -f "/etc/smbcredentials/fileshare.cred" ]; then
sudo bash -c 'echo "username=fileshare" >> /etc/smbcredentials/fileshare.cred'
sudo bash -c 'echo "password=password" >> /etc/smbcredentials/fileshare.cred'
fi
sudo chmod 600 /etc/smbcredentials/fileshare.cred

sudo bash -c 'echo "//fileshare.file.core.windows.net/analysis /elasticdata/fileshare cifs nofail,vers=3.0,credentials=/etc/smbcredentials/fileshare.cred,dir_mode=0777,file_mode=0777,serverino" >> /etc/fstab'
sudo mount -t cifs //fileshare.file.core.windows.net/analysis /elasticdata/fileshare -o vers=3.0,credentials=/etc/smbcredentials/fileshare.cred,dir_mode=0777,file_mode=0777,serverino,uid=$(id -u elasticsearch),gid=$(id -g elasticsearch)

В моей последней строке я установил владельца и группу расположения монтирования для пользователя elasticsearch.Я могу убедиться, что это правда после того, как диск смонтирован.

Затем я создаю символическую ссылку примерно так:

ln -s /elasticdata/fileshare/analysis /etc/elasticsearch

В /etc/elasticsearch/analysis я вижу владельца и группу, которые будут такимипользователя elasticsearch.

Когда я перезагружаю свою виртуальную машину, права доступа владельца и группы, которые я установил, возвращаются к таковым для пользователя root, и мой кластерasticsearch не может запуститься из-за следующей ошибки:

[HTTP/1.1 500 Internal Server Error]{"error":{"root_cause":[{"type":"access_control_exception","reason":"access denied (\"java.io.FilePermission\" \"/etc/elasticsearch/analysis/charmapping.txt\" \"read\")"}],"type":"access_control_exception","reason":"access denied (\"java.io.FilePermission\" \"/etc/elasticsearch/analysis/charmapping.txt\" \"read\")"},"status":500}`.

Как я могу предотвратить возврат разрешений?Или, как я могу позволитьвариалэскиз получить доступ к файлам другим способом?

1 Ответ

1 голос
/ 23 мая 2019

Попробуйте использовать / etc / fstab для монтирования файловой системы cifs во время загрузки.

Базовый / etc / fstab выглядит так

/dev/hda2   /              ext2 defaults             1 1
/dev/hdb1   /home          ext2 defaults             1 2
/dev/cdrom  /media/cdrom   auto ro,noauto,user,exec  0 0
/dev/fd0    /media/floppy  auto rw,noauto,user,sync  0 0
proc        /proc          proc defaults             0 0
/dev/hda1   swap           swap pri=42               0 0

Полагаю, вы хотите добавить строку в файл для файловой системы cifs. Это должно выглядеть примерно так.

//fileshare.file.core.windows.net/analysis /elasticdata/fileshare cifs defaults,uid=<user id you want>,gid=<group id you want> 0 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...