Я хочу смонтировать общий ресурс SMB в общей точке монтирования для всех пользователей и автоматически монтировать его при доступе к нему, например, когда вы сопоставляете сетевой диск с общей буквой диска в среде Windows, и он просто использует учетные данные пользователя для аутентификации.
Kerberos недоступен, поэтому я ограничен NTLM для аутентификации, также общий ресурс не может быть подключен во время загрузки, он должен быть подключен по требованию, потому что сетевое подключение не всегда доступно во время загрузки.
Я решил, что должен иметь возможность использовать cifscreds / pam_cifscreds для хранения учетных данных CIFS, но я все еще получаю повышение пароля при монтировании общего ресурса, даже если учетные данные хранятся вручную с использованием cifscreds добавить -u мой пользователь мой сервер
или во время входа в систему с помощью pam_cifscreds.
Единственное, что на самом деле работает, как я и ожидал, это когда пользователь 2 получает доступ к общему ресурсу после того, как он был смонтирован пользователем 1, тогда пользователь 2 видит только то, к чему у него есть доступ (если доступны учетные данные).
Вот как моя система настроена до сих пор
/etc/fstab
//myserver/myshare$ /myshare cifs vers=3.0,sec=ntlmsspi,multiuser,cifsacl,noauto,nodev,nosuid,noserverino,user,x-gvfs-show 0 0
/etc/pam.d/common-auth
авторизация необязательная pam_cifscreds.so
/etc/pam.d/общая сессия
требуется сеанс pam_keyinit.so
необязательный сеанс pam_cifscreds.so host=myserver
Выпуск 1:
Когда общий ресурс монтируется из командной строки с помощью смонтировать /myshare
, у пользователя запрашивается пароль, даже если учетные данные пользователя CIFS доступны, когда keyctl показать
выполняется.
Это также делает невозможным монтирование с рабочего стола или автоматическое монтирование.
Выпуск 2:
При запуске сеанса рабочего стола учетные данные CIFS недоступны, когда keyctl показать
выполняется.
Но при входе в систему с использованием SSH учетные данные CIFS появляются, когда keyctl показать
выполняется., поэтому pam_cifscreds, похоже, вообще не работает, когда запускается сеанс рабочего стола.
Update1: Угадайте, что это вероятная причина https://github.com/systemd/systemd/issues/1299