Samba Server · 7 min read · Dec 08, 2025
Как установить Samba сервер на CentOS 8

Samba — это бесплатное и открытое программное обеспечение, которое можно использовать для обмена файлами, папками и принтерами между системами Linux и Windows. Оно также используется для аутентификации и авторизации, разрешения имен и объявления служб. Оно может работать на различных операционных системах, включая Linux, Unix, OpenVMS и многие другие.
В этом руководстве мы научимся устанавливать Samba и настраивать его как отдельный сервер обмена на CentOS 8.
Предварительные требования
- Сервер с установленной CentOS 8.
- Пароль root настроен на вашем сервере.
Установка Samba сервера
По умолчанию пакет Samba доступен в стандартном репозитории CentOS. Вы можете установить его с помощью следующей команды:
dnf install samba samba-common samba-client -yПосле установки Samba запустите службу SMB и включите ее автозапуск после перезагрузки системы с помощью следующей команды:
systemctl start smb
systemctl enable smbТеперь вы можете проверить службу Samba с помощью следующей команды:
systemctl status smbВы должны получить следующий вывод:
? smb.service - Samba SMB Daemon
Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2020-03-02 23:03:30 EST; 8s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 2072 (smbd)
Status: "smbd: ready to serve connections..."
Tasks: 4 (limit: 25028)
Memory: 33.8M
CGroup: /system.slice/smb.service
??2072 /usr/sbin/smbd --foreground --no-process-group
??2074 /usr/sbin/smbd --foreground --no-process-group
??2075 /usr/sbin/smbd --foreground --no-process-group
??2076 /usr/sbin/smbd --foreground --no-process-groupСоздание общедоступного ресурса с помощью Samba
В этом разделе мы создадим общедоступный ресурс с помощью Samba, чтобы каждый мог получить доступ к общедоступной директории без пароля.
Создание общедоступной директории
Сначала создайте общую папку с именем public и также создайте два файла внутри директории public:
mkdir -p /samba/share/public
touch /samba/share/public/file1.txt
touch /samba/share/public/file2.txtЗатем назначьте необходимые разрешения и владельца с помощью следующей команды:
chmod -R 0755 /samba/share/
chmod -R 0755 /samba/share/public
chown -R nobody:nobody /samba/share
chown -R nobody:nobody /samba/share/publicНастройка Samba
Далее вам нужно будет настроить Samba для обмена общедоступной директорией.
Сначала создайте резервную копию файла /etc/samba/smb.conf с помощью следующей команды:
mv /etc/samba/smb.conf /etc/samba/smb.bakЗатем создайте новый файл конфигурации Samba:
nano /etc/samba/smb.confДобавьте следующие строки:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = samba-server
security = user
map to guest = bad user
dns proxy = no
[Public]
path = /samba/share/public
browsable =yes
writable = yes
guest ok = yes
read only = noСохраните и закройте файл. Затем перезапустите службу Samba, чтобы применить изменения:
systemctl restart smbДалее проверьте конфигурацию Samba с помощью следующей команды:
testparmВы должны увидеть следующий вывод:
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[global]
dns proxy = No
map to guest = Bad User
netbios name = SAMBA-SERVER
security = USER
server string = Samba Server %v
idmap config * : backend = tdb
[Public]
guest ok = Yes
path = /samba/share/public
read only = NoНастройка SELinux и брандмауэра
Далее установите правильные значения SELinux boolean и контекста безопасности для директории share с помощью следующей команды:
setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
semanage fcontext -a -t samba_share_t "/samba/share/public(/.*)?"
restorecon /samba/share/publicЗатем откройте все службы Samba через firewalld с помощью следующей команды:
firewall-cmd --add-service=samba --zone=public --permanent
firewall-cmd --reloadДоступ к Samba ресурсу из Ubuntu Gnome
Чтобы получить доступ к ресурсу Samba, перейдите на удаленную машину, откройте файловый менеджер Gnome и нажмите на Подключиться к серверу, как показано ниже:

Укажите IP-адрес вашего Samba сервера и нажмите кнопку Подключиться. После успешного подключения вы должны увидеть ресурс Samba на следующем экране:

Теперь нажмите на директорию Public, вы должны увидеть ваши файлы на следующем экране:

