
Файловые системы в Linux и Unix-подобных операционных системах, таких как macOS, могут быть смонтированы, размонтированы и перемонтированы с помощью терминала. Это мощный и универсальный инструмент – вот все, что вам нужно знать. Читать

Файловые системы в Linux и Unix-подобных операционных системах, таких как macOS, могут быть смонтированы, размонтированы и перемонтированы с помощью терминала. Это мощный и универсальный инструмент – вот все, что вам нужно знать. Читать
В сегодняшней статье рассмотрим установку и настройку файлового сервера SAMBA на нашем сервере Ubuntu.
Итак в исходном состоянии мы имеем Ubuntu Server 18.04 LTS. Дальше нужно поставить программу, которая будет шарить какую-нибудь папку на сервере. Самой распространенной является SAMBA. Сделать это можно с помощью одной команды и настройки одного файла. Могут понадобиться еще несколько действий, но не всегда.
Для установки в терминале наберите команду:
sudo apt install samba
Через пару минут SAMBA будет установлена и запущена.
Перед внесением изменений в файл конфигурации Samba создайте резервную копию для использования в будущем:
sudo cp /etc/samba/smb.conf{,.backup}
далее откроем файл выполнив следующую команду:
sudo nano /etc/samba/smb.conf
И отредактируем в соответствии с моим листингом:
#Основной раздел
[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
По окончании сохраните и закройте редактор.
Сохранить файл: Ctrl+O
Выйти из редактора: Ctrl+X
После этого запустите testparm утилиту, чтобы проверить файл конфигурации Samba на наличие ошибок. Если синтаксических ошибок нет, вы увидите
Loaded services file OK
Перезапустим сервер samba:
sudo service smbd restart
Для создания нового пользователя myuser используйте следующую команду:
sudo useradd -M -d /samba/myuser -s /usr/sbin/nologin -G sambashare myuser
Если необходимо добавить пользователя в группу sudo, то набираем следующую команду:
sudo usermod -a -G sudo myuser
Создадим домашний каталог пользователя и назначим владельца каталога myuser и группа sambashare:
sudo mkdir /samba/myuser
sudo chown myuser:sambashare /samba/myuser
Следующая команда добавит бит setgid в /samba/myuser каталог, чтобы вновь созданные файлы в этом каталоге унаследовали группу родительского каталога.Таким образом, независимо от того, какой пользователь создает новый файл, файл будет иметь владельца группы sambashare.
sudo chmod 2770 /samba/myuser
Добавьте myuserучетную запись пользователя в базу данных Samba, установив пароль пользователя:
sudo smbpasswd -a myuser
Вам будет предложено ввести и подтвердить пароль пользователя.
New SMB password:
Retype new SMB password:
Added user myuser.
После установки пароля запустим нашего пользователя:
sudo smbpasswd -e myuser
Enabled user myuser.
Вот теперь можно пользоваться нашим файловым хранилищем. Открываем сетевое окружение и ищем наш новый сервер:
Как видите, там появился компьютер SAMBA. Мы прописали это имя в разделе Global, в параметре netbios name. Далее дважды кликаем по имени этого компьютера и попадаем в список доступных ресурсов. Так как мы сделали только один, под названием music, то его и наблюдаем.
Для того, что бы у нас было несколько ресурсов, нужно скопировать раздел music и назвать его как-то иначе. Для каждого такого ресурса можно индивидуально назначать параметры: путь, доступ и прочее.
[endtxt]
Сегодня установим и настроим наш файловый сервер Samba на Ubuntu Server 20.04. Расшарим директории для нашего сервера и установим на них права и ограничения.
Для начала необходимо подключиться к нашему серверу на Ubuntu 20.04. Для этого воспользуемся встроенной утилитой ssh – для Linux систем или например PuTTy – для Windows систем.
ssh user@myhost.ru
Все, мы в терминале на удаленном компьютере myhost.ru, давайте установим samba сервер:
sudo apt install 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 и Linux, то для решения необходимо добавить строчку в конфигурационный файл samba:
ntlm auth = yes
После внесения данной строчки, такие клиенты как Windows XP, Ubuntu 10.04 и т.д. смогут подключится к расшариной директории на сервере при помощи логина и пароля, а не как гость.
Статья получилось большой, хотя на самом деле все настраивается за минут десять.
Если ваш samba сервер не появляется в сетевом окружении, но зайти через его IP-адрес возможно. То вот тут писал про то, как можно это исправить.
[endtxt]