Astra linux доступ к сетевой папке windows

Уровень сложностиПростой

Время на прочтение7 мин

Количество просмотров12K

Всем привет я всегда хотел вести свой мини блог и решил начать его на Хабре. Я очень вдохновлен этой платформой, потому что я могу её использовать, как для развития самого себя, так и помогать начинающим специалистам в области IT совершенствовать свои навыки. На данном этапе я не могу писать какие-то сверхсложные статьи в данной области, но я постепенно развиваюсь и буду освещать необычные темы в своей блоге. А пока решил начать с чего-то очень простого чтобы самому въехать, и понять как все будет развиваться.

Samba — это программный комплекс, который позволяет компьютерам на базе Linux и UNIX взаимодействовать с системами Windows через протокол SMB/CIFS (Server Message Block/Common Internet File System). Основное

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

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

«Samba_users» — где доступ имеют только пользователи Samba без пароля

«Samba_private» — где привилегированные пользователи Samba имеют доступ по паролю.

1. Настройка сети

Для начала назначим статические IP-адреса для сервера и клиентских хостов

  • Сервер Samba192.168.1.200/24 (Astra Linux 1.6/1.7)

  • Хост №1 (Windows 7)192.168.1.10, уч. запись vadim

  • Хост №2 (Windows 10)192.168.1.11, уч. запись dima

  • *Хост №3 (Windows 10)192.168.1.12, уч. запись admin

2. Настройка доменного имени

Присваиваем серверу корректное доменное имя, например: ds1.domain.local. Выполняем команды:

sudo -i 
hostnamectl set-hostname ds1.domain.local
hostname // проверить заданное имя
mcedit /etc/hosts // привести к виду
127.0.0.1	localhost
#127.0.0.1	ds
192.168.1.200	ds1.domain.local	ds1
cat /etc/resolv.conf //проверить что бы были указаны правильные DNS сервераПроверяем наличие сетевого взаимодействия
ping (ip - хоста в сети)

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

Установите Samba на сервере

Fly-admin-samba — Это специальный инструмент, разработанный для Astra Linux. Его основное назначение — упрощение администрирования Samba через
графический интерфейс.

Astra-samba — Это модифицированная версия Samba, интегрированная специально для Astra Linux. Она включает в себя некоторые изменения, специфичные для ОС Astra Linux 1.6— упрощение администрирования Samba через графический интерфейс. Astra-samba — Это модифицированная версия Samba, интегрированная специально для Astra Linux. Она включает в себя некоторые изменения, специфичные для ОС Astra Linux 1.6 хотя fly-admin-samba и astra-samba разработаны для Astra Linux, их использование зависит от вашего сценария:

  • Если вы работаете через графический интерфейс, fly-admin-samba может быть полезным.

  • Если вы хотите использовать полную функциональность Samba и её расширения, то astra-samba будет предпочтительнее.

  • В некоторых случаях может потребоваться ручная настройка через консоль (например, тонкая настройка прав, которая может быть недоступна через GUI).

После установки графического инструмента он станет доступен в меню
«Пуск» > «Панель управления» > «Сеть» > «Общие папки (Samba)«

sudo apt install fly-admin-samba //Установить графический инструмент
apt install astra-sambadc// Установить инструмент командной строки

4. Проверьте, что Samba установлена и работает

sudo systemctl status smbd 
sudo systemctl enable smbd //Включить автозапуск службы с ОС

5. Необходимо произвести настройки в конфигурационном файле smb.conf

sudo -i
cp -v /etc/samba/smb.conf /var/backups
systemctl stop smbd
mcedit (nano) /etc/samba/smb.conf

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

[global]
log file = /var/log/samba/%m.log
max log size = 1000
workgroup = WORKGROUP
netbios name = SAMBASERVER
wins support = yes
logging = file
panic action = /usr/share/samba/panic-action %d
server role = standalone server
obey pam restriction = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = Enter\snew\s\spasswdord:* %n\n Retype\snew\s\spasswdord:* %n\n password\supdated\ssuccessfully 
pam password change = yes
map to guest = bad user
security = user
comment = Home Directories
encrypt passwords = yes

