Общие каталоги в локальной сети
Сервис позволяющий использовать общие каталоги реализовывается с помощью пакета samba. Это пакет программ, который позволяют обращаться к сетевым дискам и принтерам на различных операционных системах по протоколу SMB/CIFS.
В Windows доступ по этому протоколу осуществляется через «Общий доступ к каталогам и принтерам». Общие каталоги позволят организовать хранение файлов на домашнем сервере.
Установка samba
Для установки Samba введем команду
1 | apt install samba |
Приготовим общий каталог, я буду размещать его в домашнем каталоге пользователя (который я разместил на отдельных дисках с помощью технологии RAID массивов)
создадим пользователя и назначим ему домашний каталог.
1 2 | mkdir /home/samba adduser --home /home/samba --shell /bin/false --ingroup sambashare samba |
Команда во время работы спросит пароль для пользователя
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Добавляется пользователь «samba» ... Добавляется новый пользователь «samba» (1001) в группу «sambashare» ... Создаётся домашний каталог «/home/samba» ... Копирование файлов из «/etc/skel» ... Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: Пароль не указан Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: Пароль не указан Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: пароль успешно обновлён Изменение информации о пользователе samba Введите новое значение User samba Номер комнаты []: Рабочий телефон []: Домашний телефон []: Другое []: Данная информация корректна? [Y/n] y |
Создаем общий каталог на диске
Создание общего каталога для samba
1 | mkdir /home/samba/Public |
Назначаем ему права доступа:
1 2 | chown samba:sambashare /home/samba/ chown samba:sambashare /home/samba/Public |
Открываем файл конфигурации samba
1 | nano /etc/samba/smb.conf |
и добавляем в конец описание нашего общего каталога
1 2 3 4 5 6 7 8 | [public] comment = Public Share path = /home/samba/Public browseable = yes read only = no guest ok = yes force user = samba force group = sambashare |
Сохраняемся и запускаем проверку конфигурационного файла:
1 | testparm |
Команда выдаст подключенные профили или ошибки конфигурации
1 2 3 4 5 6 7 8 9 10 11 | Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) WARNING: The "syslog" option is deprecated Processing section "[homes]" Processing section "[printers]" Processing section "[print$]" Processing section "[public]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions |
После этого нажимаем Enter
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | # Global parameters [global] log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d usershare allow guests = Yes map to guest = Bad User obey pam restrictions = Yes pam password change = Yes passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . passwd program = /usr/bin/passwd %u server role = standalone server unix password sync = Yes dns proxy = No idmap config * : backend = tdb [homes] comment = Home Directories browseable = No create mask = 0700 directory mask = 0700 valid users = %S [printers] comment = All Printers path = /var/spool/samba browseable = No printable = Yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers [public] comment = Public Share path = /home/samba/Public force group = sambashare force user = samba guest ok = Yes read only = No |
Перезапускаем samba:
1 | service smbd restart |
На компьютере в домашней сети можем наблюдать общие каталоги, которым мы открыли доступ:
Можем создать статичную структуру каталогов и установим права только для чтения, чтобы защитить нашу структуру.
1 | cd /home/samba/Public && mkdir Music Video Documents |
Установим необходимые права на каталоги:
chown samba:sambashare /home/samba/Public/*
chmod u-w /home/samba/Public
В итоге мы собрали файловое хранилище на нашем домашнем сервере со статичной структурой каталогов.