Centos 7 расшарить папку для windows

Папка, находящаяся на компьютере с CentOS, будет доступна для всех пользователей локальной сети только после предоставления доступа, а сделать это поможет Samba.

Содержание

  • Делаем папку общей в CentOS
    • Шаг 1: Установка и запуск Samba
    • Шаг 2: Создание разрешений для Firewall
    • Шаг 3: Запуск конфига Samba и изучение параметров
    • Шаг 4: Создание общедоступной папки
  • Вопросы и ответы

Как расшарить папку для всех в CentOS

По умолчанию доступ к папкам в операционной системе CentOS ограничен, поэтому в случае надобности получения общей сетевой директории необходимо изменить определенные параметры. В выполнении данной процедуры нет ничего сложного, однако потребуется установить дополнительный инструмент и произвести изменения в конфигурационном файле. Мы предлагаем пошагово разобраться с осуществлением поставленной задачи.

Сразу отметим, что примененные сегодня изменения будут распространяться на все компьютеры локальной сети вне зависимости от установленной там ОС. То есть доступ к каталогу сможет получить пользователь ПК под управлением Windows или, например, macOS. Вся настройка происходит на том устройстве, где и находится та самая директория. Давайте начнем с первого шага.

Шаг 1: Установка и запуск Samba

Samba — свободное программное обеспечение, функциональность которого сосредоточена на взаимодействии с сетевыми объектами. Именно с помощью этого инструмента и будет выполняться открытие локального доступа для необходимой папки. В CentOS эта утилита не входит в стандартный пакет, поэтому ее придется добавить самостоятельно, а делается это так:

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

  3. Введите там команду sudo yum install samba samba-common и нажмите на клавишу Enter.
  4. Команда для установки дополнительного инструмента Samba в CentOS

  5. Приставка sudo означает, что действие будет выполняться от имени суперпользователя, поэтому придется подтвердить подлинность учетной записи путем указания пароля.
  6. Подтверждение пароля для установки дополнительного инструмента Samba в CentOS

  7. Появится уведомление о намерении добавить новые пакеты в ОС, примите его, выбрав вариант y.
  8. Подтверждение добавления новых пакетов Samba в CentOS

  9. Для постоянной работы сервиса необходимо, чтобы он запускался вместе с CentOS. Добавьте его в автозагрузку с помощью sudo chkconfig --level 345 smb on.
  10. Добавить утилиту Samba в автозапуск CentOS

  11. После этого запустите службу Samba командой service smb start и переходите к следующему шагу.
  12. Запуск выполнения дополнительной утилиты Samba в CentOS

Шаг 2: Создание разрешений для Firewall

Встроенный в операционную систему фаервол еще не знает о том, что новому сервису можно доверять. Пользователю вручную нужно указать это, внеся изменения в правила. Разрешение активируется пробросом портов, на которых работает Samba. От вас требуется лишь активировать постоянные права суперпользователя через su - и поочередно вписать такие команды:

iptables -A INPUT -p udp -m udp -s 192.168.1.0/24 --dport 137 -j ACCEPT
iptables -A INPUT -p udp -m udp -s 192.168.1.0/24 --dport 138 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -s 192.168.1.0/24 --dport 139 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -s 192.168.0.0/24 --dport 445 -j ACCEPT

Открытие портов для настройки дополнительной утилиты Samba в CentOS

В этом случае был использован стандартный инструмент управления межсетевым экраном iptables. При необходимости проведения дополнительной конфигурации брандмауэра мы советуем ознакомиться с руководством, представленным в отдельной нашей статье по следующей ссылке.

Подробнее: Настройка iptables в CentOS 7

Lumpics.ru

Шаг 3: Запуск конфига Samba и изучение параметров

Предоставление общего доступа к папке осуществляется посредством изменения конфигурационного файла Samba. В нем используется определенный синтаксис, свои параметры и значения. Если вы желаете и дальше работать с этим инструментом, рекомендуется знать хотя бы основные понятия. Однако для начала давайте разберемся с запуском этого файла настроек.

  1. Мы советуем использовать удобный консольный текстовый редактор nano. По умолчанию он отсутствует в CentOS, поэтому инсталлируйте его, введя команду sudo yum install nano.
  2. Установка текстового редактора nano для редактирования Samba в CentOS

  3. Подтвердите действие, указав пароль от учетной записи суперпользователя.
  4. Ввод пароля для установки текстового редактора nano для Samba в CentOS

  5. Запустите конфигурационный файл, выполнив sudo nano /etc/samba/smb.conf.
  6. Запуск конфигурационного файла утилиты Samba в CentOS

  7. Теперь на экране отображается все содержимое файла.
  8. Редактирование содержимого конфигурационного файла Samba в CentOS

Как видите, в конфигурации уже заданы определенные правила как глобальные, так и отдельные. Ознакомимся с основными правилами и их значениями:

  • workgroup — имя рабочей группы, в которую входит сервер;
  • server string — краткое произвольное описание сервера;
  • interfaces — сетевые интерфейсы, доступные для подключения к секции;
  • hosts allow — хосты, которые могут получить доступ;
  • hosts deny — запрещенные хосты;
  • log file — файл, куда будут сохраняться все уведомления, коды ошибок к другие действия;
  • max log size — максимальный размер указанного выше файла (после преодоления максимума создается новый файл);
  • security — способ проверки подлинности пользователей;
  • guest account — ассоциация для гостевой учетной записи.

Ниже вы видите пример оформления секции.

[global]

workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
hosts allow = 127. 192.168.12. 192.168.13.
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
map to guest = bad user

Шаг 4: Создание общедоступной папки

Теперь вы знаете об основных параметрах Samba и о том, как примерно выглядит секция — набор правил для определенной папки. Осталось только сделать такую группу. Если необходимый каталог еще не существует, создайте его с помощью команды mkdir /home/user/ashare, где /home/user/ashare — путь к директории и ее название.

  1. Запустите текстовый редактор nano, как это было показано в предыдущем шаге.
  2. Внесите изменения, например:

    [Folder]
    path = /tmp
    public = yes
    writable = yes
    printable = no
    write list = +staff

    Здесь Folder — название секции, path = /tmp — путь к папке, а все остальные параметры открывают полный доступ для всех участников локальной сети. Юзеры смогут не только просматривать содержимое, но и всячески редактировать его. После внесения изменений нажмите на Ctrl + O, чтобы сохранить их.

  3. Сохранение изменений конфигурационного файла Samba в CentOS

  4. Не меняйте имя файла для записи, а просто нажмите Enter.
  5. Отклонение изменений в названии конфигурационного файла Samba в CentOS

  6. Выйдите из текстового редактора через Ctrl + X.
  7. Выход из текстового редактора после редактирования Samba в CentOS

  8. Обновите конфигурацию, активировав service smb reload.
  9. Обновление конфигурации утилиты Samba в CentOS

  10. Проверьте работоспособность всех секций testparm -s /etc/samba/smb.conf.
  11. Проверка работоспособности всех параметров Samba в CentOS

  12. Если возникли какие-либо ошибки, потребуется перезагрузить сервис: service smb restart.
  13. Перезапуск сервиса Samba в CentOS