[samba_users]
comment = Общая папка для пользователей Samba 
path = /srv/samba_users
read only = no
guest ok = yes
browseable = yes
writable = yes
valid users = @samba_users, @admin //*добавляем @admin если нужен admin над всеми папками

[samba_private]
comment = Приватная папка
path = /srv/samba_private
browseable = yes
guest ok = no
writable = yes
valid users = @samba_private, @admin

Сохранение в редакторе mcedit/nano

mcedit — Выйти и сохранить — F10

nano — ctrl+X

Обозначение команд в конфигурационном файле

comment = Общая папка Samba

Описание: Указывает описание ресурса, которое будет отображаться в сетевом окружении.

path = /srv/samba

Описание: Указывает путь к каталогу на сервере, который предоставляется в общем доступе.
Пример: Файлы, хранящиеся в /srv/samba, будут видны через этот ресурс.

read only = no

Описание: Определяет, доступен ли ресурс только для чтения.
no: Разрешает запись в папку.

guest ok = yes

Описание: Разрешает доступ к папке без аутентификации (гостевой доступ).
yes: Любой пользователь может получить доступ к ресурсу без ввода логина и пароля.

browseable = yes

Описание: Показывать ли папку в сетевом окружении.
yes: Папка будет видна в списке общих ресурсов.

writable = yes

Описание: Разрешать ли запись в папку.
yes: Пользователи смогут добавлять и изменять файлы.

valid users = @samba_private

Описание: Ограничивает доступ к папке только для указанных пользователей или групп.
• @samba_private: Указывает, что доступ имеют только пользователи из группы samba_private.
Пример: Если пользователь не принадлежит к этой группе, доступ будет запрещён.

6. Проверка конфигурации на ошибки

testparm

7. Создадим группы пользователей

groupadd samba_users
groupadd samba_private
groupadd admin //*
groupadd samba_del 
groupdel samba_del//удалите если добавили лишнюю группу

8. Добавим пользователей Linux и создадим учетные записи Samba

adduser vadim //пароль задаем такие же как у учеток windows
adduser dima
adduser admin //*пользователь, имеющий права ко всем папкам
adduser kiril
smbpasswd -a vadim
smbpasswd -a dima
smbpasswd -a admin
userdel kiril // если случайно дабавили пользователя

9. Добавим пользователей в группы

usermod -aG samba_users dima
usermod -aG samba_private vadim
usermod -aG admin admin//*добавление пользователя админ в группу 
gpasswd --delete <пользователь> <группы через запятую> // если необходимо удалить пользователя из группы

10. Создаем папку samba_users с общим доступом для пользователей Samba

sudo -i
mkdir /srv/samba_users (папка с общим доступом где только пользователи Samba могут и читать и записывать)
chmod -R 770 /srv/samba_users
chown -R root:samba_users /srv/samba_users

10.1 Расширение прав и отладка

Практика показала, что пользователи имеют доступ к папкам и все работает отлично.

В моей ситуации получилось так, что данные я переносил с компьютера windows и все файлы получили права admin в группе admin, в связи с чем пользователи не могли получить доступ к файлам внутри расшаренных папок.

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

Настройка прав с помощью ACL
Теперь вам необходимо  назначить права одновременно для обеих групп.

Добавьте права для группы admin:
sudo setfacl -R -m g:admin:rwx /srv/samba_users
sudo setfacl -R -m g:samba_users:rwx /srv/samba_users

Настраиваем так, что бы новые файлы и папки наследовали права:
sudo setfacl -R -d -m g:admin:rwx /srv/samba_users
sudo setfacl -R -d -m g:samba_users:rwx /srv/samba_users

Проверка текущих ACL
Проверьте, что права настроены правильно:
getfacl /srv/samba_users

