В данной статье расскажу как создать общую папку на ПК с Linux с помощью Samba. Samba – серверное приложение, реализующее доступ клиентских терминалов к папкам, принтерам и дискам про протоколу SMB/CIFS, совместимый пакет программного обеспечения с Linux, Windows или Mac OS.
Samba позволяет настроить файловое хранилище различных масштабов и подойдет для домашнего использования, так и для небольших организаций. В нашей статье рассмотрим процесс настройки файлового сервера, выполним установку и базовую настройку с предоставлением гостевого доступа и доступа по логину и паролю.
Обновляем информацию о репозиториях и устанавливаем обновления для существующих пакетов в системе:
apt-get update && apt-get upgrade
Устанавливаем пакет Samba:
apt-get install samba apt-get install samba-client
Разрешаем автостарт сервиса:
systemctl enable smbd
Проверяем запустился ли наш сервис:
systemctl status smbd
Для проверки работы сервера samba, можно подключиться к серверу \\(ip сервера). Если мы настроили сервер правильно, система откроет пустую папку.
Создадим резервную копию файла конфигурации:
cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
Создадим директории для файлов, например в каталоге /media:
mkdir /media/smb
Создаем каталог для всех пользователей:
mkdir /media/smb/public
Назначим права:
chmod 777 /media/smb/public
Применяем настройки samba, перезагрузив сервис:
systemctl restart smbd
Редактируем настройки и добавляем настройку для общей папки:
sudo gedit /etc/samba/smb.conf
[Общая папка]
comment = Public Folder
path = /media/smb/public
public = yes
writable = yes
read only = no
guest ok = yes
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
где:
Подключаемся к папке, должны зайти в нее без необходимости ввода логина и пароля.
Создадим каталог, в который вход будет разрешен только авторизованным пользователям:
mkdir /media/smb/private
Задаем права на созданный каталог:
chmod 777 /media/smb/private
Редактируем настройки и добавляем настройку для приватного каталога:
[Папка для авторизированных пользователей]
comment = Staff Folder
path = /media/smb/private
public = no
writable = yes
read only = no
guest ok = no
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
где настройки похожи на те, что использовались выше, отметим различия:
Создаем пользователя в системе Linux:
useradd shara
где shara — имя пользователя.
Задаем пароль для пользователя:
passwd shara
Cоздадим пользователя в samba:
smbpasswd -a shara
Перезапускаем samba:
systemctl restart smbd
При открытии папки private должно появиться окно ввода логина и пароля.
Теперь разберем подключения к нашему сетевму диску в разных системах.
В Windows
Можно подключить через проводник, зайдя в Компьютер -> Подключить сетевой диск
Либо с помощью коммандной строки:
Пример: net use N: \\192.168.1.1\private /persistent:yes
где:
В Linux
В Linux мы можем монтировать удаленный каталог с помощью команды mount, чтобы настроить монтирование общей директории как сетевого диска.
Пример: mount -t cifs "//192.168.1.1/private" /media -o user=shara
где:
В систему должен быть установлен пакет cifs-utils, для этого установим пакет cifs-utils:
sudo apt-get install cifs-utils
Если хотим просто подключиться к сетевому ресурсу, без монтирования, то можно ввести команду:
smbclient -U shara 192.168.1.1\private