Сегодня установим и настроим наш файловый сервер 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
- Тест скорости дисков в Linux
- Как запустить команду в фоне в Linux
- Ошибка несоответствие размеров GPT PMBR
- nginx: [warn] protocol options redefined
- Как включить поддержку linux в windows 11