Поиск по сайту:

Как установить Samba4 на CentOS 7 для общего доступа к файлам в Windows


В нашей последней статье мы показали, как установить Samba4 в Ubuntu для базового обмена файлами между системами Ubuntu и компьютерами с Windows. Здесь мы рассмотрели настройку анонимного (небезопасного), а также безопасного обмена файлами.

Здесь мы опишем, как установить и настроить Samba4 на CentOS 7 (также работает на RHEL 7) для базового обмена файлами между другими системами Linux и компьютерами с Windows.

Важно. Начиная с версии 4.0, Samba может работать как контроллер домена (DC) Active Directory (AD). Мы предлагаем вам прочитать нашу специальную серию статей о настройке контроллера домена Samba4 Active Directory, которая включает важные темы для Ubuntu, CentOS и Windows.

Установите Samba4 в CentOS 7.

1. Сначала установите Samba4 и необходимые пакеты из репозиториев CentOS по умолчанию, используя инструмент менеджера пакетов yum, как показано.

yum install samba samba-client samba-common

2. После установки пакетов samba разрешите доступ служб samba через системный брандмауэр с помощью этих команд.

firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload

Проверьте настройки рабочей группы компьютера Windows

3. Прежде чем приступить к настройке samba, убедитесь, что компьютер с Windows находится в той же рабочей группе, которая будет настроена на сервере CentOS.

Существует два возможных способа просмотра настроек рабочей группы компьютера Windows:

  • Щелкните правой кнопкой мыши «Этот компьютер» или «Мой компьютер» → СвойстваДополнительные параметры системы Имя компьютера.

  • Либо откройте подсказку cmd и выполните следующую команду, а затем найдите в выводе домен рабочей станции, как показано ниже.
>net config workstation

Настройка Samba4 на CentOS 7

4. Основной файл конфигурации samba — /etc/samba/smb.conf. Исходный файл содержит параметры предварительной конфигурации, которые объясняют различные директивы конфигурации, которые помогут вам.

Но перед настройкой Samba я предлагаю вам сделать резервную копию файла по умолчанию, вот так.

cp /etc/samba/smb.conf /etc/samba/smb.conf.orig

Затем перейдите к настройке Samba для служб анонимного и защищенного обмена файлами, как описано ниже.

Анонимный обмен файлами Samba4

5. Сначала создайте общий каталог, в котором файлы будут храниться на сервере, и установите соответствующие разрешения для этого каталога.

mkdir -p /srv/samba/anonymous
chmod -R 0775 /srv/samba/anonymous
chown -R nobody:nobody /srv/samba/anonymous

Кроме того, вам необходимо изменить контекст безопасности SELinux для общего каталога Samba следующим образом.

chcon -t samba_share_t /srv/samba/anonymous

6. Затем откройте файл конфигурации Samba для редактирования, где вы можете изменить/добавить приведенные ниже разделы с помощью соответствующих директив.

vi /etc/samba/smb.conf
[global]
	workgroup = WORKGROUP
	netbios name = centos
	security = user
[Anonymous]
	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	browsable =yes
	writable = yes
	guest ok = yes
	read only = no
	force user = nobody

7. Теперь проверьте текущие настройки Samba, выполнив команду ниже.

testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Anonymous]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Global parameters
[global]
	netbios name = centos
	printcap name = cups
	security = USER
	idmap config * : backend = tdb
	cups options = raw
[homes]
	comment = Home Directories
	browseable = No
	inherit acls = Yes
	read only = No
	valid users = %S %D%w%S
[printers]
	comment = All Printers
	path = /var/tmp
	browseable = No
	printable = Yes
	create mask = 0600
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	create mask = 0664
	directory mask = 0775
	write list = root
[Anonymous]
 	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	force user = nobody
	guest ok = Yes
	read only = No

8. Наконец, запустите и включите автоматический запуск служб Samba при следующей загрузке, а также примените указанные выше изменения, чтобы они вступили в силу.

systemctl enable smb.service
systemctl enable nmb.service
systemctl start smb.service
systemctl start nmb.service

Тестирование анонимного обмена файлами Samba

9. Теперь на компьютере с Windows откройте «Сеть» в окне проводника Windows, затем щелкните хост CentOS или попробуйте получить доступ к серверу, используя его IP-адрес (используйте команду ifconfig, чтобы получить IP-адрес).

e.g. \2.168.43.168.

10. Затем откройте каталог Anonymous и попробуйте добавить туда файлы, которыми можно поделиться с другими пользователями.

Настройка безопасного обмена файлами Samba4

11. Сначала начните с создания системной группы samba, затем добавьте в нее пользователей и установите пароль для каждого пользователя следующим образом.

groupadd smbgrp
usermod tecmint -aG smbgrp
smbpasswd -a tecmint

12. Затем создайте безопасный каталог, в котором будут храниться общие файлы, и установите соответствующие разрешения для каталога с контекстом безопасности SELinux для samba.

mkdir -p /srv/samba/secure
chmod -R 0770 /srv/samba/secure
chown -R root:smbgrp /srv/samba/secure
chcon -t samba_share_t /srv/samba/secure

13. Затем откройте файл конфигурации для редактирования и измените/добавьте раздел ниже с соответствующими директивами.

vi /etc/samba/smb.conf
[Secure]
	comment = Secure File Server Share
	path =  /srv/samba/secure
	valid users = @smbgrp
	guest ok = no
	writable = yes
	browsable = yes

14. Еще раз проверьте настройки конфигурации Samba, выполнив следующую команду.

testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Anonymous]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Global parameters
[global]
	netbios name = centos
	printcap name = cups
	security = USER
	idmap config * : backend = tdb
	cups options = raw
[homes]
	comment = Home Directories
	browseable = No
	inherit acls = Yes
	read only = No
	valid users = %S %D%w%S
[printers]
	comment = All Printers
	path = /var/tmp
	browseable = No
	printable = Yes
	create mask = 0600
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	create mask = 0664
	directory mask = 0775
	write list = root
[Anonymous]
 	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	force user = nobody
	guest ok = Yes
	read only = No
[Secure]
	comment = Secure File Server Share
	path = /srv/samba/secure
	read only = No
	valid users = @smbgrp

15. Перезапустите службы Samba, чтобы применить изменения.

systemctl restart smb.service
systemctl restart nmb.service

Тестирование безопасного обмена файлами Samba

16. Перейдите на компьютер с Windows, откройте «Сеть» в окне проводника Windows, затем щелкните хост CentOS или попытайтесь получить доступ сервер, используя свой IP-адрес.

e.g. \2.168.43.168.

Вам будет предложено ввести имя пользователя и пароль для входа на сервер CentOS. После ввода учетных данных нажмите ОК.

17. После успешного входа в систему вы увидите все общие каталоги Samba. Теперь безопасно поделитесь некоторыми файлами с другими разрешенными пользователями в сети, поместив их в каталог Безопасный.

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

  1. Как смонтировать/размонтировать локальные и сетевые (Samba и NFS) файловые системы в Linux
  2. Использование ACL (списков контроля доступа) и монтирование общих ресурсов Samba/NFS
  3. Как исправить уязвимость SambaCry (CVE-2017-7494) в системах Linux

В этом руководстве мы показали вам, как настроить Samba4 для анонимного и безопасного обмена файлами между CentOS и другими системами Linux, а также компьютерами с Windows. Поделитесь с нами своими мыслями в разделе комментариев ниже.