Вы должны увидеть что-то вроде:
makefile
# file: /srv/samba_users
# owner: root
# group: samba_users
user::rwx
group::rwx
group:admin:rwx
group:samba_users:rwx
mask::rwx
other::r-x

Аналогично для папки samba_private

sudo -i
mkdir /srv/samba_private (папка с доступом для пользователей Samba по паролю)
chmod -R 770 /srv/samba_private
chown -R root:samba_private /srv/samba_private
Настройка прав с помощью ACL
Теперь вам необходимо  назначить права одновременно для обеих групп.

Добавьте права для группы admin:
sudo setfacl -R -m g:admin:rwx /srv/samba_private
sudo setfacl -R -m g:samba_private:rwx /srv/samba_private

Настраиваем так, что бы новые файлы и папки наследовали права:
sudo setfacl -R -d -m g:admin:rwx /srv/samba_private
sudo setfacl -R -d -m g:samba_private:rwx /srv/samba_private

Проверка текущих ACL
Проверьте, что права настроены правильно:
getfacl /srv/samba_private

Вы должны увидеть что-то вроде:
makefile
# file: /srv/samba_private
# owner: root
# group: samba_private
user::rwx
group::rwx
group:admin:rwx
group:samba_private:rwx
mask::rwx
other::r-x

11. Проверка работы службы

Необходимо перезапустить службу Samba и проверить с сервера доступ к конкретной папке

systemctl restart smbd// перезапуск службы
systemctl status smbd //Проверка работы службы
smbclient //localhost/samba_users -U dima
smbclient //localhost/samba_private -U vadim

12. Подключение к общим папкам с хостов Windows

Вводим IP-адрес сервера Samba

Вводим IP-адрес сервера Samba

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

Когда вы проверите доступ к папкам с разных компьютеров, то убедитесь что Vadim имеет доступ к 2-м папкам, а dima только к одной (samba_users). При подключении vadim к samba_private, будет затребован пароль для аутентификации, после его ввода он сохраниться и вы будете заходить без дополнительного ввода (Есть смысл делать пароли от учетных записей Windows и Astra Linux одинаковыми).

Вывод

В результате выполнения данной настройки сервера Samba были успешно созданы и настроены общие ресурсы с различными уровнями доступа. Настроены две папки:

  • samba_users — доступна всем пользователям Samba без ввода пароля,

  • samba_private — доступна только определённым пользователям после аутентификации.

Проверка с сервера и клиентских хостов (Windows 7 и Windows 10) подтвердила корректную работу настроек, включая разграничение доступа. Такой подход обеспечивает удобство управления доступом для различных пользователей, а использование групп позволяет гибко управлять правами в будущем. Данный алгоритм демонстрирует простоту настройки Samba и её возможности в организации файлового хранилища с контролем доступа.


Linux


1 Minutes

При работе в Windows средах часто необходимо подключить имеющуюся общую папку Windows в Linux сервер. Данная инструкция покажет как это сделать.

Данная инструкция подойдет не только для Astra Linux, но и для Ubuntu, Debian etc.

Подготовка
Для монтирования smb шары в Линукс необходимо установить пакет cifs-utils:
apt-get install cifs-utils

После этого в системе появится команда mount.cifs (так же можно использовать просто mount с указанием типа системы -t cifs)

Пример монтирования:
mount.cifs //10.10.0.1/share /mnt/fileshare -o username=tom,password=123
где:
//10.10.0.1/share — путь и имя сетевой шары
/mnt/fileshare — путь куда монтируем шару
-o username=tom,password=123 — опции монтирования, в данном случае указывается имя пользователя и пароль.

Полный набор опций можно посмотреть выполнив:
man mount.cifs
Наиболее часто используемые:
domain=factory.local — указание домена
vers=2.0 — указание версии протокола SMB
rw\ro — указание режим монтирования либо на чтение , либо на чтение и запись

