Как установить сервер Samba на CentOS 8
Это руководство существует для этих версий ОС
- CentOS 8
- CentOS 5.6
На этой странице
- Предпосылки
- Установить сервер Samba
- Создание общего ресурса с помощью Samba
- Создание общедоступного общего каталога
- Настройка Samba
- Настройка SELinux и брандмауэра
- Создать пользователя и группу
- Создание частного общего каталога
- Настройка Samba
- Доступ к общему ресурсу Samba из командной строки Ubuntu
Samba — это бесплатное программное обеспечение с открытым исходным кодом, которое можно использовать для обмена файлами, папками и принтерами между системами Linux и Windows. Он также используется для аутентификации и авторизации, разрешения имен и служебных объявлений. Его можно запускать в разных операционных системах, включая Linux, Unix, OpenVMS и многих других.
В этом руководстве мы узнаем, как установить Samba и настроить его как автономный сервер общего доступа в CentOS 8.
Предпосылки
- Сервер под управлением CentOS 8.
- На вашем сервере настроен пароль root.
Установить самба-сервер
По умолчанию пакет 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, а также создайте два файла внутри общего каталога:
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 для совместного использования общедоступного каталога.
Сначала создайте резервную копию файла /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 и значения контекста безопасности в общем каталоге с помощью следующей команды:
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 //45.58.38.51/public:
Просто нажмите Enter без ввода пароля, чтобы смонтировать общий ресурс Samba:
Теперь вы можете получить доступ к общему ресурсу Samba в каталоге /mnt:
ls /mnt/
Вы должны увидеть следующий вывод:
file1.txt file2.txt
Создать частную папку с помощью Samba
В этом разделе мы создадим частную общую папку с Samba, чтобы только пользователь, прошедший проверку подлинности, мог получить доступ к частной общей папке.
Создать пользователя и группу
Сначала создайте группу с именем private с помощью следующей команды:
groupadd private
Затем создайте нового пользователя с именем privateuser и добавьте его в частную группу:
useradd -g private privateuser
Затем установите пароль для пользователя с помощью следующей команды:
smbpasswd -a privateuser
Вывод:
New SMB password: Retype new SMB password: Added user privateuser.
Создать личный общий каталог
Затем создайте общую папку с именем 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 для частного каталога с помощью следующей команды:
semanage fcontext –at samba_share_t "/samba/share/private(/.*)?"
restorecon /samba/share/privateНастроить самбу
Затем откройте файл конфигурации Samba и определите приватный общий ресурс:
nano /etc/samba/smb.conf
Добавьте в конец файла следующие строки:
[Private] path = /samba/share/private valid users = @private guest 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 //45.58.38.51/private: *********
Введите свой пароль и нажмите Enter, чтобы смонтировать общий ресурс Samba.
Теперь вы можете проверить свой общий ресурс Samba в каталоге /opt, как показано ниже:
ls /opt/
Вывод:
private1.txt private2.txt
Доступ к общему ресурсу Samba из Ubuntu Gnome
Чтобы получить доступ к общему ресурсу Samba, перейдите на удаленный компьютер, откройте файловый менеджер Gnome и нажмите «Подключиться к серверу», как показано ниже:
Укажите IP-адрес вашего сервера Samba и нажмите кнопку «Подключиться». После успешного подключения вы должны увидеть общий ресурс Samba на следующем экране:
Теперь нажмите на личный каталог, введите свое имя пользователя и пароль, затем нажмите кнопку «Подключиться». Вы должны увидеть свои файлы на следующем экране:
Поздравляем! вы успешно установили и настроили сервер Samba на CentOS 8.