Я хотел бы смонтировать сетевую файловую систему CIFS с samba в моей системе Arch Linux. Я хотел бы смонтировать эту файловую систему всякий раз, когда я вхожу в систему (через ssh, TTY или через KDM).
Я могу получить довольно близко к тому, что я хочу, добавив сетевой ресурс к /etc/fstab
. Самая большая «проблема» заключается в том, что это требует либо жесткого кодирования моего пароля, /etc/fstab
либо создания файла учетных данных с моим именем пользователя и паролем. Мне кажется небезопасным хранить свое имя пользователя и пароль в текстовом файле, даже если я установил разрешения на 600.
Существует ли «правильный» способ безопасного автоматического подключения сетевого ресурса? Могу ли я сделать это с PAM (мои имя пользователя и пароль одинаковы на обеих машинах) и если да, то как?
Ответы:
Способ № 1 -
/etc/fstab
Я понимаю, что вы ищете альтернативы этому, но вот, в частности, как получить свои учетные данные из
/etc/fstab
файла:Тогда в файле
/etc/cifsauth
:Сделать разрешения этого файла
600
, то естьchmod 600 /etc/cifsauth
.Способ № 2 - pam_mount
Вы можете установить pam_mount, а затем настроить универсальное монтирование для всех пользователей, которые входят в систему, например:
Этот метод по-прежнему имеет ту же проблему, что и метод № 1, где учетные данные хранятся в файле
/home/%(USER)/.Music.cred
. Это файл учетных данных того же типа, что и в первом методе, поэтому убедитесь, что разрешения также равны 600.Способ № 3 - использовать gvfs-mount
Это U & L Q & A под названием: Могу ли я автоматизировать монтирование общего ресурса cifs без сохранения моего пароля в открытом тексте? содержит ответ @Gilles, в котором описано использование кольца ключей GNOME для сохранения ваших учетных данных CIFS.
После этого вы можете получить доступ к общим ресурсам CIFS, используя GVFS - виртуальную файловую систему GNOME, например:
Это сопоставит общий ресурс с именем хоста с именем sharename и смонтирует его
$HOME/.vfs/sharename on hostname
. Вы не можете контролировать это никоим образом. Это жестко закодировано, чтобы всегда быть установленным здесь, я смотрел!Однако вы можете создавать ссылки на эти монтирования, что я и делаю, чтобы получить доступ к смонтированным ресурсам. Использование
.gvfs
было неудачным, потому что некоторые инструменты не перечисляют точечные каталоги в просмотре файлов, поэтому часто созданная мной ссылка является единственным способом доступа к этим общим ресурсам.источник
.cifsauth
, чтобы удалитьusername=
, или чтоusername=
просто не нужно все вместе?Оказывается, это
pam_mount
путь. Вы добавляете сетевой ресурс в/etc/security/pam_mount.conf.xml
Это должно быть теоретически можно использовать
%(USER)
,%(USERUID)
и%(USERGID)
переменные , чтобы сделать его общее горе, но я не мог получить эту часть для работы на Arch Linux. Вам также необходимо настроить вашу систему для использованияpam_mount
. Вам нужно изменить оба/etc/pam.d/system-auth
и ваш соответствующий логин-менеджер. Для КДМ это так/etc/pam.d/kde
. Изменения в основном включают в себя добавлениеoptional pam_mount.so
к каждому разделу обоих файлов, но точные детали сложны, так как порядок имеет значение. Я следовал за Arch Wiki .С этой настройкой и тем же именем пользователя / паролем на сервере и на моей машине я могу автоматически смонтировать, не сохраняя файл учетных данных в любом месте.
источник
pam
лично не нравится, а остальным, и я заметил, что они имеют тенденцию ползти дальше к конфигурации системы - но это определенно отвечает на вопрос. Могу ли я спросить, почему вы так против хранения учетных данных? Полномочия пользователя и / или владение / шифрование файла должны быть более чем достаточными. В некоторых системах вы даже можете хранить такую информацию в прошивках, которые доступны только после аутентификации.ssh
например, хранит учетные данные на основе прав доступа fs?