Включение автомонтирования при загрузке
Для автомонтирования создадим systemd unit.
в каталоге /etc/systemd/system/ создадим файл mnt-fileshare.mount:
nano /etc/systemd/system/mnt-fileshare.mount

при этом имя данного юнита должно отражать путь до точки монтирования. Если мы хотим монтировать в /mnt/some/file имя модулю должно быть mnt-some-file.mount

Вставим в данный файл следующий текст:
[Unit]
Description=Cifs mount
Requires=network-online.target
After=network-online.service
[Mount]
What=//10.10.0.1/share
Where=/mnt/fileshare
Options=username=tom,password=123
Type=cifs
[Install]
WantedBy=multi-user.target

обновляем конфигурацию systemd
systemctl daemon-reload
выполняем монтирование:
systemctl start mnt-fileshare.mount
Проверяем:
ls /mnt/fileshare
должны увидеть содержимое диска.
Включаем монтирование при загрузке:
systemctl enable mnt-fileshare.mount

В данной инструкции имя пользователя и пароль передается в качестве опции в открытом виде, что не безопасно. Для cifs предусмотрена возможность вынести данные реквизиты в отдельный файл с ограниченным доступом.
пример:
создаем файл:
nano /root/.smbcred
заполняем файл реквизитами доступа:
username=tom
password=123

вносим изменения в systemd unit mnt-fileshare.mount:
[Unit]
Description=Cifs mount
Requires=network-online.target
After=network-online.service
[Mount]
What=//10.10.0.1/share
Where=/mnt/fileshare
Options=credentials=/root/.smbcred
Type=cifs
[Install]
WantedBy=multi-user.target

обновляем конфигцрацию systemd
systemctl daemon-reload

монтируем директорию:
systemctll start mnt-fileshare.mount

Полезные ссылки:
https://www.freedesktop.org/software/systemd/man/systemd.mount.html
https://linux.die.net/man/8/mount.cifs

Опубликовано

Руководство по интеграции Astra Linux и Windows с использованием Samba для обмена файлами и совместной работы.

Источник: cnews.ru Astra Linux и Windows – 2 сильно отличающиеся операционные системы, но иногда может возникнуть необходимость интеграции этих двух систем для обмена файлами и совместной работы. В этой статье мы рассмотрим, как можно использовать Samba – инструмент, позволяющий обеспечить взаимодействие между Linux и Windows на уровне сетевых файловых систем.

Установка Astra Linux

Установка Astra Linux является первым шагом. Если вы еще не установили Astra Linux, следуйте официальным инструкциям по установке, предоставленным разработчиками.

Установка и настройка Samba в Astra Linux

Samba – это набор утилит, которые позволяют Linux и Windows обмениваться файлами и принтерами по сети. Для установки Samba на Astra Linux выполните следующую команду:

sudo apt-get install samba

После установки Samba вам нужно настроить ее для обмена файлами. Все настройки Samba хранятся в файле /etc/samba/smb.conf. Для редактирования этого файла используйте текстовый редактор nano:

sudo nano /etc/samba/smb.conf

В этом файле вы можете создать новые разделы (shares), которые будут доступны из Windows. Например, для создания общего каталога с именем «shared» выполните следующие действия:

В конец файла добавьте следующий раздел:

[shared]
   path = /home/user/shared
   read only = no
   guest ok = yes

Создайте каталог, который вы указали в настройках (в данном случае /home/user/shared):

mkdir /home/user/shared

Перезапустите Samba, чтобы применить изменения:

sudo service smbd restart

После этих шагов каталог shared будет доступен из Windows через сеть.

Интеграция Astra Linux с Windows

Для доступа к общему каталогу из Windows откройте проводник, введите \<IP-адрес-Astra-Linux>\shared в адресную строку и нажмите Enter. Замените <IP-адрес-Astra-Linux> на IP-адрес вашего компьютера с Astra Linux.

