Настройка Samba сервера
Один из способов взаимодействия по сети между компьютерами Linux и Windows – это настройка Samba в качестве файлового сервера. К файловому серверу можно будет подключаться как с Windows, так и с Linux. На сервере будет находиться 2 каталога – публичный и приватный. Публичному доступ всем, приватному только довереным пользователям.
Настройка файлового сервера на Linux
sudo apt-get update # Обновим базу пакетов sudo apt-get install -y samba samba-client # Установим пакеты самой samba
Создадим резервную копию файла конфигурации Samba:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.copy
Далее создайте или выберете директорию, к которой будут иметь доступ ограниченное число пользователей:
sudo mkdir /samba/private
Создайте или выберете директорию, к которой все пользователи будут иметь общий доступ:
sudo mkdir -p /samba/public cd /samba # Перейдём к каталогам sudo chmod -R 0755 public # Измените режим доступа для public
Создим группу пользователей, которые будут иметь доступ к приватному каталогу:
sudo groupadd smbprivate
Создадим пользователей для доступа к каталогу private:
sudo useradd user1
Добавим созданных пользователей в группу:
sudo usermod -aG smbprivate user1
Изменим группу, которой принадлежит приватная директория:
chgrp smbprivate /samba/private
Зададим пароль, с помощью которого пользователь будет подключаться к каталогу:
sudo smbpasswd -a user1 # Пароль будет smbpasswd
Отредактируем файл конфигурации:
sudo nano /etc/samba/smb.conf
Заменим содержимое на следующий конфиг:
[global] workgroup = WORKGROUP security = user map to guest = bad user wins support = no dns proxy = no [public] path = /samba/public # Адрес публичного каталога guest ok = yes force user = nobody # Имя пользователя с доступом к публичному каталогу browsable = yes writable = yes [private] path = /samba/private # Адрес приватного каталога valid users = @smbprivate # Группа пользователей с доступом к приватному каталогу guest ok = no browsable = yes writable = yes
Примечание:
global – раздел с общими настройками для Samba сервера
workgroup – рабочая группа Windows, WORKGROUP – значение по умолчанию для всех Windows машин, если вы не меняли самостоятельно
security – режим безопасности, значение user означает аутентификацию по логину и паролю
map to guest – задает способ обработки запросов, bad user – запросы с неправильным паролем будут отклонены, если такое имя пользователя существует
wins support – включить или выключить поддержку WINS
dns proxy – возможность запросов к DNS
public – название общего каталога, которое будут видеть пользователи сети, может быть произвольным и не совпадать с именем директории
path – полный путь до общего каталога
browsable – отображение каталога в сетевом окружении
writable – использование каталога на запись, инверсия read only
guest ok – авторизация без пароля
force user – пользователь по умолчанию
valid users – список пользователей, у которых есть доступ к каталогу, через @ указывается unix-группа пользователей
testparm -s # Проверить настройки в smb.conf
В настройках iptables, откроем следующие порты:
iptables -A INPUT -p tcp -m tcp --dport 445 -j ACCEPT iptables -A INPUT -p udp -m udp --dport 137 -j ACCEPT iptables -A INPUT -p udp -m udp --dport 138 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 139 -j ACCEPT
Если у вас ufw:
sudo ufw allow 445
sudo ufw allow 137
sudo ufw allow 138
sudo ufw allow 139
sudo service smbd restart # Перезапустим сервер чтобы изменения вступили в силу
Подключение к Samba серверу на Linux
Чтобы подключаться к серверу, необходимо установить клиент:
sudo apt-get install smbclient
Для подключения используйте следующий формат команды:
smbclient -U Пользователь \\IP-адрес\Каталог
Пример
smbclient -U nobody \\192.168.0.10\public
Для публичного каталога используйте имя пользователя nobody, пароль оставляем пустым.
Также можно монтировать каталог Samba сервера, для этого установите дополнительный пакет:
sudo apt-get install cifs-utils
Для монтирования используйте следующий формат команды:
mount -t cifs -o username=Пользователь,password= //IP-адрес/Каталог /Точка/монтирования
Пример
mount -t cifs -o username=nobody,password= //192.168.0.10/public /media
LEAVE YOUR COMMENT