Установка Samba на Ubuntu Server 20.04

Сегодня установим и настроим наш файловый сервер Samba на Ubuntu Server 20.04. Расшарим директории для нашего сервера и установим на них права и ограничения.




Установка Samba на Ubuntu Server 20.04




Для начала необходимо подключиться к нашему серверу на Ubuntu 20.04. Для этого воспользуемся встроенной утилитой ssh – для Linux систем или например PuTTy – для Windows систем.




ssh user@myhost.ru




Все, мы в терминале на удаленном компьютере myhost.ru, давайте установим samba сервер:




sudo apt install samba




Настройка Samba




Разработчики Samba настоятельно рекомендуют иметь файл smb.conf как можно более меньшего размера, а также не иметь внутри файла комментариев. Также они рекомендуют как можно более тщательно комментировать все изменения, какие вы делаете. Данные противоречивые рекомендации исполняются следующим образом: мы сделаем файл smb.conf.comments, в котором опишем все, что мы делаем, а потом из него получим рабочий файл smb.conf




И так создаем файл с комментариями:




sudo touch /etc/samba/smb.conf.comments




Внесем в него следующие данные:




 #Основной раздел
 [global]
 #Имя рабочей группы
 workgroup = WORKGROUP
 #Имя хоста
 server string = %h server (Samba, Ubuntu)
 netbios name = samba
 #Настройки безопасности
 security = user
 map to guest = bad user
 dos charset = CP866
 unix charset = UTF8
 server role = standalone server
 obey pam restrictions = Yes
 pam password change = Yes
 passwd program = /usr/bin/passwd %u
 passwd chat = Entersnewsspassword:* %nn Retypesnewsspassword:* %nn passwordsupdatedssuccessfully .
 username map = /etc/samba/smbusers
 unix password sync = Yes
 log file = /var/log/samba/log.%m
 max log size = 500
 time server = Yes
 socket options = TCP_NODELAY IPTOS_LOWDELAY
 os level = 65
 dns proxy = No
 usershare allow guests = Yes
 usershare max shares = 20
 panic action = /usr/share/samba/panic-action %d
 idmap config * : backend = tdb
 invalid users = root administrator admin
 store dos attributes = Yes
 follow symlinks = No
 
[myuser]     
 path = /samba/myuser     
 browseable = no     
 read only = no     
 force create mode = 0660     
 force directory mode = 2770     
 valid users = myuser
 
#Настройки общего доступа
 [music]
 #Комментарий (пояснение)
 comment = музыка
 #Путь к папке, к которой даем общий доступ
 path = /home/music
 #Включаем видимость папки через проводник
 browseable = yes
 #Включаем разрешение на запись
 writeable = yes
 #Разрешаем гостевой доступ
 guest ok = yes
 guest only = yes
 #Права на файлы и директории при создании или копировании на сервере
 create mask = 0775
 directory mask = 0775
 force create mode = 0775
 force directory mode = 0775
 #Кому разрешено подключаться к данной директории
 valid users = myuser
 #Администратор данной директории
 admin users = myuser




Создаем владельца общих ресурсов и сами директории.




Перейдем под пользователя root




sudo su




Создадим  пользователя в системе, имя пользователя obu4alkin, его пароль qwerty, при создании сделаем каталог пользователя (ключ -m) и зададим пароль (ключ -p):




useradd -m obu4alkin -p qwerty




Теперь создадим директорию torrents и share




mkdir /home/{torrents,share}




Назначим нового владельца на только что созданные директории, а также изменим разрешения:




chmod -R 755 /home/{torrents,share} && chown -R obu4alkin:obu4alkin /home/{torrents,share}




Создадим копию дефолтного конфигурационного файла на всякий случай:




cp /etc/samba/smb.conf /etc/samba/smb.conf.save




Заведите себе в привычку перед любым изменением любого конфигурационного файла делать его резервную копию




Удалим дефолтный конфигурационный файл и создадим новый без комментариев:




rm /etc/samba/smb.conf && testparm -s /etc/samba/smb.conf.comments > /etc/samba/smb.conf




Если все прошло гладко, то рестартуем сервис samba:




/etc/init.d/smbd restart




Проверяем, что все нормально. Подключимся анонимно сами к себе:




smbclient -L SERVER -U%




Для подключения к директории под паролем из сети, также необходимо создать пользователя в samba.




sudo smbpasswd -a obu4alkin




  • опция -a добавит и активирует пользователя.




После этого можно будет подключаться к данной директории через сеть (интернет).




Проблемы подключения старых клиентов Windows




Если у вас возникает ошибка при подключении по паролю, старых клиентов на Windows и Linux, то для решения необходимо добавить строчку в конфигурационный файл samba:




ntlm auth = yes




После внесения данной строчки, такие клиенты как Windows XP, Ubuntu 10.04 и т.д. смогут подключится к расшариной директории на сервере при помощи логина и пароля, а не как гость.




Статья получилось большой, хотя на самом деле все настраивается за минут десять.




Если ваш samba сервер не появляется в сетевом окружении, но зайти через его IP-адрес возможно. То вот тут писал про то, как можно это исправить.



[endtxt]




RSS




2018-12-10T22:38:46
Samba