Таким образом, с помощью Samba можно обеспечить интеграцию между Astra Linux и Windows, позволяя обмениваться файлами и работать совместно.


Подключению сетевого диска по SMB протоколу с помощью GUI проводника для ОС RedOS 7.3, Astra Linux 1.7.5 и Rosa Chrome 12.4.

RedOS 7.3 (Caja 1.26.0)

1. Перейдите в проводник и выберите «Файл» – «Соединиться с сервером».

Подключение сетевого диска на ОС Linux с помощью GUI проводника по SMB протоколу

2. В открывшемся окне заполните информацию:

  • Адрес сервера: адрес сетевого ресурса
  • Тип: Ресурс Windows
  • Папка: Имя подключаемого сетевого каталога
  • Имя домена: Адрес подключаемого домена (ip-адрес или домен)
  • Имя пользователя: Имя пользователя домена
  • Пароль: Пароль пользователя домена.

После заполнения нажмите Подключиться.

Подключение сетевого диска на ОС Linux с помощью GUI проводника по SMB протоколу

Astra Linux 1.7.5 (fly 1.7.130)

1. Перейдите в проводник и выберите «Сеть» — «Создать сетевое место»

Подключение сетевого диска на ОС Linux с помощью GUI проводника по SMB протоколу

2. В окне введите название папки и адрес сетевого каталога и нажмите «Да»

  • Название: Укажите желаемое название сетевого каталога.
  • Адрес: Укажите адрес сетевого ресурса, с указанием протокола данного ресурса

Подключение сетевого диска на ОС Linux с помощью GUI проводника по SMB протоколу

3. При запросе учетных данных введите логин и пароль от сетевого ресурса и нажмите «Да»

  • Пользователь: Укажите имя пользователя сетевого ресурса.
  • Пароль: Укажите пароль от пользователя сетевого ресурса.

Rosa Chrome 12.4 (Dolphin 23.03.90)

1. Перейдите в диспетчер файлов и в разделе «Сеть» выберите «Добавить сетевую папку»

Подключение сетевого диска на ОС Linux с помощью GUI проводника по SMB протоколу

2. В открывшемся окне выберите «Сетевой диск Microsoft Windows» и нажмите «Далее»

Подключение сетевого диска на ОС Linux с помощью GUI проводника по SMB протоколу

3. Введите имя, адрес сетевого ресурса и название сетевого каталога, нажмите «Сохранить и подключиться».

  • Имя: Укажите желаемое имя каталога, как он будет отображаться в вашем проводнике.
  • Сервер: Укажите имя сервера с сетевым ресурсом (ip-адрес или имя домена).
  • Папка: Укажите имя подключаемого каталога.

Подключение сетевого диска на ОС Linux с помощью GUI проводника по SMB протоколу

4. В окне запроса учетных данных введите логин и пароль для доступа к сетевому ресурсу.

  • Имя пользователя: Укажите имя пользователя сетевого ресурса.
  • Пароль: Укажите пароль от пользователя сетевого ресурса.

Подключение сетевого диска на ОС Linux с помощью GUI проводника по SMB протоколу

Уже несколько лет я проверяю разные версии Астра Линукс и все это время у них «из коробки» не работает локальная сеть. То есть из Астры нельзя получить доступ к расшаренным папкам на компьютерах Windows. А из Windows нельзя получить доступ к файлам на компьютере с Астрой.

Для одиночного компьютера это не имеет значения, главное чтобы Интернет работал. Но Астру активно впаривают государственным организациям и учреждениям, а там без локальной сети никак нельзя. И почему разработчики дистрибутива до сих пор не решили эту проблему, я не знаю.

Итак. Что нужно сделать, чтобы в Астре можно было пользоваться локальной сетью. Я буду описывать действия для самого распространенного варианта построения локальной сети. В сети есть компьютеры с Windows. На этих Windows разрешен доступ к файлам без логина и пароля (анонимный доступ). Все компьютеры соединены друг с другом через один общий роутер (одноранговая сеть).

