Содержание:
Чаще всего файловый сервер в Linux используется в рамках локальной или другой общей сети для взаимодействия с компьютерами на базе Windows. Он может быть установлен в дистрибутивах по умолчанию, но это происходит не всегда, к тому же конфигурация такого сервера будет стандартной. Сегодня предлагаем узнать все об инсталляции и основной настройке файлового сервера на примере самой популярной утилиты под названием Samba. Мы разделим это руководство на шаги, чтобы начинающим пользователям было проще ориентироваться во всех необходимых для выполнения действиях.
Устанавливаем и настраиваем файловый сервер в Linux
Хоть сегодняшний материал и будет сосредоточен на управлении дистрибутивами Linux, не обойдем стороной и Виндовс, поскольку для начала вам придется выполнить простейшие манипуляции в этой ОС, чтобы в будущем настройка прошла успешно и не возникло никаких проблем с подключением к группе. За пример мы взяли связку Windows 10 и Ubuntu. Если вы используете другие ОС, просто придерживайтесь особенностей их реализации, которые не должны значительно отличаться от того, что вы увидите далее.
Шаг 1: Предварительная настройка Windows
При подготовке файлового сервера Samba понажобится указать некоторые данные, связанные с операционной системой Windows. Дополнительно в самом Виндовс требуется разрешить подключение для компьютера с Linux, поскольку изначально соединения будут блокироваться. Все эти процедуры выполняются буквально за несколько кликов и выглядят следующим образом:
- Откройте «Пуск» и запустите оттуда «Командную строку», найдя приложение через поиск.
- Здесь вам потребуется ввести простую команду
net config workstation
и нажать на клавишу Enter. - В отобразившемся списке отыщите строку «Домен рабочей станции» и запомните ее значение.
- Снова в консоли введите
notepad C:\Windows\System32\drivers\etc\hosts
для открытия известного файла hosts через стандартный «Блокнот». - Здесь в конце вставьте строку
192.168.0.1 srvr1.domain.com srvr1
, заменив IP на адрес компьютера с Samba, и сохраните все изменения.
На этом работа с Windows заканчивается. После вы сможете вернуться в эту ОС для настройки общего доступа и управления открывшимися папками, но пока это недоступно, поскольку конфигурация файлового сервера в Линукс еще не произведена. Этим мы и предлагаем заняться в следующих шагах.
Шаг 2: Установка Samba в Linux
Начнем с непосредственной установки Samba в Линукс. Использовать для этого мы будем официальные репозитории, поэтому перед началом убедитесь, что подключение к интернету находится в активном состоянии. После этого следуйте расписанной ниже инструкции.
- Откройте меню приложений и запустите «Терминал».
- Здесь потребуется ввести команду
sudo apt-get install -y samba samba-common python-glade2 system-config-samba
. Она отвечает за инсталляцию дополнительных компонентов вместе с файловым сервером. - Подтвердите подлинность учетной записи суперпользователя, написав пароль. Символы, вводимые в эту строку, на экране не отображаются, поэтому не стоит переживать из-за того, что букв или цифр не видно.
- Затем начнется процедура получения и распаковки архивов. Она может занять несколько минут, во время этой операции лучше не выполнять других действий и не закрывать консоль. Если появилась новая строка ввода, значит, инсталляция успешно завершена.
Больше ничего устанавливать не придется, а сервер будет запущен автоматически, поэтому можно смело переходить к его настройке, чему и посвящены наши следующие шаги.
Шаг 3: Создание глобальных настроек
Сразу же после инсталляции Samba в ней не будет никаких параметров, отвечающих за поведение, поэтому придется добавлять их собственноручно, вводя строки в конфигурационный файл. Неопытным юзерам может показаться, что выполнить эту задачу будет очень сложно. Мы же предлагаем взять наш шаблон, заменив лишь пользовательские значения.
- Иногда какие-то важные параметры в конфигурационном файле все же присутствуют по умолчанию, из-за чего возникает надобность создать его резервную копию, чтобы восстановить ее при возникновении случайных сбоев. Осуществляется это путем ввода всего одной команды
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
. - Все остальные действия будут производиться через текстовый редактор. Оптимальным вариантом в этом случае является nano. Если данное приложение отсутствует в вашем дистрибутиве, добавьте его через
sudo apt install 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.
Теперь давайте более детально остановимся на каждой из введенных строк, чтобы вы в будущем смогли настроить их под себя:
- 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
для создания новой папки. Ее имя вы можете поменять на любое удобное. - Данное действие выполняется вместе с аргументом sudo, а это значит, что придется ввести пароль для подтверждения учетной записи.
- После переходите к настройке общего доступа для созданной директории. Для начала переместимся в корень Samba через
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 осуществляется путем перехода по \\srvr1\allaccess
. Сейчас по тому же примеру, который мы привели в предыдущем этапе, разберем значение каждого устанавливаемого параметра:
- path. Как вы видите из значения, здесь указывается путь к созданной общедоступной директории.
- browsable. Этот параметр отвечает за отображение директории в списке разрешенных.
- writable. Отметьте значение
yes
, если вы хотите разрешить создание записей в этой папке. - guest ok. Данная строка отвечает за гостевой доступ.
- read only. Если вы знаете перевод этой фразы, то уже догадываетесь, что произойдет, если активировать параметр. Он отвечает за атрибут «Только чтение» для указанной директории.
Шаг 5: Создание защищенной общедоступной папки
В качестве последнего этапа нашей сегодняшней статьи мы решили взять пример создание защищенной директории для общего доступа. В предыдущем шаге уже рассказано о том, как создаются полностью анонимные папки, однако их недостаток заключается в отсутствии защиты, поэтому в большинстве случаев юзеры предпочитают работать с безопасными каталогами, а их создание осуществляется так:
- Создайте директорию по тому же принципу через
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
. - Введите ключ безопасности в новую строку, а затем подтвердите его.
После внесения всех изменений не забывайте перезагружать сервер, чтобы все они вступали в действие. Точно таким же образом вы можете создавать неограниченное количество защищенных общедоступных папок, настраивая для них определенные параметры.
Сегодня мы разобрались в теме файлового сервера для Linux на примере пошагового руководства конфигурации соединения через Samba. Теперь вы можете решить, подходит ли вам такая схема предоставления общего доступа или есть смысл найти другой инструмент, способный предоставить более подходящие настройки.
Наш Telegram каналТолько полезная информация
Добрый день, допустим к папке должно иметь доступ несколько пользователей и у всех свои права на просмотр или чтение, как вы предлагаете предоставить им права.
Здравствуйте. Используйте для предоставления прав доступа стандартные способы, выбрав соответствующие директории. Более детальные инструкции по этой теме читайте в отдельном материале на нашем сайте по ссылке ниже.
Подробнее: Настройка прав доступа в Linux
Там вы найдете и все связанные атрибуты: комбинируйте их, чтобы выбрать, кому дать права на чтение или просмотр.
Здравствуйте. Что делать если на 3 шаге установки samba в linux ошибка: user is not in the sudoers file. This incident will be reported
в Ubunte нужно добавить пользователя в файл sudoers с помощью редактора visudo.
# User privilege specification
root ALL=(ALL:ALL) ALL
user ALL=(ALL:ALL) ALL
в rpm дистрибутивах достаточно добавить пользователю группу wheel, как secondary группу.
#usermod -aG wheel user
Подробное описание работы с конфигурацией файла sudoers дано в книге Mastering Linux Security and Hardening.
Смонтировал диски на сервере создал шары.
При подключении с клиента или с другого сервера просит ввести Логин и пароль.
Ни одну из УЗ и паролей не воспринимает, даже администратора.
При проверки на файлсервере юзеров и группы показывает их…
Что делать не знаю уже.
Как убрать запрос на логин и пароль.
Внизу описал мои настройки
Сервер в домене, клиенты тоже
workgroup =VKU
security =ADS
dns proxy = no
winbind enum groups = yes
winbind enum users = yes
1. В fstab при монтировании дисков на сервере создал
/DATA1 для USERS
/DATA2 для COMMON
2. В корне появились папки DATA1 и DATA2
внутри добавил в папки DATA1 и DATA2
в /DATA1/USERS
и соттветственно
/DATA2/COMMON
3. в smb.config в GLOBAL добавил пути к папкам
USERS и COMMON
Пример:
[GLOBAL]
usershare allow guest = yes
map to guest = bad user
pam password change = yes
[USERS]
path = /DATA1/USERS
[Common]
path = /DATA2/COMMON
browseable = yes
writable = yes
guest = ok
read only = no
4. Даём владельцев к папке и даём права
root@fs:/home/administrator# cd
#для каталога USERS
root@fs:~# cd /DATA1
root@fs:/DATA1# sudo chown -R administrator:adm_azov /DATA1
root@fs:/DATA1# sudo chown -R :vse1 /DATA1/USERS
root@fs:/DATA1# sudo chmod -R 775 /DATA1/USERS
root@fs:/DATA1# cd
#для каталога COMMON
root@fs:~# cd /DATA2
root@fs:/DATA2# sudo chown -R administrator:adm_azov /DATA2
root@fs:/DATA2# sudo chown -R :vse1 /DATA2/COMMON
root@fs:/DATA2# sudo chmod -R 775 /DATA2/COMMON
Кстати в АД на сервере WINDOWS группы прописал через @
и запуске команды chown выдаёт ошибку что такой группы нет, поэтому прописалпросто vse1 без @
Дайте совет пожалуйста куда копать для исправлении ошибки.
Спасибо.
Прошу прощения, забыл поздороваться.
Добрый день!
Добрый день!
Смотриваны два диска, расшарена папка, доступ дал, владельцев назначил.
Условия для проверки УЗ есть (синхронизация с АД).
При подключении к шаре запрашивает логин и пароль. Никого не пускает даже администратора.
Подключаюсь с Линукс клиентов и с сервера c Windows. Результат тот же.
Как сделать что бы при подключении не запрашивало Логин и пароль?
Спасибо.