Сегодня установим и настроим наш файловый сервер 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 = Enter\snew\s\spassword:* %n\n Retype\snew\s\spassword:* %n\n password\supdated\ssuccessfully .
 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
- Исправляем маленький интерфейс в GIMP 2.10
- Устраняем ошибку ERROR Failed to access socket path… на Ubuntu/Debian/Raspberry OS
- Тест скорости дисков в Linux
- Как запустить команду в фоне в Linux
- Ошибка несоответствие размеров GPT PMBR