Используя autofs для монтирования в соответствии с корневым каталогом каждых пользователей

ALSA's aplay может перечислить устройства; карта может содержать несколько устройств, хотя:

$ aplay --list-devices
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: AD198x Analog [AD198x Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: AD198x Digital [AD198x Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
4
08.01.2013, 03:54
3 ответа

Я сделал большую работу с autofs и монтирование множества различных типов ресурсов с помощью него. Можно проверить страницу справочника для autofs который действительно отвечает на некоторые Ваши вопросы, если можно сохранить прямыми это, когда они обращаются к $USER в документации они обращаются к пользователю, которого это выполняет autofs демон. Это переменные, которые Вы получаете по умолчанию:

Variable Substitution

The following special variables will be substituted in the key and location fields of an automounter map if prefixed with $ as customary from shell scripts (Curly braces can be used to separate the field name):
ARCH    Architecture (uname -m)
CPU    Processor Type
HOST    Hostname (uname -n)
OSNAME    Operating System (uname -s)
OSREL    Release of OS (uname -r)
OSVERS    Version of OS (uname -v)
autofs provides additional variables that are set based on the user requesting the mount:

USER    The user login name
UID    The user login ID
GROUP    The user group name
GID    The user group ID
HOME    The user home directory
HOST    Hostname (uname -n)
Additional entries can be defined with the -Dvariable=Value map-option to automount(8).

Вы, вероятно, испытали бы желание использовать -DUSER=$USER но это только установит $USER в autofs файл карты пользователю, который запустился autofs демон. Демон обычно принадлежит пользователю такой как root или a chrooted пользователь конкретно устанавливает для autofs.

ПРИМЕЧАНИЕ № 1: a autofs файл состоит из a key и a value. Переменные только позволяются для использования в value часть записи.

ПРИМЕЧАНИЕ № 2: если -D=... переключатель не переопределяет встроенную переменную затем $USER или $UID содержал бы значение человека $USER & $UID это получает доступ к монтированию.

Ограничение доступа к доле CIFS

Относительно Вашего вопроса того, как ограничить доступ к a CIFS смонтируйтесь, я не вижу способ выполнить это с autofs.

Учетные данные раньше монтировали a CIFS доля используется всюду по продолжительности, что доля смонтирована. В действительности, autofs, выполнение это - демон automount как говорят root, "эквивалентно" учетным данным CIFS пользователь.

Это не то, для чего я рассмотрел бы типичное поведение autofs и побочный продукт использования mount.cifs. Типичный autofs поведение уважало бы полномочия на другом конце монтирования, тогда как с mount.cifs это не делает.

Реалистичный

Я думаю, что Вы не повезло выполняете свою установку с помощью autofs. Я думаю, что Вы оказываетесь перед необходимостью использовать fuse если Вы действительно хотите, чтобы каждый пользователь получил доступ CIFS доли с помощью их собственных учетных данных.

4
27.01.2020, 20:54
  • 1
    Спасибо за это. Данный autofs provides additional variables that are set based on the user requesting the mount, делает это не среднее $USER как уже понимает autofs, парень кто просто cd'd в путь? То же с $HOME, Я думал бы. Это - бит, который я неправильно понимаю? Это могло быть больше, что подстановка переменных не может произойти в части пути файла конфигурации, только в части ответа? Таким образом, я могу автосмонтироваться с конфигурацией: /mydomain /etc/auto.mydomain --timeout=60 но я не могу с конфигурацией: $HOME/mydomain /etc/auto.mydomain --timeout=60? –  jimbobmcgee 08.01.2013, 14:58
  • 2
    Еще один подход, который можно проявить, состоит в том, что файлы карты могут быть сценариями, таким образом, у Вас может быть программа/сценарий, генерируют вывод, пока он соответствует key & value синтаксис. Вот пример: ubuntuforums.org/showthread.php?t=2036409 –  slm♦ 08.01.2013, 16:37
  • 3
    Да, который мое понимание - то, что те переменные могут только использоваться на правой стороне (значение) автоматических файлов карты. Причем левая сторона является ключом. Я добавил дополнительные примечания к своему ответу, чтобы попытаться разрешить то, что я говорил относительно переменных. –  slm♦ 08.01.2013, 16:44
  • 4
    Это - вопрос ясности в документации затем, я предполагаю: строка человека The following special variables will be substituted in the *key and location fields* of an automounter map if prefixed не относится к переменным в расчете на пользователя, которые следуют за строкой человека autofs provides additional variables that are set based on the user requesting the mount. Подход сценария мог бы быть интересным, все же. Я буду видеть, могу ли я перенести голову вокруг принуждения логики в рабочий сценарий... –  jimbobmcgee 09.01.2013, 18:35
  • 5
    Согласованный. Кроме FUSE, я думаю, что Вы - только другая опция, будет сценарий для того, чтобы получить более тщательно продуманные настройки. –  slm♦ 09.01.2013, 18:45

Использование Samba:

В /etc/auto.home :

*       -fstype=cifs,credentials=/etc/smbcreds.& ://MYSERVERIP/homes

Вам нужно будет хранить всех пользователей и пароли в независимом файле / etc / smbcreds

Последняя часть линия будет монтироваться через самбу.

Использование NFS:

В /etc/auto.home: (для NFS)

*       MYSERVERIP:/home/&
0
27.01.2020, 20:54

Вы можете принудительно установить разрешения на монтирование CIFS с помощью опций file_mode и dir_mode, в сочетании с настройкой uid=${USER}, которую вы уже использовали, что даст строку карты automount примерно следующего вида:

* -fstype=cifs,uid=${UID},gid=${EUID},file_mode=0600,dir_mode=0700,credentials=${HOME}/.smb/mydomain ://${SERVER}/&

Смонтированная файловая система будет принадлежать этому пользователю, а разрешения будут установлены так, чтобы запретить доступ всем остальным пользователям. Я только что попробовал это и, похоже, все работает нормально :)

Вы можете установить file_mode=0700, если на ресурсе хранятся исполняемые файлы, которые вы ожидаете запустить. Мой пример удаляет разрешение на выполнение, так как именно такое поведение я хотел получить.

Примечание: Эта опция могла не существовать в то время, когда был задан вопрос, но сейчас она существует!

1
27.01.2020, 20:54

Теги

Похожие вопросы