Содержание
- Делаем папку общей в CentOS
- Шаг 1: Установка и запуск Samba
- Шаг 2: Создание разрешений для Firewall
- Шаг 3: Запуск конфига Samba и изучение параметров
- Шаг 4: Создание общедоступной папки
- Вопросы и ответы
По умолчанию доступ к папкам в операционной системе CentOS ограничен, поэтому в случае надобности получения общей сетевой директории необходимо изменить определенные параметры. В выполнении данной процедуры нет ничего сложного, однако потребуется установить дополнительный инструмент и произвести изменения в конфигурационном файле. Мы предлагаем пошагово разобраться с осуществлением поставленной задачи.
Сразу отметим, что примененные сегодня изменения будут распространяться на все компьютеры локальной сети вне зависимости от установленной там ОС. То есть доступ к каталогу сможет получить пользователь ПК под управлением Windows или, например, macOS. Вся настройка происходит на том устройстве, где и находится та самая директория. Давайте начнем с первого шага.
Шаг 1: Установка и запуск Samba
Samba — свободное программное обеспечение, функциональность которого сосредоточена на взаимодействии с сетевыми объектами. Именно с помощью этого инструмента и будет выполняться открытие локального доступа для необходимой папки. В CentOS эта утилита не входит в стандартный пакет, поэтому ее придется добавить самостоятельно, а делается это так:
- Откройте стандартную консоль, например, через иконку в меню приложений.
- Введите там команду
sudo yum install samba samba-common
и нажмите на клавишу Enter. - Приставка sudo означает, что действие будет выполняться от имени суперпользователя, поэтому придется подтвердить подлинность учетной записи путем указания пароля.
- Появится уведомление о намерении добавить новые пакеты в ОС, примите его, выбрав вариант y.
- Для постоянной работы сервиса необходимо, чтобы он запускался вместе с CentOS. Добавьте его в автозагрузку с помощью
sudo chkconfig --level 345 smb on
. - После этого запустите службу Samba командой
service smb start
и переходите к следующему шагу.
Шаг 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
В этом случае был использован стандартный инструмент управления межсетевым экраном iptables. При необходимости проведения дополнительной конфигурации брандмауэра мы советуем ознакомиться с руководством, представленным в отдельной нашей статье по следующей ссылке.
Подробнее: Настройка iptables в CentOS 7
Шаг 3: Запуск конфига Samba и изучение параметров
Предоставление общего доступа к папке осуществляется посредством изменения конфигурационного файла Samba. В нем используется определенный синтаксис, свои параметры и значения. Если вы желаете и дальше работать с этим инструментом, рекомендуется знать хотя бы основные понятия. Однако для начала давайте разберемся с запуском этого файла настроек.
- Мы советуем использовать удобный консольный текстовый редактор nano. По умолчанию он отсутствует в CentOS, поэтому инсталлируйте его, введя команду
sudo yum install nano
. - Подтвердите действие, указав пароль от учетной записи суперпользователя.
- Запустите конфигурационный файл, выполнив
sudo nano /etc/samba/smb.conf
. - Теперь на экране отображается все содержимое файла.
Как видите, в конфигурации уже заданы определенные правила как глобальные, так и отдельные. Ознакомимся с основными правилами и их значениями:
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 — путь к директории и ее название.
- Запустите текстовый редактор nano, как это было показано в предыдущем шаге.
- Внесите изменения, например:
[Folder]
path = /tmp
public = yes
writable = yes
printable = no
write list = +staffЗдесь Folder — название секции, path = /tmp — путь к папке, а все остальные параметры открывают полный доступ для всех участников локальной сети. Юзеры смогут не только просматривать содержимое, но и всячески редактировать его. После внесения изменений нажмите на Ctrl + O, чтобы сохранить их.
- Не меняйте имя файла для записи, а просто нажмите Enter.
- Выйдите из текстового редактора через Ctrl + X.
- Обновите конфигурацию, активировав
service smb reload
. - Проверьте работоспособность всех секций
testparm -s /etc/samba/smb.conf
. - Если возникли какие-либо ошибки, потребуется перезагрузить сервис:
service smb restart
.
Отдельно бы хотелось отметить, что права доступа для пользователей одного устройства настраиваются другими методами. Утилита 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
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
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” → Properties → Advanced system settings → Computer Name.
- Alternatively, open the cmd prompt and run the following command, then look for “workstation domain” in the output as shown below.
>net config workstation
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
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.
10. Next, open the Anonymous directory and try to add files in there to share with other users.
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.
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.
You can also check out these useful articles concerning Samba file sharing on a network.
- How to Mount/Unmount Local and Network (Samba & NFS) Filesystems in Linux
- Using ACLs (Access Control Lists) and Mounting Samba / NFS Shares
- 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.
We are thankful for your never ending support.
Содержание
- Создание общей папки в CentOS
- Делаем папку общей в CentOS
- Шаг 1: Установка и запуск Samba
- Шаг 2: Создание разрешений для Firewall
- Шаг 3: Запуск конфига Samba и изучение параметров
- Шаг 4: Создание общедоступной папки
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Как расшарить папку в CentOS с помощью Samba
- Установка
- Конфигурация
- Установка и первоначальная настройка Samba
- Доступ без авторизации
- Доступ с авторизацией
- CentOS — как сервер общих папок для Windows машин
- 🐹 CentOS 7: Установка и настройка Samba.
- Содержание:
- 1.Введение.
- 2. Предварительная подготовка.
- 3. Установка Samba.
- 4. Доступ по пользователю и паролю.
- 5. Доступ по IP-адресу.
- 6. Доступ всем подряд без ограничений.
- 7. Настройка межсетевого экрана.
- 8. Система логирования.
- 9. Проверка параметров и перезагрузка службы.
Создание общей папки в CentOS
По умолчанию доступ к папкам в операционной системе CentOS ограничен, поэтому в случае надобности получения общей сетевой директории необходимо изменить определенные параметры. В выполнении данной процедуры нет ничего сложного, однако потребуется установить дополнительный инструмент и произвести изменения в конфигурационном файле. Мы предлагаем пошагово разобраться с осуществлением поставленной задачи.
Делаем папку общей в CentOS
Сразу отметим, что примененные сегодня изменения будут распространяться на все компьютеры локальной сети вне зависимости от установленной там ОС. То есть доступ к каталогу сможет получить пользователь ПК под управлением Windows или, например, macOS. Вся настройка происходит на том устройстве, где и находится та самая директория. Давайте начнем с первого шага.
Шаг 1: Установка и запуск Samba
Samba — свободное программное обеспечение, функциональность которого сосредоточена на взаимодействии с сетевыми объектами. Именно с помощью этого инструмента и будет выполняться открытие локального доступа для необходимой папки. В CentOS эта утилита не входит в стандартный пакет, поэтому ее придется добавить самостоятельно, а делается это так:
Шаг 2: Создание разрешений для Firewall
В этом случае был использован стандартный инструмент управления межсетевым экраном iptables. При необходимости проведения дополнительной конфигурации брандмауэра мы советуем ознакомиться с руководством, представленным в отдельной нашей статье по следующей ссылке.
Шаг 3: Запуск конфига Samba и изучение параметров
Предоставление общего доступа к папке осуществляется посредством изменения конфигурационного файла Samba. В нем используется определенный синтаксис, свои параметры и значения. Если вы желаете и дальше работать с этим инструментом, рекомендуется знать хотя бы основные понятия. Однако для начала давайте разберемся с запуском этого файла настроек.
Как видите, в конфигурации уже заданы определенные правила как глобальные, так и отдельные. Ознакомимся с основными правилами и их значениями:
Ниже вы видите пример оформления секции.
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, чтобы сохранить их.
Отдельно бы хотелось отметить, что права доступа для пользователей одного устройства настраиваются другими методами. Утилита Samba не предназначена для выполнения этих операций. Если же вы интересуетесь темой настройки привилегий на одной локальной машине, читайте руководство по этой теме в материале далее.
Удаленный каталог в CentOS пропадет из сетевой папки, но учтите, что заданные параметры в конфигурационном файле останутся. Поэтому при очистке папок нужно редактировать и настройки используемой сегодня утилиты, убрав все лишние секции.
Помимо этой статьи, на сайте еще 12364 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Как расшарить папку в CentOS с помощью Samba
Общий доступ к папке в Linux
Привет! В сегодняшней статье я опишу как «расшарить» папку на CentOS сервере – то есть предоставить ей общий доступ без указания пароля. Сделать это возможно с помощью установки сервера Samba и нескольких дополнительных манипуляций.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Доступ будет производиться по протоколу SMB/CIFS (Server Message Block/Common Internet File System
Установка
SELinux – дополнение к стандартной системе контроля доступа Linux, но его настройка довольна трудоёмка и оно включено по умолчанию. Без каких-либо манипуляций SELinux часто может блокировать изменения, вызываемые при запуске различных служб или программ.
Далее приступаем к установке Samba сервера. Для этого нужно выполнить команду:
Теперь создадим папку – вводим команду mkdir –p /root/SHAREDFOLDER (имя папки и директория, соответственно, могут быть произвольными).
Далее устанавливаем на неё права:
Конфигурация
В данном файле необходимо проверить чтобы в секции global присутствовали следующие строки:
Затем закомментируйте (проставьте точку с запятой) перед аргументами в разделах [homes] (доступ к гостевым директориям) и в [printers] (доступ к принтерам).
Теперь добавьте конфиг для вашей созданной папке, выглядеть это должно следующим образом:
Наконец, сохраним файл конфигурации и настроим автозапуск службы samba – для этого необходимо выполнить следующую команду:
Помните – Samba использует порты 137, 138, 139 и 445. Эта информация вам может понадобится при пробросе портов и настройке iptables.
Благодаря вышеописанной процедуре, вы сможете легко передавать файлы с сервера на рабочие машины в вашей сети, и, более того, решать многие прикладные задачи – к примеру, расшарить папку с записями разговоров, чтобы непосредственно иметь к ним доступ.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Источник
Установка и первоначальная настройка 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», в которой трудятся следующие отделы:
Задача: Нам нужно создать папки для каждого отдела и дать права доступа так, чтобы сотрудники одного отдела могли иметь доступ только к своей информации.
Каждый отдел будет иметь две папки, первая будет внутренняя, а вторая внешняя. Во внутренней будет хранится важная информация, а во внешней файлы и папки, которые могут потребоваться другим отделам, например юристы могут выложит реквизиты компании, а финансисты форму для составления бюджета. В первую папку доступ будут иметь только юристы и директорат (ген. директор, заместитель), в вторая папка будет пускать всех сотрудников.
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.
Скорей всего у вас он тоже есть, проверьте это:
Если нет, то установим её.
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
Статический 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 — это имена сетевых адаптеров.
Добавляем по строке на адаптер:
Перезагрузите службу сети:
# 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 и задаем пароль:
Настраиваем права на папку, чтобы он имел права на работу с ней и в ней:
Ответ:
Ответ:
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:
Источник
- Категория: 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
Файловый сервер (ФС) в операционных системах Linux может быть использован для разных целей, однако в большинстве случаев он задействован при создании локальной сети и общих папок с компьютерами на базе Windows. Самым популярным ФС на текущий момент времени по праву считается Samba. Она предустановлена во многих дистрибутивах, а опытные юзеры предпочитают именно этот инструмент в качестве основного при необходимости использования файловых серверов. Сегодня речь пойдет об инсталляции и настройке этого компонента в CentOS 7.
Мы распределили весь материал на шаги, потому что процесс стандартной конфигурации обычно занимает много времени и состоит из нескольких различных этапов. Не обойдем стороной и предварительные действия с Windows, поскольку выше мы уже уточнили, что Samba часто применяется в связке именно с этой операционной системой. Вам остается только внимательно изучить представленные инструкции, чтобы понять основные принципы настройки файлового сервера в CentOS 7.
Шаг 1: Подготовительные работы в Windows
Начать стоит именно с Виндовс, поскольку потребуется определить важную информацию, без которой не обойтись без создания сети и общих папок. Вам потребуется определить имя рабочей группы и внести изменения в файл «hosts», чтобы попытки подключения не блокировались. Все это выглядит следующим образом:
- Откройте «Пуск», через поиск отыщите «Командную строку» и запустите это приложение от имени администратора.
- Введите команду
net config workstation
, чтобы узнать текущую конфигурацию рабочей станции. Активируйте действие нажатием на клавишу Enter. - Дождитесь появления списка. В нем отыщите пункт «Домен рабочей станции» и запомните его значение.
- В этой же сессии консоли введите строку
notepad C:WindowsSystem32driversetchosts
, чтобы открыть необходимый файл через установленный по умолчанию «Блокнот». - Опуститесь в конец списка и вставьте строку
192.168.0.1 srvr1.domain.com srvr1
, заменив этот IP на адрес устройства, где дальше будет настраиваться Samba. После этого сохраните все изменения. -
На этом все действия с компьютером на Windows заканчиваются, а это значит, что можно переходить к CentOS 7 и заняться непосредственной конфигурацией файлового сервера Samba.
Шаг 2: Инсталляция Samba в CentOS 7
Далеко не все компоненты, требуемые для корректного функционирования Samba, по умолчанию установлены в рассматриваемой операционной системе, поэтому их придется добавлять вручную. Все эти действия будут выполнены через «Терминал», а также вам нужно убедиться в наличии активного подключения к интернету и возможности использовать команду sudo.
- Откройте консоль удобным для вас образом, например, через меню приложений или стандартную комбинацию клавиш Ctrl + Alt + T.
- Здесь введите
sudo yum install -y samba samba-common python-glade2 system-config-samba
, чтобы запустить одновременную инсталляцию всех требуемых дополнительных утилит. - Введите пароль суперпользователя, чтобы подтвердить данное действие. Учитывайте, что написанные в данной строке символы не отображаются.
- Вы будете уведомлены о том, что начался процесс установки. Во время этого не закрывайте «Терминал», иначе все настройки будут автоматически сброшены.
- По завершении операции появятся строки, сообщающие о том, что установлены необходимые утилиты и их зависимости — можно переходить далее.
-
Благодаря введенной ранее команде сразу все утилиты были инсталлированы одновременно и больше ничего добавлять в систему не придется. Файловый сервер будет запущен автоматически и сразу же добавлен в автозагрузку, поэтому можно не беспокоиться о его включении или создании символических ссылок.
Шаг 3: Установка глобальных параметров
Samba инсталлируется в ОС в «чистом виде», а это значит, что сейчас не заданы параметры, определяющие ее поведение. Их придется устанавливать самостоятельно, а начать стоит с главной конфигурации. Мы предлагаем воспользоваться стандартным шаблоном, заменив некоторые пользовательские строки.
- Иногда Samba устанавливается с чистым конфигурационным файлом, однако в нем все же могут уже быть заданы какие-то параметры. Давайте сначала создадим резервную копию этого объекта, чтобы в случае чего быстро восстановить ее. Осуществляется эта задача путем ввода
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
. - Это действие, как и все последующие, придется подтвердить, указав пароль суперпользователя.
- Следующие манипуляции будут производиться непосредственно с самим конфигурационным файлом. Для этого всегда используется текстовый редактор. По стандарту в систему добавлен vi, но он не является достаточно удобным для начинающих пользователей, поэтому мы рекомендуем инсталлировать nano через команду
sudo yum install nano
. - Если nano уже добавлен в ОС, вы будете уведомлены об этом.
- Теперь перейдем к редактированию конфигурационного файла, введя
sudo nano /etc/samba/smb.conf
. - В открывшемся окне введите расположенное ниже содержимое.
[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 -
-
- Нажмите сочетание клавиш Ctrl + O, чтобы записать изменения.
- Не изменяйте название файла, а просто нажмите на Enter.
- После этого можно покинуть окно текстового редактора, зажав Ctrl + X.
- Иногда Samba устанавливается с чистым конфигурационным файлом, однако в нем все же могут уже быть заданы какие-то параметры. Давайте сначала создадим резервную копию этого объекта, чтобы в случае чего быстро восстановить ее. Осуществляется эта задача путем ввода
-
Выше мы указали, какое именно содержимое следует вставлять в конфигурационный файл, однако значения данных параметров меняются в зависимости от требований пользователя. Давайте более детально разберемся с самыми важными пунктами:
- workgroup. Этот параметр определяет имя рабочей группы. Его значение выставляется в соответствии с определенной в Windows информацией.
- netbios name. Поменяйте значение на произвольное имя, которое хотите, чтобы отображалось на ПК под управлением Windows при взаимодействии с данным устройством.
- log file. В качестве значения этого параметра укажите путь к файлу, где хотите хранить журналы событий, записывающиеся во время функционирования файлового сервера.
- passdb backend. Эта опция определяет тип хранения паролей. Если вы не знаете, что именно здесь задать, лучше оставьте этот пункт в значении по умолчанию.
- unix password sync. Рекомендуется активировать этот параметр, поскольку он отвечает за синхронизацию паролей/
- map to guest. Используется для обозначения гостевого доступа. Имеет несколько значений:
bad user
применяется для несуществующих учетных записей,bad password
загружает гостевой режим при неверном вводе пароля, аnever
попросту деактивирует опцию.
Дополнительно в Samba имеются и другие конфигурационные опции, а также реализован графический интерфейс. Со всем этим мы советуем ознакомиться в официальной документации, поскольку всю информацию невозможно уместить в рамках одной статьи.
Шаг 4: Создание общедоступного каталога
Продолжим конфигурацию файлового сервера, разобрав принцип создания общедоступных каталогов. Сразу отметим, что такие папки обычно не ограничены паролем и доступны к просмотру или даже для редактирования абсолютно каждому подключенному юзеру. Чаще всего создают одну такую директорию, но ничего не мешает вам добавить их любое количество. Создание первой такой папки выполняется так:
- В «Терминале» введите
sudo mkdir -p /samba/allaccess
, чтобы создать упомянутую выше папку. Измените ее название на произвольное, если это требуется. - Приступайте к настройке общего доступа, изначально переместившись по пути
cd /samba
. - Здесь вставьте строку
sudo chmod -R 0755 allaccess
и нажмите на Enter. - Еще один параметр
sudo chown -R nobody:nogroup allaccess/
отвечает за предоставление доступа абсолютно всем пользователям. - Теперь потребуется обозначить данную папку в конфигурационном файле. Для начала запустим его через
sudo nano /etc/samba/smb.conf
. - Вставьте в конец или начало файла расположенный ниже блок. О значении каждой строки мы поговорим немного позднее, чтобы вы разобрались с установкой индивидуальных значений.
[allaccess]
path = /samba/allaccess
browsable = yes
writable = yes
guest ok = yes
read only = no -
- Сохраните изменения и покиньте текстовый редактор.
- Все настройки будут применены только после перезапуска файлового сервера, поэтому сделайте это прямо сейчас, написав
sudo systemctl restart samba
.
-
После того, как все необходимые общедоступные директории будут созданы, рекомендуется проверить их работоспособность в Windows, введя там команду
\srvr1allaccess
. Теперь давайте затронем указанные выше параметры:- path. Здесь вписывается путь к той самой папке, которая выбрана общедоступной.
- browsable. Активация этого параметра позволит отображать каталог в списке разрешенных.
- writable. Указанную папку можно будет редактировать, если значение этого параметра указано как yes.
- guest ok. Активируйте этот пункт, если хотите предоставить общий доступ к папке.
- read only. Используйте положительное значение этого параметра, чтобы установить значение папки «Только для чтения».
Шаг 5: Создание защищенного каталога
В качестве последнего примера конфигурации Samba хотим рассказать о создании защищенных папок, которые будут находиться под паролем и доступны только определенным пользователям. Как вы уже поняли, создать таких директорий можно неограниченное количество, а происходит это так:
- Создадим директорию, которую далее будем настраивать, воспользовавшись командой
sudo mkdir -p /samba/allaccess/secured
. - Добавьте группу, куда будут входить разрешенные пользователи, через
sudo addgroup securedgroup
. - Перейдите расположению защищенного каталога, указав
cd /samba/allaccess
. - Здесь задайте права для каждого отдельного пользователя через
sudo chown -R richard:securedgroup secured
. Замените имя richard в этой команде на необходимое. - Осталось только ввести общую команду для безопасности
sudo chmod -R 0770 secured/
. - Перейдите к конфигурационному файлу (
sudo nano /etc/samba/smb.conf
), чтобы указать ту папку, которую мы только что настроили. - Скопируйте и вставьте в редактор указанный ниже блок.
[secured]
path = /samba/allaccess/secured
valid users = @securedgroup
guest ok = no
writable = yes
browsable = yes -
- Сохраните изменения и закройте текстовый редактор.
- Добавьте все учетные записи в соответствующую группу через
sudo usermod -a -G securedgroup richard
. - Установите для каждой из них пароль
sudo smbpasswd -a richard
в качестве последнего действия, завершающего конфигурацию. - Это вся информация, которой мы хотели поделиться, рассказав об общих настройках файлового сервера 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.service
sudo systemctl start nmb.service
sudo systemctl enable smb.service
sudo systemctl enable nmb.service
Служба smbd
предоставляет службы обмена файлами и печати и прослушивает TCP-порты 139 и 445. Служба nmbd
предоставляет клиентам службы именования NetBIOS через IP и прослушивает порт 137 UDP.
Настройка межсетевого экрана
Теперь, когда Samba установлена и запущена на вашем компьютере с CentOS, вам нужно настроить брандмауэр и открыть необходимые порты. Для этого выполните следующие команды:
firewall-cmd --permanent --zone=public --add-service=samba
firewall-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/josh
sudo 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 sadmin
sudo 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.service
sudo 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.
- Откройте файлы и нажмите «Другие места» на боковой панели.
- В поле «Подключиться к серверу» введите адрес
smb://samba_hostname_or_server_ip/sharename
Samba в следующем форматеsmb://samba_hostname_or_server_ip/sharename
. - Нажмите «Подключиться», и появится следующий экран:
- Выберите «Зарегистрированный пользователь», введите имя пользователя и пароль Samba и нажмите «Подключиться».
- Будут показаны файлы на сервере Samba.
Подключение к общему ресурсу Samba из macOS
В macOS вы можете получить доступ к общим ресурсам Samba либо из командной строки, либо с помощью стандартного файлового менеджера macOS Finder. Следующие шаги показывают, как получить доступ к общему ресурсу с помощью Finder.
- Откройте «Finder», выберите «Перейти» и нажмите «Подключиться к».
- В поле «Подключиться к» введите адрес
smb://samba_hostname_or_server_ip/sharename
Samba в следующем форматеsmb://samba_hostname_or_server_ip/sharename
. - Нажмите «Подключиться», и появится следующий экран:
- Выберите «Зарегистрированный пользователь», введите имя пользователя и пароль Samba и нажмите «Подключиться».
- Будут показаны файлы на сервере Samba.
Подключение к общему ресурсу Samba из Windows
Пользователи Windows также могут подключиться к общему ресурсу Samba как из командной строки, так и из графического интерфейса. Следующие шаги показывают, как получить доступ к общему ресурсу с помощью проводника Windows.
- Откройте проводник и на левой панели щелкните правой кнопкой мыши «Этот компьютер».
- Выберите «Выбрать другое сетевое расположение» и нажмите «Далее».
- В поле «Интернет или сетевой адрес» введите адрес
samba_hostname_or_server_ipsharename
Samba в следующем форматеsamba_hostname_or_server_ipsharename
. - Нажмите «Далее», и вам будет предложено ввести учетные данные для входа, как показано ниже:
- В следующем окне вы можете ввести собственное имя для сетевого расположения. По умолчанию будет выбран сервер Samba.
- Нажмите «Далее», чтобы перейти к последнему экрану мастера настройки подключения.
- Нажмите «Готово», и будут показаны файлы на сервере Samba.
Выводы
В этом руководстве вы узнали, как установить сервер Samba на CentOS 7 и создать различные типы общих и пользователей. Мы также показали вам, как подключиться к серверу Samba с устройств Linux, macOS и Windows.