16 июня 2024 г.
Получается, что у 10-й платформы АльтЛинукса репозитарий один на все дистрибутивы, только набор программного обеспечения разный. Т.е. можно на текущий дистрибутив спокойно установить не устанавливаемое по умолчанию ПО. Только нужно точно знать, что требуется. И документация тоже подходит. Подходящий пример: установка на сервер виртуализации не типичной для него роли файлового сервера. И документация по серверу виртуализации в этом деле не поможет. Зато отлично подойдет документация по Альт Линукс Сервер 10. На текущий момент актуальной версией является версия 10.2.
Читаем и делаем: https://docs.altlinux.org/ru-RU/alt-server/10.2/html/alt-server/protocol.html
Ниже подробно разберем настройку доступности по сети для новой папки "NET", созданной по пути "/var" как для клиентов на ОС Линукс, так и для клиентов на ОС Виндовс.
Считаем, что сервер виртуализации уже установлен. Если нет, то можно воспользоваться пошаговой инструкцией по установке: АльтЛинукс Сервер виртуализации10.1 (Proxmox)
Для клиентов Линукс необходимо установить, настроить и запустить NFS-сервер
Для клиентов Виндовс необходимо установить, настроить и запустить Samba-сервер (SMB, если кратко)
Обычно Линукс умеет подключаться к серверу Samba, но, считаю, что лучше использовать родной протокол.
Создаем папку /var/NET
Первым делом нужно создать папку, которую планируется сделать доступной по сети. В нашем случае требуются права суперпользователя. Поэтому запускаем терминал, пишем "su - " вводим пароль root и набираем команду "mc" для запуска "Midnight Commander":
В открывшемся миднайт командере переходим в папку /var и нажимаем F7 в появившемся окне вводим "NET" и нажимаем ENTER два раза. См. скрин ниже:
И тут же выдаем на эту папку права всем через меню MC. На меню можно переключиться мышью или с помощью клавиши F9. "Файл" - > "Права (расширенные)" в русском mc или "File" -> "Advanced chown" в английском. См. скрин ниже:
Выставляем в "другие" значение "rwx" и "установить" ("other" в "rwx", и "Set" для английского):
Важно это не забыть.
Hidden text
Так, создав с правами суперпользователя папку и настроив сервисы сетевого доступа к файлам, я довольно долго не мог понять, почему из сети регистрируюсь, в папку захожу, а ничего записать в неё не получается. Получаю ошибку о недостаточности прав. Пытался и из Линукс и из Виндовс. Искал проблему в файлах конфигурации сервисов NFS и SMB. А, оказывается, нет прав на папку в локальной файловой системе.
Знатокам командной строки, конечно, создание папки и выдачу на неё прав сделать быстрее.
Нажав CTRL+o можно временно скрыть панели mc, повторное нажатие CTRL+o вернет панели. Клавиша F10 закроет командер совсем. Для его запуска надо будет набирать mc.
NFS
Переходим в терминал и под суперпользователем устанавливаем пакет nfs-server:
apt-get install nfs-server
После установки nfs-сервера следует отредактировать файл /etc/exports. В mc есть встроенный редактор, с помощью которого и можно внести изменения в файл. Для этого нужно переместить курсор на нужный файл и нажать клавишу F4. Для вставки можно использовать комбинацию клавишу SHIFT+Insert (Ctrl+C - в нем не работает)
Моё содержимое файла /etc/exports:
# See also /etc/sysconfig/rpcbind (control rpcbind).
/var/NET 192.168.1.0/24(rw,subtree_check)
Где первая строка - комментарий, т.к. начинается с символа "#". Во второй строке указано, что папка /var/NET для всех подключений из подсети 192.168.1. доступна для всего набора манипуляций с файлами (чтение, запись, выполнение)
Теперь дадим команду запустить NFS-сервер и включим его по умолчанию:
systemctl enable --now nfs
SMB
Переходим в терминал и под суперпользователем устанавливаем пакет samba:
apt-get install samba
После установки следует отредактировать файл /etc/samba/smb.conf. Я добавил в него раздел "NET" и предоставил доступ пользователю "vvk". В файле это выглядит следующим образом:
[NET]
comment = NET
path = /var/NET
public = yes
browseable = yes
read only = no
writable = yes
valid users = vvk
quest ok = no
Также есть тут заморочки с пользователями. Лучше официальной документации не скажешь: Samba использует отдельную от системной базу данных пользователей. Для возможности доступа пользователя к папке (если запрещен гостевой доступ) необходимо внести его в базу данных Samba и установить пароль для доступа к общим ресурсам (он может совпадать с основным паролем пользователя). Следует учитывать, что в базу данных Samba можно добавлять только тех пользователей, которые уже есть в системе. Добавить пользователя в базу данных Samba можно, выполнив команду (должен быть установлен пакет samba-common-client): "smbpasswd -a <имя_пользователя>"
Потому выполняю команду для пользователя "vvk" и дважды указываю пароль в точности такой же, как и при входе в систему.
smbpasswd -a vvk
Система должна ответить, что пользователь добавлен. См.скрин ниже:
После чего дадим команду запустить SMB-сервер и включить его по умолчанию:
systemctl enable --now smb
Действия на госте с ОС "АльтЛинукс Рабочая станция К" 10-й платформы.
Затем на госте с ОС Альт линукс в консоле под правами root делаем для проверки что всё работает:
создать точку монтирования:
mkdir /mnt/NET
примонтировать файловую систему:
mount -t nfs 192.168.1.50:/var/NET /mnt/NET
проверить наличие файлов в каталоге /mnt/NET
ls -al /mnt/NET
Для автоматического монтирования к NFS-серверу при загрузке необходимо добавить следующую строку в файл /etc/fstab
:
192.168.1.50:/var/NET /mnt/NET nfs intr,soft,nolock,_netdev,x-systemd.automount 0 0
Теперь при регистрации пользователя в виртуальной машине "АльтЛинукс Рабочая станция К" сетевая папка будет примонтирована и будет выглядеть примерно следующим образом:
Действия на госте с ОС "Windows 10 Pro"
Открываем проводник и в строке адреса вводим полный путь до вашей папке. В моем случае это \\192.168.1.60\NET\ и нажимаем ENTER. В появившемся окне вводим имя пользователя и пароль. При необходимости выставляем флажок "Запомнить учетные данные" и нажимаем кнопку "OK". См. скрин ниже:
После успешной регистрации сетевая папка добавиться слева в группе "Сеть". Отсюда через меню по правой кнопке можно подключить её как сетевой диск:
В появившемся окне выбираем букву диска и, при необходимости, выставляем флажок, чтобы этот диск всегда был:
Как-то так.
Onwardv Автор
Статья является миниинструкцией - напоминалкой для меня.
OverThink
хм... смысла в статье нет, подобное гуглится за пару кликов. Если клиенты будут на лине, то почитай про pam mount. Если учётка в самбе совпадает с учёткой на клиенте(даже на винде), то пароль вводить не нужно.
вот мой конфиг самбы с корзиной, группами, наследованием прав.
[global]
auto services = public
logging = file
recycle:exclude_dir = /srv/samba/rocketchat
default = public
recycle:touch = Yes
passwd program = /usr/bin/passwd %u
os level = 20
recylce:excludedir = tmp temp cache
max log size = 1000
server role = standalone server
load printers = no
passwd chat = Enter\snew\s\spassword:* %n\n Retype\snew\s\spassword:* %n\n password\supdated\ssuccessfully .
map to guest = bad user
usershare owner only = false
recycle:exclude = *.tmp *.temp *.o .obj ~$ *.~?? *.log .trace .~lock.
server min protocol = SMB2
log file = /var/log/samba/log.%m
read raw = no
panic action = /usr/share/samba/panic-action %d
obey pam restrictions = no
write raw = no
recycle:repository = /srv/samba/.trash
usershare allow guests = yes
encrypt passwords = yes
vfs objects = recycle
recycle:keeptree = Yes
recycle:versions = Yes
pam password change = yes
create mask = 775
force create mode = 775
security mask = 775
#force security mode = 775
directory mask = 2775
force directory mode = 2775
directory security mask = 2775
force directory security mode = 2775
follow symlinks = yes
unix extensions = no
wide links = yes
[03_Бухгалтерия]
path = /srv/samba/public/03_Бухгалтерия
browseable = no
valid users = @ad_Bukhgalteriia
write list = @ad_Bukhgalteriia
force group = ad_Bukhgalteriia
guest ok = yes
writeable = yes