Создание общей папки в CentOS
По умолчанию доступ к папкам в операционной системе CentOS ограничен, поэтому в случае надобности получения общей сетевой директории необходимо изменить определенные параметры. В выполнении данной процедуры нет ничего сложного, однако потребуется установить дополнительный инструмент и произвести изменения в конфигурационном файле. Мы предлагаем пошагово разобраться с осуществлением поставленной задачи.
Делаем папку общей в 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. При необходимости проведения дополнительной конфигурации брандмауэра мы советуем ознакомиться с руководством, представленным в отдельной нашей статье по следующей ссылке.
Шаг 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 | Ассоциация для гостевой учетной записи |
Ниже вы видите пример оформления секции.
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 не предназначена для выполнения этих операций. Если же вы интересуетесь темой настройки привилегий на одной локальной машине, читайте руководство по этой теме в материале далее.
Удаленный каталог в CentOS пропадет из сетевой папки, но учтите, что заданные параметры в конфигурационном файле останутся. Поэтому при очистке папок нужно редактировать и настройки используемой сегодня утилиты, убрав все лишние секции.
Теперь вы владеете информацией о том, как можно без каких-либо трудностей расшарить папку в CentOS. По завершении этой процедуры каталог появится на всех локальных устройствах. Например, путь на Windows будет иметь вид: \\linuxServer\Folder , где linuxServer — название родительской машины, а Folder — та самая папка.
Общие папки
4.Прописываем в smb.conf следующие параметры
Вводим команду, вставляем текст, нажимаем Enter и, затем, Ctrl+D.
cat >>/etc/samba/smb.conf
[global] dos charset = CP866 unix charset = utf8 display charset = cp1251 workgroup = WORKGROUP #имя рабочей группы server string = Filestore #имя сервера security = USER #группа пользователей map to guest = Bad User [Public] #имя ресурса path = /home/docstore #путь к папке read only = Yes guest ok = Yes browseable = yes writable = yes create mask = 0777 force create mask = 0777 directory mask = 0777
Перезапускаем сервис SMB:
service smb restart;service nmb restart
systemctl enable smb.service;systemctl enable nmb.service
Добавление второй папки
Делаем так же как и в первом шаге, только добавляем раздел с описанием второго ресурса ниже первого.
В первом примере у нас Public и папка docstore. Во втором будет Share и files.
mkdir /home/files;chmod 777 /home/files
2.Прописываем в smb.conf следующие параметры (без //комментариев)
Вводим команду, вставляем текст, нажимаем Enter и, затем, Ctrl+D.
cat >>/etc/samba/smb.conf
[Share] path = /home/files read only = Yes guest ok = Yes browseable = yes writable = yes create mask = 0777 force create mask = 0777 directory mask = 0777
3.Перезапускаем сервис SMB:
service smb restart;service nmb restart
Папка с паролем
Создадим пользователя в системе, имя пользователя share, его пароль 1q@W3e, при создании сделаем каталог пользователя (ключ -m) и зададим пароль (ключ -p).
# useradd -m share -p 1q@W3e
Назначим нового владельца, пользователя share, и несколько изменим разрешения:
mkdir /home/kadry;chmod 777 /home/kadry # chown -R share:users /home/kadry # chmod -R ugo+rwx /home/kadry
Примечание: Утилита smbpasswd находится в пакете samba-client
Добавляем пользователя в Samba (вводим пароль 1q@W3e):
smbpasswd -a share
Добавим в samba.cfg следущее:
[Kadry] comment = Кадры path = /home/kadry read only = no guest ok = no browseable= yes writable=yes create mask = 0777 directory mask = 0777 force user = share force group = users
Папка будет доступна пользователю share с паролем 1q@W3e.
Перезапускаем сервис SMB:
service smb restart;service nmb restart
Настройки соединения с сервером
GUI
Введите в адресной строке адрес хранилища:
smb://172.16.0.2
Введите, если нужно, пароль.
Примечание: при подключении с паролем автоматически прописывается рабочая группа WORKGROUP. Проверьте на сервере рабочую группу в файле /etc/samba/smb.conf.
Через командную строку
- С паролем
mount -t cifs //172.16.0.2/kadry /mnt/share -o users,username=share,password="1q@W3e",file_mode=0777,dir_mode=0777
mount -t cifs //172.16.0.2/public /mnt/guest -o users,username=guest,password=,file_mode=0777,dir_mode=0777
Через Autofs
Источники:
- Общий каталог — создание, совместный доступ, подключение
- Простой Samba-сервер. Доступ всем на все.
- Samba доступ к папкам с паролем и без
- Включаем службу DHCP на ALT Linux 7.0 Server
Дополнительная информация
- Расшаривание каталогов обычным пользователем
- Пример настройки smb.conf для «файлопомойки»
- Монтирование_ресурса_Самбы_через_/etc/fstab
- Прозрачный доступ к samba-ресурсам с помощью smbnetfs
- Некоторые_типовые_проблемы_при_использовании_samba
Как расшарить папку в 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.
Благодаря вышеописанной процедуре, вы сможете легко передавать файлы с сервера на рабочие машины в вашей сети, и, более того, решать многие прикладные задачи – к примеру, расшарить папку с записями разговоров, чтобы непосредственно иметь к ним доступ.
Как сделать общую папку в linux, настройка samba

Сегодня я покажу как можно расшарить папки в Ubuntu для домашних сетей, что бы можно было заходить в ваши папки в linux, например с компьютера с Windows.
sudo apt-get update sudo apt-get install samba
После того как samba будет установлена нужно поправить конфиг. Для этого набираем:
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak sudo nano /etc/samba/smb.conf
В файл вставляем следующие строчки:
[global] workgroup = WORKGROUP server string = servername netbios name = SERVERNAME #servername замените на имя вашего хоста log file = /var/log/samba/%m.log max log size = 50 security = user #запрещаем гостевой доступ map to guest = Bad User dns proxy = no # следовать по симлинкам unix extensions = no wide links = yes follow symlinks = yes # utf кодировка dos charset = cp866 unix charset = UTF8 # отключаем принтеры load printers = no show add printer wizard = no printcap name = /dev/null disable spoolss = yes # можно ограничить доступ по адресам/сетям # hosts allow = 127. 192.168.24. # по умолчанию все файлы, начинающиеся с точки будут иметь атрибут "скрытый" hide dot files = yes #добавляем шару #название общей папки [system_trash] #путь до нее path = /mnt/system_trash guest ok = no read only = no browsable = yes writeable = yes
Далее нужно посмотреть что бы имени вашего хоста соответствовал ip адрес этого хоста:
sudo nano /etc/hosts
Здесь должна быть строчка вида:
192.168.1.100 servername
После этого сохраняем файл (в нано комбинация клавиш ctrl+x) и перезапускаем самбу:
sudo /etc/init.d smbd restart sudo /etc/init.d samba restart
Далее нужно добавить пользователя в пользователи samba (пользователь должен существовать в системе). Добавим нового пользователя в систему и самбу:
sudo adduser user sudo smbpasswd -a user
После того как пользователь будет добавлен можно пробовать зайти на нашу шару с виндовой машины. Вводим логин и пароль пользователя. Должна будет открыться наша шара.
Для справки — что бы посмотреть пользователей samba нужно набрать команду:
sudo pdbedit -L -v
Что бы удалить пользователя Samba:
sudo smbpasswd -x user