Отдельно бы хотелось отметить, что права доступа для пользователей одного устройства настраиваются другими методами. Утилита Samba не предназначена для выполнения этих операций. Если же вы интересуетесь темой настройки привилегий на одной локальной машине, читайте руководство по этой теме в материале далее.

Подробнее: Настройка прав доступа в Linux

Удаленный каталог в CentOS пропадет из сетевой папки, но учтите, что заданные параметры в конфигурационном файле останутся. Поэтому при очистке папок нужно редактировать и настройки используемой сегодня утилиты, убрав все лишние секции.

Читайте также: Удаление каталогов в Linux

Теперь вы владеете информацией о том, как можно без каких-либо трудностей расшарить папку в CentOS. По завершении этой процедуры каталог появится на всех локальных устройствах. Например, путь на Windows будет иметь вид: \linuxServerFolder, где linuxServer — название родительской машины, а Folder — та самая папка.

In our last article, we showed how to install Samba4 on Ubuntu for basic file sharing between Ubuntu systems and Windows machines. Where we looked at configuring anonymous (unsecure) as well as secure file sharing.

Here, we will describe how to install and configure Samba4 on CentOS 7 (also works on RHEL 7) for basic file sharing between other Linux systems and Windows machines.

Important: Starting from version 4.0, Samba can run as an Active Directory (AD) domain controller (DC). We suggest you read through our special series on setting up Samba4 Active Directory Domain Controller, which includes critical topics for Ubuntu, CentOS, and Windows.

Install Samba4 in CentOS 7

1. First install Samba4 and required packages from the default CentOS repositories using the yum package manager tool as shown.

# yum install samba samba-client samba-common

Install Samba4 on CentOS 7

Install Samba4 on CentOS 7

2. After installing the samba packages, enable samba services to be allowed through system firewall with these commands.

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

Open Samba on Firewalld

Open Samba on Firewalld

Check Windows Machine Workgroup Settings

3. Before you proceed to configure samba, make sure the Windows machine is in the same workgroup to be configured on the CentOS server.

There are two possible ways to view the Windows machine workgroup settings:

  • Right clicking on “This PC” or “My Computer” → PropertiesAdvanced system settingsComputer Name.

Check Windows WorkGroup

Check Windows WorkGroup
  • Alternatively, open the cmd prompt and run the following command, then look for “workstation domain” in the output as shown below.
>net config workstation

Verify Windows WorkGroup

Verify Windows WorkGroup

Configuring Samba4 on CentOS 7

4. The main samba configuration file is /etc/samba/smb.conf, the original file comes with pre-configuration settings which explain various configuration directives to guide you.

But, before configuring samba, I suggest you to take a backup of the default file like this.

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

Then, proceed to configure samba for anonymous and secure file sharing services as explained below.

Samba4 Anonymous File Sharing

5. First create the shared directory where the files will be stored on the server and set the appropriate permissions on the directory.

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

Also, you need to change the SELinux security context for the samba shared directory as follows.

# chcon -t samba_share_t /srv/samba/anonymous

Create Samba Shared Directory

Create Samba Shared Directory

6. Next, open the samba configuration file for editing, where you can modify/add the sections below with the corresponding directives.

# vi /etc/samba/smb.conf

Samba Configuration Settings