Доступ к файлам на компьютерах Windows

Начинаем с простого — доступ к файлам на компьютерах Windows. Сразу после установки, «из коробки», Астра (в своем псевдо Проводнике) показывает компьютеры Windows, заходит на них, показывает сетевые папки, но эти папки пустые, там словно бы ничего нет.

Чтобы это исправить придется использовать Терминал. Открываем его и там одну, за другой несколько команд вводим:

mkdir ~/.smb

sudo ln -s /etc/samba/smb.conf ~/.smb/smb.conf

echo ‘auth «guest» none’ > ~/.smb/smbnetfs.conf

chmod 600 ~/.smb/smbnetfs.conf

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

Раздача файлов из Astra Linux

Немного сложнее настроить раздачу файлов из Астры.

Сначала нужно установить пакет samba. Это программный сервер, который обеспечивает «отдачу» файлов и принтеров в локальную сеть, по протоколу SMB (который использует Windows). «Из коробки» она не устанавливается. Установить можно двумя способами:

Через терминал:

sudo apt install samba

Или через программу Synaptic, которая доступна через меню. В программе нужно найти пакет samba (через поиск по имени) и установить его.

После установки пакета, нужно убедиться что сервисы Самбы запустились и работают. Это можно сделать через терминал:

sudo service smbd status

sudo service nmbd status

Оба сервиса должны работать. Если не запущены, значит запустить:

sudo service smbd start

sudo service nmbd start

После этого можно определять папки, для сетевого доступа. В базе знаний на официальном сайте Астры Линукс, описан пример с раздачей папки в системном каталоге srv, да еще и с присвоением этой папке владельца Nobody. Как по мне, это тупняк какой-то. Во-первых это будет неудобно для работы. Пользователю придется в эту папку перекидывать необходимые файлы из своих «домашних» папок (Документы, Изображения, Загрузки Рабочий стол). Во-вторых, если с другого компьютера (через сеть) в этой папке кто-то создаст файл или папку, то локальный пользователь Астры не сможет с ними работать, потому что права будут установлены в пользователя Nobody.

Поэтому делаем по умному. Раздача в сеть одной или нескольких «домашних» папок. Я в качестве примера напишу про папку Загрузки. Полный путь к этой папке — /home/astra/Загрузки, где astra это логин локального пользователя. Если у вас логин будет, например oleg, то путь будет другой — /home/oleg/Загрузки. Путь к раздаваемой папке, понадобится для настройки.

Открываем программу Kate (это текстовый редактор). В этом редакторе открываем файл /etc/samba/smb.conf. Переходим в самый конец файла и там добавляем вот такой фрагмент:

[Загрузки]
path = /home/astra/Загрузки
guest ok = yes
force user = astra
force group = astra
read only = no
create mask = 0777
directory mask = 0777

[Загрузки] — это сетевое имя раздаваемой папки. Под этим именем папка будет видна с других компьютеров.

path = /home/astra/Загрузки — это путь к раздаваемой папке. Если вы будете раздавать папку, в имени которой есть пробел, тогда путь нужно будет в кавычках записать.

force user = astra — здесть нужно записать логин локального пользователя Астры.

force group = astra — повторить логин.

Сохраняем файл. Редактор запросит пароль для sudo (пароль администратора). После ввода пароля файл будет сохранен.

Проверяем правильность файла:

testparm

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

chmod 775 /home/astra/Загрузки

После этого нужно сделать рестарт Самбы:

sudo service smbd restart

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

Другие статьи про Astra Linux

Обзор Astra Linux 2.12.46

Установка Astra SE 1.8 

Dws


Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Видео обои на рабочий стол для windows 10 аниме
  • Как посмотреть пароль от wifi на компьютере windows 11 на ноутбуке
  • Настройка боковой панели проводника windows 10
  • Sftp в проводнике windows 10
  • Запуск windows update из командной строки