Підключення мережевого диска windows в linux - команда, hippolab - блог системного адміністратора
Підтримку мережевих дисків Windows в Linux забезпечує пакет cifs-utils. Якщо він у вас ще не встановлений, в командному рядку від імені суперкористувача введіть
apt-get install cifs-utils
Ця команда перевірить, чи встановлений вказаний пакет і, якщо ні, встановить його.
Створіть в / mnt (або будь-якому іншому місці) папку, в яку ми будемо підключати мережевий диск Windows:
І нарешті саме підключення мережевої папки Windows в Linux виконується за допомогою команди mount.cifs
mount.cifs // SERVER_IP / SHARE_NAME / mnt / winshare -o username = WIN_USER_NAME, password = WIN_USER_PASSWORD
У більшості випадків цього достатньо, якщо ви працюєте від імені користувача root. Якщо ж ви від імені суперкористувача робите тільки підключення мережевої папки Windows, а працювати з нею плануєте від імені звичайного, непрівелегірованного користувача, то в якості опції команді mount.cifs необхідно передати значення UID і GID цього користувача, інакше, швидше за все, вам не будуть доступні операції редагування файлів і каталогів. Отримати UID і GID користувача можна командою:
grep MY_USER_NAME / etc / passwd
Підставивши замість MY_USER_NAME ім'я користувача, під яким ви працюєте в Linux, ви отримаєте приблизно наступний рядок:
де 3-е і 4-е поле якраз вказують на UID і GID користувача MY_USER_NAME. Тепер просто підставимо отримані значення в якості додаткових аргументів команди mount.cifs:
mount.cifs // SERVER_IP / SHARE_NAME / mnt / winshare -o username = WIN_USER_NAME, password = WIN_USER_PASSWORD, uid = 1000, gid = 1000
де uid = 1000, gid = 1000 - uid і gid, отримані з прикладу вище.
Навпаки, якщо мережевий диск публічний, і для доступу до нього не потрібен ні логін ні пароль, в опціях замість імені користувача та його паролю потрібно вказати, що доступ є гостьовим:
mount.cifs // SERVER_IP / SHARE_NAME / mnt / winshare -o guest
І нарешті, щоб в Linux автоматично підключати мережеву папку після перезавантаження, вносимо відповідну інформацію в / etc / fstab (дописуємо в кінець файлу):
// SERVER_IP / SHARE_NAME / MOUNT_POINT_PATH cifs ALL_OPTIONS 0 0
Тобто повинно вийти щось на зразок
//192.168.0.1/share / mnt / winshare cifs user = WIN_USER_NAME, password = WIN_USER_PASSWORD, uid = 1000, gid = 1000 0 0
nano / etc / credentials # ім'я файлу може бути будь-яким
Робимо його доступним для читання і запису тільки для користувача root:
chmod 600 / etc / credentials # вказуйте файл, який створювали ви
і замість всього обв'язування з імен і паролів просто пишемо в опціях credentials = / etc / credentials (або той файл, який ви створили). Ця опція працює як при ручному монтуванні мережевого диска Windows
mount.cifs // SERVER_IP / SHARE_NAME / mnt / winshare -o credentials = / etc / credentials, uid = 1000, gid = 1000
так і автоматичному, при внесенні запису в / etc / fstab (з прикладу вище):
//192.168.0.1/share / mnt / winshare cifs credentials = / etc / credentials, uid = 1000, gid = 1000 0 0
Примітка. Якщо ви використовуєте дистрибутив, заснований на SystemD (Debian версії 8 і вище, Ubuntu версії 15.04 і вище, Fedora, ArchLinux.), Застосування файлу / etc / fstab для автоматичного монтування файлових систем є небажаним, так як SystemD використовує дещо інший механізм для монтування файлових систем, хоча він і назад сумісний с / etc / fstab. Дізнатися, як можна використовувати можливості SystemD для монтування файлових систем можна в статті SystemD Automount