Правильний спосіб монтажу частки самби


9

Я хотів би встановити мережеву файлову систему CIFS з samba на моїй системі Arch Linux. Я хотів би монтувати цю файлову систему під час кожного входу (через ssh, TTY або через KDM).

Я можу наблизитися до того, що хочу, додавши мережеву частку /etc/fstab. Найбільша "проблема" полягає в тому, що для цього потрібно або жорстке кодування мого пароля, /etc/fstabабо створення файлу облікових даних з моїм іменем користувача та паролем. Мені здається небезпечним зберігати своє ім’я користувача та пароль у простому текстовому файлі, навіть якщо я встановив дозволи на 600.

Чи існує "належний" спосіб надійної автоматизації мережевої частки? Чи можу я це зробити за допомогою PAM (моє ім’я користувача та пароль однакові на обох машинах), і якщо так, як?


Ви подивилися на pam_cifs ? "pam_cifs - це модуль Linux-PAM для монтажу та демонтажу акцій CIFS під час входу на основі кожного користувача"
CVn

Або pam_mount, я не маю конкретного досвіду, але, схоже, це зроблено для цього.
EightBitTony

@EightBitTony знаходження pam_mount спонукає мене до запитання, сподіваюся, що хтось міг би сказати мені більш точно, якщо це шлях, і якщо так, як.
StrongBad

Відповіді:


8

Спосіб №1 - /etc/fstab

Я розумію, що ви шукаєте альтернативи цьому, але ось конкретно, як отримати свої облікові дані з /etc/fstabфайлу:

//WindowsHost/Sharename /LocalMountPoint cifs credentials=/etc/cifsauth 0 0

Потім у файлі /etc/cifsauth:

username=someuser
password=somepass

Зробіть дозволи цього файлу 600, тобто chmod 600 /etc/cifsauth.

Спосіб №2 - pam_mount

Ви можете встановити pam_mount, а потім встановити загальне кріплення для всіх користувачів, які входять у систему, наприклад цього:

# /etc/security/pam_mount.conf.xml
<debug enable="1" />
<volume server="server" path="music" mountpoint="~/MyMusicFolder" options="cred=/home/%(USER)/.Music.cred" />

Цей метод до цих пір така ж проблема , як метод # 1, де облікові дані зберігаються у файлі, /home/%(USER)/.Music.cred. Це той самий тип файлу облікових даних, що і в першому методі, тому переконайтеся, що дозволів також 600.

Спосіб №3 - використовувати gvfs-mount

Цей U&L Q&A під назвою: Чи можу я автоматизувати монтажу спільноти cifs без збереження пароля в простому тексті? містить відповідь @Gilles, яка описує використання брелока GNOME для збереження ваших CIFS-облікових даних.

Потім ви можете отримати доступ до спільних ресурсів CIFS за допомогою віртуальної файлової системи GVFS - GNOME - так:

$ gvfs-mount smb://username\;workgroupname@hostname/sharename

Це дозволить зіставити спільну частку з ім'ям хоста, що називається ім'ям спільного доступу, і встановити його під $HOME/.vfs/sharename on hostname. Ви ніяк не можете це контролювати. Тут важко кодувати завжди, я дивився!

Однак ви можете створювати посилання на ці версії, і це те, що я роблю, щоб отримати доступ до спільно встановлених вами спільних ресурсів. Використання .gvfsбуло невдалим, оскільки деякі інструменти не перераховують крапки з точками у перегляді файлів, тому часто створене мною посилання є єдиним способом отримати доступ до цих спільних ресурсів.


якщо ви створюєте файл як прихований, скажіть .cifsauth, а 'username =' не потрібно, достатньо лише облікових даних = / etc / .cifsauth
Rahul Patil

@RahulPatil - ти хочеш сказати, що потрібно зробити ідентифікаційні дані .cifsauth, щоб видалити username=, або що username=просто не потрібно всі разом?
slm

так ... Приємна відповідь .. !! +1 для pam_mount
Rahul Patil

@RahulPatil - з яким бітом ви погоджуєтесь?
slm

2

Виявляється, pam_mountце шлях. Ви додаєте мережеву частку до/etc/security/pam_mount.conf.xml

<volume user="yourUserName" fstype="auto" path="//path/to/the/network/share" mountpoint="/path/to/the/mount/point" options="username=yourUserName" />
<mkmountpoint enable="1" remove="true" />

Це повинно бути теоретично можна використовувати %(USER), %(USERUID)і %(USERGID)змінні , щоб зробити його спільне горе, але я не міг отримати цю частину для роботи на Arch Linux. Вам також потрібно налаштувати вашу систему для використання pam_mount. Вам потрібно змінити і те, /etc/pam.d/system-authі відповідний менеджер входу. Для KDM це так /etc/pam.d/kde. Зміни, в основному, передбачають додавання optional pam_mount.soдо кожного розділу обох файлів, але точні деталі складні, оскільки впорядкування має значення. Я пішов за Arch Wiki .

Завдяки цій установці та одному і тому ж імені / паролю на сервері та на моїй машині я можу автоматично монтуватися, не зберігаючи файл облікових даних ніде.


Це добре ... В принципі, я віддаю перевагу рішенню fstab - мені не подобається, pamа решта особисто, і я помітив, що вони мають тенденцію повзати все далі до конфігурації системи - але це безумовно відповідає на питання. Чи можу я запитати, чому ви настільки проти зберігання облікових даних? Дозволів користувача та / або власності / шифрування файлів там має бути більш ніж достатньо. У деяких системах ви навіть можете зберігати таку інформацію у програмах, які доступні лише після аутентифікації. sshзберігає облікові дані на основі дозволів fs, наприклад, чи не так?
mikeserv

@mikeserv ми використовуємо єдину систему входу, тому системний адміністратор, який має кореневий доступ до машини з моїм файлом облікових даних, може не мати кореневого доступу до всіх серверів, до яких мій пароль отримує мені доступ.
StrongBad
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.