- Настройка Samba в CentOS 8
- Установка samba в CentOS 8
- Настройка samba в CentOS 8
- 1. Общий ресурс с анонимным доступом
- 2. Общий ресурс с приватным доступом
- Выводы
- Как расшарить папку в CentOS с помощью Samba
- Установка
- Конфигурация
- Открываем общий доступ к папкам и файлам через Samba
- Доступ без авторизации
- Доступ с авторизацией
Настройка Samba в CentOS 8
Одним из наиболее распространенных способов взаимодействия между компьютерами на базе linux и windows является Samba. Samba — это пакет программ, которые позволяют создавать и обращаться к сетевым дискам и общим папкам на одинаковых или разных операционных системах. Наиболее частым из способов применения Samba является ее настройка в качестве файлового сервера.
В сегодняшней нашей инструкции вы узнаете как выполняется установка и настройка Samba CentOS 8 для обмена файлами между Linux и Windows системами. Доступ к общим папкам сервера будет настроен для в первой части для любого пользователя без запроса пароля, а во второй — с запросом пароля доступа к защищенной общей папке.
Установка samba в CentOS 8
Сперва авторизуйтесь на вашем сервере от имени пользователя root. Затем используйте команду приведенную ниже для установки необходимых пакетов:
dnf install samba samba-common samba-client -y
По умолчанию во всех windows компьютерах используется рабочая группа WORKGROUP. Вы можете проверить принадлежность вашего Windows компьютера к этой рабочей группе выполнив следующую команду:
Настройка samba в CentOS 8
Сперва перед началом настройки переименуйте конфигурационный файл Samba для сохранения его резервной копии. Выполняется это действие следующей командой:
mv /etc/samba/smb.conf /etc/samba/smb.conf.default
1. Общий ресурс с анонимным доступом
Теперь создайте на сервере общий ресурс в котором будут хранится файлы и папки с предоставленным к ним анонимным доступом. Для этого вам необходимо создать папку к которой будет предоставлен анонимный доступ:
mkdir -p /srv/samba/anonymous
Затем настройте права и разрешения selinux на доступ к этой папке при помощи следующих команд:
chmod -R 0755 /srv/samba/anonymous
chown -R nobody:nobody /srv/samba/anonymous
chcon -t samba_share_t /srv/samba/anonymous
Теперь создадим новый файл конфигурации Samba следующей командой:
Добавьте в созданный файл следующие строки:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = rhel8
security = user
map to guest = bad user
dns proxy = no
[Anonymous]
path = /srv/samba/anonymous
browsable =yes
writable = yes
guest ok = yes
read only = no
Проверьте настройки Samba запустив следующую команду:
Теперь вам необходимо добавить службу Samba в брандмауэр и запустить её. Для этого выполните следующие команды:
firewall-cmd —permanent —add-service=samba
Запустите и добавьте в автозагрузку сервис Samba:
systemctl start smb.service
systemctl enable smb.service
systemctl start nmb.service
systemctl enable nmb.service
Теперь на вашей windows машине откройте строку Выполнить находящуюся в меню Пуск или при помощи сочетания клавиш Win+R. В открывшейся строке наберите следующую команду и нажмите ОК либо Enter:
У вас откроется сетевая папка расположенная на вашем CentOS 8 сервере настроенная для анонимного доступа.
Теперь вы можете добавлять требуемые файлы и папки в эту папку предоставляя другим пользователям доступ к ним.
Настройка Samba CentOS 8 для анонимного доступа к данным завершена.
2. Общий ресурс с приватным доступом
Для предоставления доступа к файлам и папкам определенным пользователям создайте защищенную папку Samba. Сперва создайте защищенную группу с пользователями. Для этого выполните следующую команду:
Теперь добавьте пользователя в группу securedgroup от имени которого будет осуществляться вход в защищенную папку:
useradd demo -G securedgroup
Теперь создайте защищенную общую папку Samba и добавьте к ней необходимые разрешения выполнив следующие команды:
chmod -R 0770 /srv/samba/secured
chcon -t samba_share_t /srv/samba/secured
chown -R root:securedgroup /srv/samba/secured/
Теперь добавьте пользователя в базу данных и установите для него пароль:
Добавьте в файл конфигурации Samba следующие строки:
[secured]
path = /srv/samba/secured
valid users = @securedgroup
guest ok = no
writable = yes
browsable = yes
Затем перезапустите Samba следующей командой:
systemctl restart smb.service
Теперь для того, чтобы получить доступ к защищенной папке вашего CentOS 8 сервера из вашей windows машины откройте строку Выполнить из пункта меню Пуск или при помощи комбинации клавиш Win+R и наберите:
Затем нажмите ОК или клавишу Enter.
При попытке входа в защищенную папку у вас появится окно с требованием ввести имя пользователя и пароль для получения доступа к файлам находящимся в защищенной папке.
После ввода имени пользователя и пароля вы сможете получить доступ к защищенной папке. Теперь вы можете добавлять в нее файлы и папки для того, чтобы поделиться ими только с определенными пользователями.
Выводы
В сегодняшней инструкции мы рассказали вам как выполняется установка samba centos 8, а также как установить и настроить общие папки расположенные на вашем CentOS 8 сервере для того, чтобы вы могли делиться файлами и папками с другими пользователями.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как расшарить папку в CentOS с помощью Samba
Привет! В сегодняшней статье я опишу как «расшарить» папку на CentOS сервере – то есть предоставить ей общий доступ без указания пароля. Сделать это возможно с помощью установки сервера Samba и нескольких дополнительных манипуляций.
Доступ будет производиться по протоколу SMB/CIFS (Server Message Block/Common Internet File System
Установка
Перед установкой необходимо понять, в каком статусе у вас находится SELinux – для этого нужно выполнить команду selinuxenables && echo enabled || echo disabled . В случае если результат такой же, как на скриншоте ниже – можете смело приступать непосредственно к самому процессу установки (ниже):
В противном случае, вам необходимо будет его отключить – для этого откройте конфигурационный файл по пути /etc/selinux/config любым текстовым редактором – например, Vi — vi /etc/selinux/config и поставьте значение SELINUX в положение disabled и выполните перезагрузку системы командой reboot
SELinux – дополнение к стандартной системе контроля доступа Linux, но его настройка довольна трудоёмка и оно включено по умолчанию. Без каких-либо манипуляций SELinux часто может блокировать изменения, вызываемые при запуске различных служб или программ.
Далее приступаем к установке Samba сервера. Для этого нужно выполнить команду:
yum install samba samba-common cups-libs samba-client
Теперь создадим папку – вводим команду mkdir –p /root/SHAREDFOLDER (имя папки и директория, соответственно, могут быть произвольными).
Далее устанавливаем на неё права:
chown –R root:users /root/SHAREDFOLDER chmod –R 775 /root/SHAREDFOLDER
Конфигурация
Открываем текстовым редактором основный файл конфигурации Samba – воспользуемся Vi: vi /etc/samba/smb.conf .
В данном файле необходимо проверить чтобы в секции global присутствовали следующие строки:
[global] security = user passdb backend = tdbsam workgroup = MYGROUP map to guest = Bad User server string = Samba Server Version %v
Затем закомментируйте (проставьте точку с запятой) перед аргументами в разделах [homes] (доступ к гостевым директориям) и в [printers] (доступ к принтерам).
Теперь добавьте конфиг для вашей созданной папке, выглядеть это должно следующим образом:
[SHAREDFOLDER] comment = Everybody has access path = /root/SHAREDFOLDER force group = users create mask = 0666 directory mask = 0777 writable = yes guest ok = yes browseable = yes
Наконец, сохраним файл конфигурации и настроим автозапуск службы samba – для этого необходимо выполнить следующую команду:
chkconfig –levels 235 smb on /etc/init.d/smb restart
Помните – Samba использует порты 137, 138, 139 и 445. Эта информация вам может понадобится при пробросе портов и настройке iptables.
Благодаря вышеописанной процедуре, вы сможете легко передавать файлы с сервера на рабочие машины в вашей сети, и, более того, решать многие прикладные задачи – к примеру, расшарить папку с записями разговоров, чтобы непосредственно иметь к ним доступ.
Открываем общий доступ к папкам и файлам через Samba
После установки открываем конфиг /etc/samba/smb.conf, и начинаем его править под свои нужды. В секции [Global] правим следующие параметры: Если ваш компьютер является еще в добавок и маршрутизатором, и имеет более чем 1 сетевую карту, будет не лишним указать, какой из имеющихся интерфейсов слушать:
interfaces = eth1 bind interfaces only = yes
Доступ без авторизации
После каждого изменения конфига Samba должна быть перезагружена — /sbin/service smb restart в CentOS/RedHat или service samba restart в Debian/Ubuntu.
Расшарим папку music по адресу /var/music для всех пользователей (авторизация не будет требоваться). Имя папки, с которым её будут видеть пользователи которые зашли на шару задается в квадратных скобках (в данном случае — Music).
[Music] browseable = yes create mode = 0766 guest ok = yes path = /var/music writeable = yes
В данную папку будет иметь доступ кто угодно, но не сможет записывать (загружать, заливать) и удалять файлы без авторизации. Для того, чтобы дать неавторизованному пользователю полный доступ для работы с файлами и папками, воспользуемся параметром force user . Данный параметр отвечает за то, под каким пользователем будут выполняться операции с файлами в данной директории — например, если мы создадим пользователя samba-guest, и выдадим ему полные права на данную папку, а в force user пропишем значение samba-guest, то дадим полный доступ к директории:
[Music] browseable = yes create mode = 0766 force user = samba-guest guest ok = yes path = /var/music writeable = yes
Доступ с авторизацией
Теперь перейдем к тому, чтобы разрешить доступ к папке только определенному пользователю — к примеру, пользователю crazysysadmin. Samba как и большинство приложений Linux использует для своих нужд уже существующих пользователей системы, поэтому нужно использовать либо уже имеющуюся учетную запись, либо создать новую. Создать нового пользователя можно командой useradd:
useradd crazysysadmin -m -G users
smbpasswd -a crazysysadmin
smbpasswd -e crazysysadmin
Теперь сделаем доступ к шаре music только для чтения для неавторизованных пользователей, и полный доступ для пользователя crazysysadmin:
[Music] admin users = crazysysadmin browseable = yes comment = Music create mode = 0766 guest ok = yes path = /var/music writable = yes
Как должно быть понятно из примера выше, то все отличие заключается в строчке admin users — туда задаются пользователи с правами полного доступа на директорию. Так же туда можно добавлять и целые группы из системы — для этого перед её именем нужно поставить символ @ — например @admins. Если же нужно сделать так, чтобы никто кроме пользователя crazysysadmin не имел доступа к этому каталогу (даже на просмотр), то просто меняем параметр guest ok на no:
[Music] admin users = crazysysadmin browseable = yes comment = Music create mode = 0766 guest ok = no path = /var/music writable = yes