Доступ к Samba ресурсу из командной строки Ubuntu
Вы также можете получить доступ к ресурсу Samba из командной строки.
Сначала перечислите все доступные ресурсы Samba с помощью следующей команды:
smbclient -L //45.58.38.51Вы должны увидеть следующий вывод:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
Sharename Type Comment
--------- ---- -------
Public Disk
IPC$ IPC IPC Service (Samba Server 4.10.4)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
Server Comment
--------- -------
Workgroup Master
--------- -------Вы также можете смонтировать ресурс Samba, используя протокол cifs. Для этого установите пакет cifs-utils с помощью следующей команды:
apt-get install cifs-utils -yЗатем смонтируйте ресурс Samba в директорию /mnt с помощью следующей команды:
mount -t cifs //45.58.38.51/public /mnt/Вам будет предложено ввести пароль, как показано ниже:
Password for root@//45.58.38.51/public: Просто нажмите Enter, не вводя никакого пароля, чтобы смонтировать ресурс Samba:
Теперь вы можете получить доступ к ресурсу Samba в директории /mnt:
ls /mnt/Вы должны увидеть следующий вывод:
file1.txt file2.txtСоздание частного ресурса с помощью Samba
В этом разделе мы создадим частный ресурс с помощью Samba, чтобы только аутентифицированные пользователи могли получить доступ к директории частного ресурса.
Создание пользователя и группы
Сначала создайте группу с именем private с помощью следующей команды:
groupadd privateЗатем создайте нового пользователя с именем privateuser и добавьте его в группу private:
useradd -g private privateuserЗатем установите пароль для пользователя с помощью следующей команды:
smbpasswd -a privateuserВывод:
New SMB password:
Retype new SMB password:
Added user privateuser.Создание директории частного ресурса
Затем создайте общую папку с именем private и также создайте два файла внутри директории private:
mkdir -p /samba/share/private
touch /samba/share/private/private1.txt
touch /samba/share/private/private2.txtЗатем назначьте правильные разрешения и владельца с помощью следующей команды:
chmod -R 0770 /samba/share/private
chown -R root:private /samba/share/privateЗатем настройте контекст SELinux для директории private с помощью следующей команды:
semanage fcontext –at samba_share_t "/samba/share/private(/.*)?"
restorecon /samba/share/privateНастройка Samba
Далее откройте файл конфигурации Samba и определите частный ресурс:
nano /etc/samba/smb.confДобавьте следующие строки в конец файла:
[Private]
path = /samba/share/private
valid users = @private
guests ok = no
writable = yes
browsable = yesСохраните и закройте файл, затем перезапустите службу Samba, чтобы применить изменения:
systemctl restart smbДалее проверьте конфигурацию Samba с помощью следующей команды:
testparmВы должны увидеть следующий вывод:
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[global]
dns proxy = No
map to guest = Bad User
netbios name = SAMBA-SERVER
security = USER
server string = Samba Server %v
idmap config * : backend = tdb
[Public]
guest ok = Yes
path = /samba/share/public
read only = No
[Private]
path = /samba/share/private
read only = No
valid users = @privateДоступ к Samba ресурсу из командной строки Ubuntu
Сначала получите доступ к доступному ресурсу с помощью следующей команды:
smbclient -L //45.58.38.51Вы должны увидеть следующий вывод:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
Sharename Type Comment
--------- ---- -------
Public Disk
Private Disk
IPC$ IPC IPC Service (Samba Server 4.10.4)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
Server Comment
--------- -------
Workgroup Master
--------- -------Затем подключитесь к серверу Samba и перечислите доступные ресурсы с помощью следующей команды:
smbclient //45.58.38.51/private -U privateuserВам будет предложено ввести пароль, как показано ниже:
Enter privateuser's password: Введите ваш пароль и нажмите Enter, чтобы получить доступ к оболочке Samba, как показано ниже:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
smb: \>Теперь перечислите доступные ресурсы с помощью следующей команды:
smb: \> lsВы должны увидеть следующий вывод:
. D 0 Tue Mar 3 10:03:22 2020
.. D 0 Tue Mar 3 10:01:56 2020
private1.txt N 0 Tue Mar 3 10:03:17 2020
private2.txt N 0 Tue Mar 3 10:03:22 2020
51194 blocks of size 2097152. 49358 blocks availableТеперь выйдите из оболочки Samba с помощью следующей команды:
smb: \>exitВы также можете смонтировать ресурс Samba в директорию /opt:
mount -t cifs -o user=privateuser //45.58.38.51/private /optВам будет предложено ввести пароль, как показано ниже:
Password for privateuser@//45.58.38.51/private: *********Введите ваш пароль и нажмите Enter, чтобы смонтировать ресурс Samba.
Теперь вы можете проверить ваш ресурс Samba в директории /opt, как показано ниже:
ls /opt/Вывод:
private1.txt private2.txtДоступ к Samba ресурсу из Ubuntu Gnome
Чтобы получить доступ к ресурсу Samba, перейдите на удаленную машину, откройте файловый менеджер Gnome и нажмите на Подключиться к серверу, как показано ниже:

Укажите IP-адрес вашего Samba сервера и нажмите кнопку Подключиться. После успешного подключения вы должны увидеть ресурс Samba на следующем экране:

Теперь нажмите на директорию Private, укажите ваше имя пользователя и пароль, затем нажмите кнопку Подключиться. Вы должны увидеть ваши файлы на следующем экране:


Поздравляем! Вы успешно установили и настроили Samba сервер на CentOS 8.
Get new posts in your inbox
No spam. Unsubscribe anytime.