[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. Now verify current samba settings by running the command below.

# testparm

Verify Samba Current Configuration Settings

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. Finally, start and enable samba services to start automatically at next boot and also apply the above changes to take effect.

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

Testing Anonymous Samba File Sharing

9. Now on the Windows machine, open “Network” from a Windows Explorer window, then click on the CentOS host, or else try to access the server using its IP address (use ifconfig command to get IP address).

e.g. 2.168.43.168.

Shared Network Hosts

Shared Network Hosts

10. Next, open the Anonymous directory and try to add files in there to share with other users.

Samba Anonymous Share

Samba Anonymous Share
Add Files to Samba Anonymous Share
Add Files to Samba Anonymous Share

Setup Samba4 Secure File Sharing

11. First start by creating a samba system group, then add users to the group and set a password for each user like so.

# groupadd smbgrp
# usermod tecmint -aG smbgrp
# smbpasswd -a tecmint

12. Then create a secure directory where the shared files will be kept and set the appropriate permissions on the directory with SELinux security context for the 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. Next open the configuration file for editing and modify/add the section below with the corresponding directives.

# vi /etc/samba/smb.conf

Samba Secure Configuration Settings

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

14. Again, verify the samba configuration settings by running the following command.

$ testparm

Verify Secure Configuration Settings

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. Restart Samba services to apply the changes.

# systemctl restart smb.service
# systemctl restart nmb.service

Testing Secure Samba File Sharing

16. Go to Windows machine, open “Network” from a Windows Explorer window, then click on the CentOS host, or else try to access the server using its IP address.

e.g. 2.168.43.168.

You’ll be asked to provide your username and password to login the CentOS server. Once you have entered the credentials, click OK.

Samba Secure Login

Samba Secure Login

17. Once you successfully login, you will see all the samba shared directories. Now securely share some files with other permitted users on the network by dropping them in Secure directory.

Samba Secure Share Directory

Samba Secure Share Directory

You can also check out these useful articles concerning Samba file sharing on a network.

  1. How to Mount/Unmount Local and Network (Samba & NFS) Filesystems in Linux
  2. Using ACLs (Access Control Lists) and Mounting Samba / NFS Shares
  3. How to Fix SambaCry Vulnerability (CVE-2017-7494) in Linux Systems

In this guide, we showed you how to setup Samba4 for anonymous and secure file sharing between CentOS and other Linux systems as well as Windows machines. Share any thoughts with us via the comment section below.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

Содержание

  1. Создание общей папки в CentOS
  2. Делаем папку общей в CentOS
  3. Шаг 1: Установка и запуск Samba
  4. Шаг 2: Создание разрешений для Firewall
  5. Шаг 3: Запуск конфига Samba и изучение параметров
  6. Шаг 4: Создание общедоступной папки
  7. ИТ База знаний
  8. Полезно
  9. Навигация
  10. Серверные решения
  11. Телефония
  12. Корпоративные сети
  13. Как расшарить папку в CentOS с помощью Samba
  14. Установка
  15. Конфигурация
  16. Установка и первоначальная настройка Samba
  17. Доступ без авторизации
  18. Доступ с авторизацией
  19. CentOS — как сервер общих папок для Windows машин
  20. 🐹 CentOS 7: Установка и настройка Samba.
  21. Содержание:
  22. 1.Введение.
  23. 2. Предварительная подготовка.
  24. 3. Установка Samba.
  25. 4. Доступ по пользователю и паролю.
  26. 5. Доступ по IP-адресу.
  27. 6. Доступ всем подряд без ограничений.
  28. 7. Настройка межсетевого экрана.
  29. 8. Система логирования.
  30. 9. Проверка параметров и перезагрузка службы.

Создание общей папки в CentOS

Kak rassharit papku dlya vseh v CentOS

По умолчанию доступ к папкам в операционной системе CentOS ограничен, поэтому в случае надобности получения общей сетевой директории необходимо изменить определенные параметры. В выполнении данной процедуры нет ничего сложного, однако потребуется установить дополнительный инструмент и произвести изменения в конфигурационном файле. Мы предлагаем пошагово разобраться с осуществлением поставленной задачи.

Делаем папку общей в CentOS

Сразу отметим, что примененные сегодня изменения будут распространяться на все компьютеры локальной сети вне зависимости от установленной там ОС. То есть доступ к каталогу сможет получить пользователь ПК под управлением Windows или, например, macOS. Вся настройка происходит на том устройстве, где и находится та самая директория. Давайте начнем с первого шага.

Шаг 1: Установка и запуск Samba

Samba — свободное программное обеспечение, функциональность которого сосредоточена на взаимодействии с сетевыми объектами. Именно с помощью этого инструмента и будет выполняться открытие локального доступа для необходимой папки. В CentOS эта утилита не входит в стандартный пакет, поэтому ее придется добавить самостоятельно, а делается это так:

Otkrytie terminala dlya predostavleniya obshhego dostupa k papke v CentOS

Komanda dlya ustanovki dopolnitelnogo instrumenta Samba v CentOS

Podtverzhdenie parolya dlya ustanovki dopolnitelnogo instrumenta Samba v CentOS

Podtverzhdenie dobavleniya novyh paketov Samba v CentOS

Dobavit utilitu Samba v avtozapusk CentOS

Zapusk vypolneniya dopolnitelnoj utility Samba v CentOS

Шаг 2: Создание разрешений для Firewall

Otkrytie portov dlya nastrojki dopolnitelnoj utility Samba v CentOS

В этом случае был использован стандартный инструмент управления межсетевым экраном iptables. При необходимости проведения дополнительной конфигурации брандмауэра мы советуем ознакомиться с руководством, представленным в отдельной нашей статье по следующей ссылке.

Шаг 3: Запуск конфига Samba и изучение параметров

Предоставление общего доступа к папке осуществляется посредством изменения конфигурационного файла Samba. В нем используется определенный синтаксис, свои параметры и значения. Если вы желаете и дальше работать с этим инструментом, рекомендуется знать хотя бы основные понятия. Однако для начала давайте разберемся с запуском этого файла настроек.

Ustanovka tekstovogo redaktora nano dlya redaktirovaniya Samba v CentOS

Vvod parolya dlya ustanovki tekstovogo redaktora nano dlya Samba v CentOS

Zapusk konfiguratsionnogo fajla utility Samba v CentOS

Redaktirovanie soderzhimogo konfiguratsionnogo fajla Samba v CentOS

Как видите, в конфигурации уже заданы определенные правила как глобальные, так и отдельные. Ознакомимся с основными правилами и их значениями:

Ниже вы видите пример оформления секции.

workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
hosts allow = 127. 192.168.12. 192.168.13.
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
map to guest = bad user

Шаг 4: Создание общедоступной папки

[Folder]
path = /tmp
public = yes
writable = yes
printable = no
write list = +staff

Здесь Folder — название секции, path = /tmp — путь к папке, а все остальные параметры открывают полный доступ для всех участников локальной сети. Юзеры смогут не только просматривать содержимое, но и всячески редактировать его. После внесения изменений нажмите на Ctrl + O, чтобы сохранить их.

Sohranenie izmenenij konfiguratsionnogo fajla Samba v CentOS

Otklonenie izmenenij v nazvanii konfiguratsionnogo fajla Samba v CentOS

Vyhod iz tekstovogo redaktora posle redaktirovaniya Samba v CentOS

Obnovlenie konfiguratsii utility Samba v CentOS

Proverka rabotosposobnosti vseh parametrov Samba v CentOS

Perezapusk servisa Samba v CentOS

Отдельно бы хотелось отметить, что права доступа для пользователей одного устройства настраиваются другими методами. Утилита Samba не предназначена для выполнения этих операций. Если же вы интересуетесь темой настройки привилегий на одной локальной машине, читайте руководство по этой теме в материале далее.

Удаленный каталог в CentOS пропадет из сетевой папки, но учтите, что заданные параметры в конфигурационном файле останутся. Поэтому при очистке папок нужно редактировать и настройки используемой сегодня утилиты, убрав все лишние секции.

Помимо этой статьи, на сайте еще 12364 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Как расшарить папку в CentOS с помощью Samba

Общий доступ к папке в Linux

Привет! В сегодняшней статье я опишу как «расшарить» папку на CentOS сервере – то есть предоставить ей общий доступ без указания пароля. Сделать это возможно с помощью установки сервера Samba и нескольких дополнительных манипуляций.

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

laptop

Доступ будет производиться по протоколу SMB/CIFS (Server Message Block/Common Internet File System

Установка

1

SELinux – дополнение к стандартной системе контроля доступа Linux, но его настройка довольна трудоёмка и оно включено по умолчанию. Без каких-либо манипуляций SELinux часто может блокировать изменения, вызываемые при запуске различных служб или программ.

Далее приступаем к установке Samba сервера. Для этого нужно выполнить команду:

Теперь создадим папку – вводим команду mkdir –p /root/SHAREDFOLDER (имя папки и директория, соответственно, могут быть произвольными).

Далее устанавливаем на неё права:

Конфигурация

В данном файле необходимо проверить чтобы в секции global присутствовали следующие строки:

Затем закомментируйте (проставьте точку с запятой) перед аргументами в разделах [homes] (доступ к гостевым директориям) и в [printers] (доступ к принтерам).

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

Наконец, сохраним файл конфигурации и настроим автозапуск службы samba – для этого необходимо выполнить следующую команду:

Помните – Samba использует порты 137, 138, 139 и 445. Эта информация вам может понадобится при пробросе портов и настройке iptables.

Благодаря вышеописанной процедуре, вы сможете легко передавать файлы с сервера на рабочие машины в вашей сети, и, более того, решать многие прикладные задачи – к примеру, расшарить папку с записями разговоров, чтобы непосредственно иметь к ним доступ.

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Источник

1947

Установка и первоначальная настройка Samba

Установливаем samba через менеджер пакетов:

CentOS/RedHat

Debian/Ubuntu:

После установки открываем конфиг /etc/samba/smb.conf, и начинаем его править под свои нужды. В секции [Global] правим следующие параметры:

Если ваш компьютер является еще в добавок и маршрутизатором, и имеет более чем 1 сетевую карту, будет не лишним указать, какой из имеющихся интерфейсов слушать:

Указываем нужное имя рабочей группы. По умолчанию стоит WORKGROUP.

Проверяем, есть ли параметр security, если нет, то выставляем ему значение user.

Доступ без авторизации

Доступ с авторизацией

Samba как и большинство приложений Linux использует для своих нужд уже существующих пользователей системы, поэтому нужно использовать либо уже имеющуюся учетную запись, либо создать новую. Создать нового пользователя можно командой useradd:

Затем нужно добавить пользователя в Samba:

И активировать его:

Если нужно поменять пароль пользователю samba, то это можно сделать следующей командой:

Теперь сделаем доступ к шаре music только для чтения для неавторизованных пользователей, и полный доступ для пользователя crazysysadmin:

Если же нужно сделать так, чтобы никто кроме пользователя crazysysadmin не имел доступа к этому каталогу (даже на просмотр), то просто меняем параметр guest ok на no:

Источник

CentOS — как сервер общих папок для Windows машин

Но мы решили попробовать старые добрые общие папки, авось это будет нормально.

В общем в этой записке будет установлен пакет Samba отвечающий за функции файл сервера на операционных системах Linux. Я буду менять настройки этой программы, чтобы добиться работающего файл сервера для рабочих групп.

Конечно это мое первое знакомство с Samba (ух, неужели я все таки узнаю что это такое). Поэтому возможны всякие ляпы и ошибки.

Доступ к папкам может осуществляться путем сверки пары логин/пароль из собственной базы Samba. У пакета Samba есть также возможность авторизации через LDAP.

Я для начала буду использовать локальную базу. А потом уже продемонстрирую доступ на основе Active Directory (LDAP). Первый сервер будет автономный (standalone), а второй будет в виде члена домена Active Directory.

Настройка автономного файлового сервера

Начнем с первого пункта.

1. Вводные данные

Допусти есть гепотетическая компания ТОО «Asia», в которой трудятся следующие отделы:

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

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

It6h2OTh7mBSEEuu5y23fk2521C8mJ

2. Установка Samba

Samba устанавливается очень просто, и во многих дистрибутивах она установлена и работает по умолчанию.

3. Настройка Samba

Чтобы осуществить нашу задачу, мы последовательно сделаем следующее:

Начнем с первого пункта:

Обычно этот файл переименовывают и создают новый.

# mv /etc/samba/smb.conf /etc/samba/smb.conf.orig

Создадим свой файл настроек Samba

server string = Samba Server %v

bind interfaces only = yes

interfaces = eth1 10.168.50.0/24

hosts allow = 10.168.50. 127.0.0.1

log file = /var/log/samba/%m.log

# max 50KB per log fi le, then rotate

#ней описываются глобальный параметры, они указывают SAMBA-серверу

#как нужно функционировать. Далее идут секции описывающие доступные

#ресурсы. Графически структуру файла можно изобразить так:

max log size = 1024

encrypt passwords = yes

socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192 IPTOS_LOWDELAY

preferred master = yes

#Описание конфигурационного файла

#workgroup Название рабочей группы;

#server string Определяет название сервера, переменная %v

#содержит версию SAMBA-сервера;

#bind interfaces only В целях безопасности мы включаем режим

#ограничения обработки запросов SAMBA только

Источник

🐹 CentOS 7: Установка и настройка Samba.

Опубликовано 2020-05-05 · Обновлено 2022-06-16

Содержание:

1.Введение.

1.1. Описание программы.

Samba — программа, которая позволяет обращаться к сетевым дискам на различных операционных системах по протоколу Server Message Block (SMB) и Common Internet File System (CIFS). Имеет клиентскую и серверную части. Является свободным программным обеспечением, выпущена под лицензией GPL.

Основное предназначение — организация коллективного доступа к файлам и принтерам между Linux и Windows системами.

Samba состоит из нескольких демонов, работающих в фоновом режиме и предоставляющих сервисы и ряд инструментов командной строки для взаимодействия со службами Windows:

Для того чтобы все работало правильно, все машины должны состоять в одной рабочей группе, указанной на сервере Samba.

По умолчанию для Windows, CentOS 7 рабочая группа называется WORKGROUP.

1.2. Проверка наличия Samba.

Samba включена практически во все дистрибутивы Linux.

Скорей всего у вас он тоже есть, проверьте это:

samba on windows 04

Если нет, то установим её.

2. Предварительная подготовка.

2.1. Удалим SELinux.

Удалим SELinux:

Перезагрузим CentOS 7:

2.2. Обновим систему.

Обновим систему до актуального состояния:

2.3. Установим полезные программы.

Net-tools и текстовый редактор Midnight Commander:

2.4. Получение IP-адреса по DHCP.

Если по какой-то причине в сети нету DHCP сервера, вам стоит его поднять.

Для принудительного обновления или получения IP-адреса выполните команду:

Показать IP-адрес при установленных net-tools:

Запоминаем наш IP-адрес, который был выдан по DHCP. Он нам пригодится для обращения к нашему Samba серверу с других компьютеров.

2.5. Получение IP-адреса вручную.

В командной строке список сетевых адаптеров можно получить командой:

# nmcli device status

samba on windows 07

Статический IP и Gateway задается следующей командой, где enp2s0 — это имя сетевого адаптера:

# nmcli connection modify «enp2s0» ipv4.addresses «192.168.0.31/24 192.168.1.1»

2.6. Временное отключение межсетевого экрана.

По умолчанию CentOS 7 использует брандмауэр firewalld, временно отключим его:

# systemctl stop firewalld

Межсетевой экран настроим и активируем в конце инструкции, пока его отключим для чистоты экспериментов.

2.7. Отключение протокола IPv6.

Открываем настройку ядра:

Удаляем там все комментарии и вписываем всего 2 строки:

Нам не нужно отключать IPv6 на уровне всей системы, а только, например, для enp2s0 — это имена сетевых адаптеров.

Добавляем по строке на адаптер:

samba on windows 08

Перезагрузите службу сети:

# systemctl restart network

3. Установка Samba.

Устанавливаем Samba:

Запускаем службу smb.service и smb.service добавляем в автозагрузку.

# systemctl start smb
# systemctl enable smb

# systemctl start nmb
# systemctl enable nmb

Делаем резервное копируем конфига.

# cp /etc/samba/smb.conf /etc/samba/smb.conf.original

Делаем примерно такой конфигурационный файл:

В зависимости от этого настройки будут немного разные:

Настраиваем как над smb.conf по готовым решениям ниже и перезапускаем Samba, чтобы изменения вступили в силу, перезапускаем сервис Samba:

# systemctl restart smb
# systemctl restart nmb

Проверим его работу:

# systemctl status smb.service

Ответ:

samba status 01

Создаем папку для общего доступа и назначаем для всех права записи:

Импортируем этого пользователя в Samba и задаем пароль:

Настраиваем права на папку, чтобы он имел права на работу с ней и в ней:

Ответ:

samba testparm 01

Ответ:

samba pdbedit 01

4. Доступ по пользователю и паролю.

Открываем конфигурационный файл в текстовом редакторе:

Для доступа по паролю пишем такой конфигурационный файл:

Следует обратить внимание на параметры:

# systemctl restart smb
# systemctl restart nmb

# systemctl restart smb.service

И пробуем зайти на шару по адресу:

5. Доступ по IP-адресу.

Открываем конфигурационный файл в текстовом редакторе:

Чтоб организовать доступ в зависимости от IP-адреса, делаем такие настройки в smb.conf:

Чтобы добавить всю подсеть, то указать нужно следующее:

Комбинировать можно разные подсети и адреса, разделяя их пробелами. Для того, чтобы отключить доступ каким-то отдельным адресам из разрешенной подсети, можно сделать вот так:

Делаем перезапуск самбы и проверяем.

# systemctl restart smb
# systemctl restart nmb

# systemctl restart smb.service

И пробуем зайти на каталог по адресу:

Если у вас установлена Samba 4, то эта конфигурация не заработает и вы получите ошибку:

WARNING: Ignoring invalid value ‘share’ for parameter ‘security’

Чтобы доступ по IP нормально заработал, вам необходимо внести следующие изменения в приведенный выше конфиг:

Остальные параметры оставляете те же. После этого доступ по IP будет работать и на 4-й версии Samba.

6. Доступ всем подряд без ограничений.

Открываем конфигурационный файл в текстовом редакторе:

Если доступ будет предоставлен всем без ограничений, то простейшая конфигурация Samba будет такой:

Убедитесь, что директория из параметра path существует, если нет, создайте ее.

Не забываем еще раз сделать права для всех на папку:

И пробуем зайти на каталог по адресу:

Должно пустить без лишних вопросов.

7. Настройка межсетевого экрана.

Настроим межсетевой экран.

7.1. Для firewalld.

По умолчанию CentOS 7 использует брандмауэр firewalld, состояние службы можно узнать командой:

Активируем его командой:

# systemctl start firewalld

Для получения списка правил и сервисов используйте:

Обратите внимание на список сервисов, если вы отключили протокол IPv6, логично также поступить и с DHCPv6-client:

Создаем правило для Samba и перезагружаем:

7.2. Для iptables.

Для этого в правилах откроем TCP-порты: 139 порт и 445 порт, а также UDP-порты: 137 порт и 138 порт, но только для тех подсетей, которым доверяете.

Перезагружаем iptables:

# systemctl restart iptables

Для проверки существующих правил используем:

7.3. Для iptables доступ только из локальной сети.

Так же незабываем настроить iptables для доступа к ресурсу:

Добавляем в файервол iptables исключение в параметрах INPUT :

8. Система логирования.

Как вы можете знаете, предоставление доступа к файлам это только часть функционала Samba. Если на сервере будут только файловые ресурсы, службу печати логично отключить.

В разделе [global] добавьте следующие параметры:

9. Проверка параметров и перезагрузка службы.

# systemctl restart smb
# systemctl restart nmb

# systemctl restart smb.service

Проверим параметры запуска Samba:

samba on windows 09

Проверим состояние службы Samba:

Источник

Категория: nix’ы
24 ноября 2012
01 июля 2016
31613

Ниже кратко расскажу, как создать общую папку в CentOS и подключиться к ней из Windows.

Настройка Samba

Устанавливаем Samba:

yum install samba samba-common

Включаем автозагрузку:

chkconfig —level 345 smb on

Запускаем службу:

service smb start

Разрешаем подключение фаерволе:

iptables -A INPUT -p udp -m udp -s 192.168.1.0/24 —dport 137 -j ACCEPT
iptables -A INPUT -p udp -m udp -s 192.168.1.0/24 —dport 138 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -s 192.168.1.0/24 —dport 139 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -s 192.168.0.0/24 —dport 445 -j ACCEP

Добавляем учетную запись и задаем ей пароль:

adduser username smbpasswd -a username

Добавляем в файл /etc/samba/smb.conf строки (расшарим папку tmp):

[tmp]
    path = /tmp
    public = yes
    writable = yes
    printable = no
    write list = +staff

Обновляем конфигурацию:

service smb reload

Проверяем конфигурацию:

testparm -s /etc/samba/smb.conf

Если что то не так пробуем перезапустить сервис:

service smb restart

Подключение

  • Добавим нашу общую папку в Windows, как сетевой диск — My Computer — Tools — Map network drive…
  • Указываем путь — \linuxServertmp
  • На запрос имени пользователя и пароля указываем — linuxServerusername и соотвественно пароль

Пользуемся ;)

Настройка Samba в CentOS 7

настройка samba в centos

Файловый сервер (ФС) в операционных системах Linux может быть использован для разных целей, однако в большинстве случаев он задействован при создании локальной сети и общих папок с компьютерами на базе Windows. Самым популярным ФС на текущий момент времени по праву считается Samba. Она предустановлена во многих дистрибутивах, а опытные юзеры предпочитают именно этот инструмент в качестве основного при необходимости использования файловых серверов. Сегодня речь пойдет об инсталляции и настройке этого компонента в CentOS 7.

Мы распределили весь материал на шаги, потому что процесс стандартной конфигурации обычно занимает много времени и состоит из нескольких различных этапов. Не обойдем стороной и предварительные действия с Windows, поскольку выше мы уже уточнили, что Samba часто применяется в связке именно с этой операционной системой. Вам остается только внимательно изучить представленные инструкции, чтобы понять основные принципы настройки файлового сервера в CentOS 7.

Шаг 1: Подготовительные работы в Windows

Начать стоит именно с Виндовс, поскольку потребуется определить важную информацию, без которой не обойтись без создания сети и общих папок. Вам потребуется определить имя рабочей группы и внести изменения в файл «hosts», чтобы попытки подключения не блокировались. Все это выглядит следующим образом:

  1. Откройте «Пуск», через поиск отыщите «Командную строку» и запустите это приложение от имени администратора.
  2. Введите команду net config workstation, чтобы узнать текущую конфигурацию рабочей станции. Активируйте действие нажатием на клавишу Enter.
  3. Дождитесь появления списка. В нем отыщите пункт «Домен рабочей станции» и запомните его значение.
  4. В этой же сессии консоли введите строку notepad C:WindowsSystem32driversetchosts, чтобы открыть необходимый файл через установленный по умолчанию «Блокнот».
  5. Опуститесь в конец списка и вставьте строку 192.168.0.1 srvr1.domain.com srvr1, заменив этот IP на адрес устройства, где дальше будет настраиваться Samba. После этого сохраните все изменения.
  6. На этом все действия с компьютером на Windows заканчиваются, а это значит, что можно переходить к CentOS 7 и заняться непосредственной конфигурацией файлового сервера Samba.

    Шаг 2: Инсталляция Samba в CentOS 7

    Далеко не все компоненты, требуемые для корректного функционирования Samba, по умолчанию установлены в рассматриваемой операционной системе, поэтому их придется добавлять вручную. Все эти действия будут выполнены через «Терминал», а также вам нужно убедиться в наличии активного подключения к интернету и возможности использовать команду sudo.

    1. Откройте консоль удобным для вас образом, например, через меню приложений или стандартную комбинацию клавиш Ctrl + Alt + T.
    2. Здесь введите sudo yum install -y samba samba-common python-glade2 system-config-samba, чтобы запустить одновременную инсталляцию всех требуемых дополнительных утилит.
    3. Введите пароль суперпользователя, чтобы подтвердить данное действие. Учитывайте, что написанные в данной строке символы не отображаются.
    4. Вы будете уведомлены о том, что начался процесс установки. Во время этого не закрывайте «Терминал», иначе все настройки будут автоматически сброшены.
    5. По завершении операции появятся строки, сообщающие о том, что установлены необходимые утилиты и их зависимости — можно переходить далее.
  7. Благодаря введенной ранее команде сразу все утилиты были инсталлированы одновременно и больше ничего добавлять в систему не придется. Файловый сервер будет запущен автоматически и сразу же добавлен в автозагрузку, поэтому можно не беспокоиться о его включении или создании символических ссылок.

    Шаг 3: Установка глобальных параметров

    Samba инсталлируется в ОС в «чистом виде», а это значит, что сейчас не заданы параметры, определяющие ее поведение. Их придется устанавливать самостоятельно, а начать стоит с главной конфигурации. Мы предлагаем воспользоваться стандартным шаблоном, заменив некоторые пользовательские строки.

    1. Иногда Samba устанавливается с чистым конфигурационным файлом, однако в нем все же могут уже быть заданы какие-то параметры. Давайте сначала создадим резервную копию этого объекта, чтобы в случае чего быстро восстановить ее. Осуществляется эта задача путем ввода sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak.
    2. Это действие, как и все последующие, придется подтвердить, указав пароль суперпользователя.
    3. Следующие манипуляции будут производиться непосредственно с самим конфигурационным файлом. Для этого всегда используется текстовый редактор. По стандарту в систему добавлен vi, но он не является достаточно удобным для начинающих пользователей, поэтому мы рекомендуем инсталлировать nano через команду sudo yum install nano.
    4. Если nano уже добавлен в ОС, вы будете уведомлены об этом.
    5. Теперь перейдем к редактированию конфигурационного файла, введя sudo nano /etc/samba/smb.conf.
    6. В открывшемся окне введите расположенное ниже содержимое.

      [global]
      workgroup = WORKGROUP
      server string = %h server (Samba, Ubuntu)
      netbios name = Ubuntu Share
      dns proxy = no
      log file = /var/log/samba/log.%m
      max log size = 1000
      passdb backend = tdbsam
      unix password sync = yes
      passwd program = /usr/bin/passwd %u
      pam password change = yes
      map to guest = bad user
      usershare allow guests = yes


      1. Нажмите сочетание клавиш Ctrl + O, чтобы записать изменения.
      2. Не изменяйте название файла, а просто нажмите на Enter.
      3. После этого можно покинуть окно текстового редактора, зажав Ctrl + X.
  8. Выше мы указали, какое именно содержимое следует вставлять в конфигурационный файл, однако значения данных параметров меняются в зависимости от требований пользователя. Давайте более детально разберемся с самыми важными пунктами:

    • workgroup. Этот параметр определяет имя рабочей группы. Его значение выставляется в соответствии с определенной в Windows информацией.
    • netbios name. Поменяйте значение на произвольное имя, которое хотите, чтобы отображалось на ПК под управлением Windows при взаимодействии с данным устройством.
    • log file. В качестве значения этого параметра укажите путь к файлу, где хотите хранить журналы событий, записывающиеся во время функционирования файлового сервера.
    • passdb backend. Эта опция определяет тип хранения паролей. Если вы не знаете, что именно здесь задать, лучше оставьте этот пункт в значении по умолчанию.
    • unix password sync. Рекомендуется активировать этот параметр, поскольку он отвечает за синхронизацию паролей/
    • map to guest. Используется для обозначения гостевого доступа. Имеет несколько значений: bad user применяется для несуществующих учетных записей, bad password загружает гостевой режим при неверном вводе пароля, а never попросту деактивирует опцию.

    Дополнительно в Samba имеются и другие конфигурационные опции, а также реализован графический интерфейс. Со всем этим мы советуем ознакомиться в официальной документации, поскольку всю информацию невозможно уместить в рамках одной статьи.

    Шаг 4: Создание общедоступного каталога

    Продолжим конфигурацию файлового сервера, разобрав принцип создания общедоступных каталогов. Сразу отметим, что такие папки обычно не ограничены паролем и доступны к просмотру или даже для редактирования абсолютно каждому подключенному юзеру. Чаще всего создают одну такую директорию, но ничего не мешает вам добавить их любое количество. Создание первой такой папки выполняется так:

    1. В «Терминале» введите sudo mkdir -p /samba/allaccess, чтобы создать упомянутую выше папку. Измените ее название на произвольное, если это требуется.
    2. Приступайте к настройке общего доступа, изначально переместившись по пути cd /samba.
    3. Здесь вставьте строку sudo chmod -R 0755 allaccess и нажмите на Enter.
    4. Еще один параметр sudo chown -R nobody:nogroup allaccess/ отвечает за предоставление доступа абсолютно всем пользователям.
    5. Теперь потребуется обозначить данную папку в конфигурационном файле. Для начала запустим его через sudo nano /etc/samba/smb.conf.
    6. Вставьте в конец или начало файла расположенный ниже блок. О значении каждой строки мы поговорим немного позднее, чтобы вы разобрались с установкой индивидуальных значений.

      [allaccess]
      path = /samba/allaccess
      browsable = yes
      writable = yes
      guest ok = yes
      read only = no

      1. Сохраните изменения и покиньте текстовый редактор.
      2. Все настройки будут применены только после перезапуска файлового сервера, поэтому сделайте это прямо сейчас, написав sudo systemctl restart samba.
  9. После того, как все необходимые общедоступные директории будут созданы, рекомендуется проверить их работоспособность в Windows, введя там команду \srvr1allaccess. Теперь давайте затронем указанные выше параметры:

    • path. Здесь вписывается путь к той самой папке, которая выбрана общедоступной.
    • browsable. Активация этого параметра позволит отображать каталог в списке разрешенных.
    • writable. Указанную папку можно будет редактировать, если значение этого параметра указано как yes.
    • guest ok. Активируйте этот пункт, если хотите предоставить общий доступ к папке.
    • read only. Используйте положительное значение этого параметра, чтобы установить значение папки «Только для чтения».

    Шаг 5: Создание защищенного каталога

    В качестве последнего примера конфигурации Samba хотим рассказать о создании защищенных папок, которые будут находиться под паролем и доступны только определенным пользователям. Как вы уже поняли, создать таких директорий можно неограниченное количество, а происходит это так:

    1. Создадим директорию, которую далее будем настраивать, воспользовавшись командой sudo mkdir -p /samba/allaccess/secured.
    2. Добавьте группу, куда будут входить разрешенные пользователи, через sudo addgroup securedgroup.
    3. Перейдите расположению защищенного каталога, указав cd /samba/allaccess.
    4. Здесь задайте права для каждого отдельного пользователя через sudo chown -R richard:securedgroup secured. Замените имя richard в этой команде на необходимое.
    5. Осталось только ввести общую команду для безопасности sudo chmod -R 0770 secured/.
    6. Перейдите к конфигурационному файлу (sudo nano /etc/samba/smb.conf), чтобы указать ту папку, которую мы только что настроили.
    7. Скопируйте и вставьте в редактор указанный ниже блок.

      [secured]
      path = /samba/allaccess/secured
      valid users = @securedgroup
      guest ok = no
      writable = yes
      browsable = yes

      1. Сохраните изменения и закройте текстовый редактор.
      2. Добавьте все учетные записи в соответствующую группу через sudo usermod -a -G securedgroup richard.
      3. Установите для каждой из них пароль sudo smbpasswd -a richard в качестве последнего действия, завершающего конфигурацию.
      4. Это вся информация, которой мы хотели поделиться, рассказав об общих настройках файлового сервера Samba в CentOS 7. Вам осталось только следовать приведенным инструкциям, изменяя параметры и их значения под себя, чтобы создать оптимальную конфигурацию.

Samba — это бесплатная и открытая повторная реализация сетевого протокола обмена файлами SMB / CIFS, которая позволяет конечным пользователям получать доступ к файлам, принтерам и другим общим ресурсам.

В этом руководстве мы покажем, как установить Samba на CentOS 7 и настроить его как автономный сервер для обеспечения обмена файлами между различными операционными системами по сети.

Мы создадим следующие общие ресурсы и пользователей Samba.

Пользователи:

  • sadmin — административный пользователь с правами чтения и записи для всех общих ресурсов.
  • josh — Обычный пользователь со своим личным файловым хранилищем .

Акции:

  • users — этот общий ресурс будет доступен всем пользователям с разрешениями на чтение и запись.
  • josh — этот общий ресурс будет доступен с разрешениями на чтение и запись только пользователям josh и sadmin.

Общие файловые ресурсы будут доступны со всех устройств в вашей сети. Позже в этом руководстве мы также предоставим подробные инструкции о том, как подключиться к серверу Samba из клиентов Linux, Windows и macOS.

Подготовка

Прежде чем начать, убедитесь, что вы вошли в систему CentOS 7 как пользователь с привилегиями sudo .

Установка Samba на CentOS

Samba доступна из стандартных репозиториев CentOS. Чтобы установить его в вашей системе CentOS, выполните следующую команду:

sudo yum install samba samba-client

После завершения установки запустите службы Samba и включите их автоматический запуск при загрузке системы:

sudo systemctl start smb.servicesudo systemctl start nmb.service
sudo systemctl enable smb.servicesudo systemctl enable nmb.service

Служба smbd предоставляет службы обмена файлами и печати и прослушивает TCP-порты 139 и 445. Служба nmbd предоставляет клиентам службы именования NetBIOS через IP и прослушивает порт 137 UDP.

Настройка межсетевого экрана

Теперь, когда Samba установлена и запущена на вашем компьютере с CentOS, вам нужно настроить брандмауэр и открыть необходимые порты. Для этого выполните следующие команды:

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

Создание пользователей Samba и структуры каталогов

Для упрощения сопровождения и гибкости вместо использования стандартных домашних каталогов ( /home/user ) все каталоги и данные Samba будут расположены в каталоге /samba .

Начнем с создания каталога /samba :

sudo mkdir /samba

Создайте новую группу с именем sambashare . Позже мы добавим в эту группу всех пользователей Samba.

sudo groupadd sambashare 

Установите владельцем группы каталогов /samba значение sambashare :

sudo chgrp sambashare /samba

Samba использует систему разрешений пользователей и групп Linux, но имеет свой собственный механизм аутентификации, отличный от стандартной аутентификации Linux. Мы создадим пользователей, используя стандартный инструмент Linux useradd , а затем установим пароль пользователя с помощью утилиты smbpasswd .

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

Создание пользователей Samba

Чтобы создать нового пользователя с именем josh , используйте следующую команду:

sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh

Параметры useradd имеют следующие значения:

  • -M -не создавать домашний каталог пользователя. Мы создадим этот каталог вручную.
  • -d /samba/josh — установить домашний каталог пользователя в /samba/josh .
  • -s /usr/sbin/nologin — отключить доступ к оболочке для этого пользователя.
  • -G sambashare — добавить пользователя в группу sambashare .

Создайте домашний каталог пользователя и установите владельца каталога на пользователя josh и группу sambashare :

sudo mkdir /samba/joshsudo chown josh:sambashare /samba/josh

Следующая команда добавит бит setgid в каталог /samba/josh чтобы вновь созданные файлы в этом каталоге унаследовали группу родительского каталога. Таким образом, независимо от того, какой пользователь создает новый файл, у файла будет владелец группы sambashare . Например, если вы не установите права доступа к каталогу на 2770 и пользователь sadmin создаст новый файл, пользователь josh не сможет читать / писать в этот файл.

sudo chmod 2770 /samba/josh

Добавьте josh запись пользователя josh в базу данных Samba, установив пароль пользователя:

sudo smbpasswd -a josh

Вам будет предложено ввести и подтвердить пароль пользователя.

New SMB password:
Retype new SMB password:
Added user josh.

После установки пароля включите учетную запись Samba, набрав:

sudo smbpasswd -e josh
Enabled user josh.

Чтобы создать другого пользователя, повторите тот же процесс, что и при создании пользователя josh .

Далее давайте создадим пользователя и группу sadmin . Все члены этой группы будут иметь права администратора. Позже, если вы захотите предоставить административные права другому пользователю, просто добавьте этого пользователя в группу sadmin .

Создайте пользователя с правами администратора, набрав:

sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin

Приведенная выше команда также создаст группу sadmin и добавит пользователя в группы sadmin и sambashare .

Установите пароль и включите пользователя:

sudo smbpasswd -a sadminsudo smbpasswd -e sadmin

Затем создайте общий каталог Users :

sudo mkdir /samba/users

Установите владельца каталога на пользователя sadmin и группу sambashare :

sudo chown sadmin:sambashare /samba/users

Этот каталог будет доступен всем авторизованным пользователям. Следующая команда настраивает доступ для записи / чтения для членов группы sambashare в sambashare /samba/users :

sudo chmod 2770 /samba/users

Настройка общих ресурсов Samba

Откройте файл конфигурации Samba и добавьте разделы:

sudo nano /etc/samba/smb.conf

/etc/samba/smb.conf

[users]
    path = /samba/users
    browseable = yes
    read only = no
    force create mode = 0660
    force directory mode = 2770
    valid users = @sambashare @sadmin

[josh]
    path = /samba/josh
    browseable = no
    read only = no
    force create mode = 0660
    force directory mode = 2770
    valid users = josh @sadmin

Параметры имеют следующие значения:

  • [users] и [josh] — имена [josh] ресурсов, которые вы будете использовать при входе в систему.
  • path — Путь к общему ресурсу.
  • browseable — должен ли общий ресурс отображаться в списке доступных общих ресурсов. Если установить значение « no другие пользователи не смогут видеть общий ресурс.
  • read only — могут ли пользователи, указанные в списке valid users , писать в этот общий ресурс.
  • force create mode — устанавливает разрешения для вновь созданных файлов в этом общем ресурсе.
  • force directory mode — устанавливает разрешения для вновь созданных каталогов в этом общем ресурсе.
  • valid users — список пользователей и групп, которым разрешен доступ к общему ресурсу. Группы имеют префикс @ .

Дополнительные сведения о доступных параметрах см. На странице документации файла конфигурации Samba .

После этого перезапустите службы Samba с помощью:

sudo systemctl restart smb.servicesudo systemctl restart nmb.service

В следующих разделах мы покажем вам, как подключиться к общему ресурсу Samba из клиентов Linux, macOS и Windows.

Подключение к общему ресурсу Samba из Linux

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

Использование клиента smbclient

smbclient — это инструмент, который позволяет вам получить доступ к Samba из командной строки. Пакет smbclient не установлен предварительно в большинстве дистрибутивов Linux, поэтому вам нужно будет установить его с помощью диспетчера пакетов распространения.

Чтобы установить smbclient в Ubuntu и Debian, запустите:

sudo apt install smbclient

Чтобы установить smbclient в CentOS и Fedora, запустите:

sudo yum install samba-client

Синтаксис для доступа к общему ресурсу Samba следующий:

mbclient //samba_hostname_or_server_ip/share_name -U username

Например, чтобы подключиться к josh ресурсу с именем josh на сервере Samba с IP-адресом 192.168.121.118 от имени пользователя josh вы должны запустить:

smbclient //192.168.121.118/josh -U josh

Вам будет предложено ввести пароль пользователя.

Enter WORKGROUPjosh's password:

После ввода пароля вы войдете в интерфейс командной строки Samba.

Try "help" to get a list of possible commands.
smb: >

Монтирование общего ресурса Samba

Чтобы смонтировать общий ресурс Samba в Linux, сначала необходимо установить пакет cifs-utils .

В Ubuntu и Debian запустите:

sudo apt install cifs-utils

В CentOS и Fedora запустите:

sudo yum install cifs-utils

Затем создайте точку монтирования:

sudo mkdir /mnt/smbmount

Подключите общий ресурс с помощью следующей команды:

sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount

Например, чтобы смонтировать общий ресурс с именем josh на сервере Samba с IP-адресом 192.168.121.118 от имени пользователя josh в точку монтирования /mnt/smbmount вы должны запустить:

sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount

Вам будет предложено ввести пароль пользователя.

Password for [email protected]//192.168.121.118/josh:  ********

Использование графического интерфейса

Files, файловый менеджер по умолчанию в Gnome имеет встроенную возможность доступа к общим ресурсам Samba.

  1. Откройте файлы и нажмите «Другие места» на боковой панели.
  2. В поле «Подключиться к серверу» введите адрес smb://samba_hostname_or_server_ip/sharename Samba в следующем формате smb://samba_hostname_or_server_ip/sharename .
  3. Нажмите «Подключиться», и появится следующий экран:
  4. Выберите «Зарегистрированный пользователь», введите имя пользователя и пароль Samba и нажмите «Подключиться».
  5. Будут показаны файлы на сервере Samba.

Подключение к общему ресурсу Samba из macOS

В macOS вы можете получить доступ к общим ресурсам Samba либо из командной строки, либо с помощью стандартного файлового менеджера macOS Finder. Следующие шаги показывают, как получить доступ к общему ресурсу с помощью Finder.

  1. Откройте «Finder», выберите «Перейти» и нажмите «Подключиться к».
  2. В поле «Подключиться к» введите адрес smb://samba_hostname_or_server_ip/sharename Samba в следующем формате smb://samba_hostname_or_server_ip/sharename .
  3. Нажмите «Подключиться», и появится следующий экран:
  4. Выберите «Зарегистрированный пользователь», введите имя пользователя и пароль Samba и нажмите «Подключиться».
  5. Будут показаны файлы на сервере Samba.

Подключение к общему ресурсу Samba из Windows

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

  1. Откройте проводник и на левой панели щелкните правой кнопкой мыши «Этот компьютер».
  2. Выберите «Выбрать другое сетевое расположение» и нажмите «Далее».
  3. В поле «Интернет или сетевой адрес» введите адрес samba_hostname_or_server_ipsharename Samba в следующем формате samba_hostname_or_server_ipsharename .
  4. Нажмите «Далее», и вам будет предложено ввести учетные данные для входа, как показано ниже:
  5. В следующем окне вы можете ввести собственное имя для сетевого расположения. По умолчанию будет выбран сервер Samba.
  6. Нажмите «Далее», чтобы перейти к последнему экрану мастера настройки подключения.
  7. Нажмите «Готово», и будут показаны файлы на сервере Samba.

Выводы

В этом руководстве вы узнали, как установить сервер Samba на CentOS 7 и создать различные типы общих и пользователей. Мы также показали вам, как подключиться к серверу Samba с устройств Linux, macOS и Windows.

Понравилась статья? Поделить с друзьями:
  • Centos 7 подключить к домену windows
  • Centos 7 монтирование сетевой папки windows
  • Cent браузер скачать на русском для windows 10
  • Cent browser версия для windows xp
  • Cellular data скачать для windows 10