Альт линукс подключить сетевую папку

#Автоматизация #Технологии #Процессы #ИТ #Записки #Журнал #Блог #Форум

Подключение сетевого диска (расшареной папки) на Alt Linux

Артём Мамзиков Admin Сообщения: 761 Стаж: 4 года 4 месяца Откуда: Вологодская область Поблагодарили: 29 раз Контактная информация:

Подключение сетевого диска (расшареной папки) на Alt Linux

Сообщение Артём Мамзиков » Пн апр 19, 2021 22:05 #1

Подключение сетевого диска (расшареной папки) на Alt Linux
монтирование сетевого диска.

Подключение данным скриптом проверено на Alt Linux 8

05.06.2021 На некоторых ПК
выходила ошибка
mount error(121): Remote I/O error
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Пришлось добавить в команды vers=2.1
PASSWD=»$p» mount «//$fs» «$mountdir» -o username=»$l»,vers=2.1,iocharset=utf8,file_mode=0666,dir_mode=0777
echo -e «//$fs $mountdir cifs vers=2.1,iocharset=utf8,file_mode=0666,dir_mode=0777,suid,credentials=$pwdfile 0 0\n» >> /etc/fstab

Что делает скрипт:
0. От монтирование старой папки (была под гостем) иначе будет ошибка
1. Определяет текущую сеть и поставляет ip файлового сервера с рашареной папкой. Пример 192.168.121.7/docs
2. Так как сrрипт запускается удалено под ssh root, нужно указать вывод графического интерфейса пользователю (это как vnc настройки)
3. Далее получаем переменные от пользователя (Логин Пароль для подключения сетевой папки с файлового через доменную учетку)
4. Проверяем что путь правильно сформировался
5. Создаем папку для монтирования /mnt/docs
6. Проверяем что директория создалась
7. Проверка что ведены логин пароль, а не пустые строки
8. Пробуем тестовое монтирование, что логин пароль и путь указанные верно
9. Бейкапим конфиг, удаляем старый логин пароль строку для гостя.
10. Шифруем пароль сохраняем в отдельный файл в шифрованном виде
11. Прописываем новую строку авторизации в файл /etc/fstab
12. Выводим результат об удачном монтировании, если где то ошибка начинаем сначала.

#!/bin/sh # Отмонтировать старую папку umount /mnt/docs # IP Хоста ip=`hostname -i` #Разбираем IP адрес по точкам, берем первые 3 блока и подставляем .7 SAVEIFS=$IFS IFS='.' read -a iparr .$.$.7 # Получаем IP путь след вида переменная fs="xxx.xxx.xxx.7/docs" fs="$fs/docs" # Выбираем экран для вывода графического запроса пользователю export DISPLAY=:0.0; export XAUTHORITY='/var/run/lightdm/root/:0'; while true; do # Запрашиваем Данные у пользователя и заносим их в переменные fsq=$(zenity --entry --title="Монтирование ФС" --text="Адрес подключения:" --entry-text="$fs") l=$(zenity --entry --title="Монтирование ФС" --text="Введите имя пользователя (логин почты Zimbra):") p=$(zenity --entry --title="Монтирование ФС" --text="Введите пароль (пароль почты Zimbra):" --hide-text) # Разбираем путь по слешу / подставляем второе значение docs SAVEIFS=$IFS IFS='/' read -a fsp # Проверяем что в строке не 0 символов, если 0 то ошибка , нет продолжаем if [ -z "$mountdir" ]; then zenity --error --title="Монтирование ФС" --text="1-Не удалось! Попробуйте снова." continue fi # Создаем каталог mkdir "/mnt/docs" mountdir="/mnt/$mountdir" mkdir "$mountdir" > /dev/null 2>&1 # Проверка существования дириктории if ! [ -d "$mountdir" ]; then zenity --error --title="Монтирование ФС" --text="2-Не удалось! Попробуйте снова." continue fi # Проверяем что в строках не 0 символов т.е. есть логин пароль if [[ -n "$l" && -n "$p" ]]; then # Путь на подключение fs="xxx.xxx.xxx.7/docs" fs="$fsq" # Пробуем монтируем папку, проверяем #mount "//$fs" "$mountdir" -o username="$l",password="$p",iocharset=utf8,file_mode=0666,dir_mode=0777 PASSWD="$p" mount "//$fs" "$mountdir" -o username="$l",vers=2.1,iocharset=utf8,file_mode=0666,dir_mode=0777 #PASSWD="$p" mount "//$fs" "$mountdir" -o dom="csvvo",username="$l",iocharset=utf8,file_mode=0666,dir_mode=0777 # Пример что должно выйти #mkdir "/mnt/docs" #mount "//xxx.xxx.xxx.7/docs" "/mnt/docs" -o username="Логин",password="Пароль",iocharset=utf8,file_mode=0666,dir_mode=0777 # Входная переменная с проверки, результат res=$? # Если результат монтирования 0=0 то сохраняем настройки, удалив предыдущие if [[ $res -eq "0" ]]; then # Делаем бэйкап файла с текущей датой, перед изменениями cp /etc/fstab /etc/fstab.$(date +%d%m%Y%H%M%S) #Если переменная содержит /mnt/docs и = /mnt/docs if [ "$" == "/mnt/docs" ]; then # Удалить строку содержащую /mnt/docs sed -i '/\/mnt\/docs/d' /etc/fstab fi #Передаем логин пароль в криптографические стойки генератора псевдослучайных чисел pwdfile=/root/.`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 1`.pwd # Создаем шифрованный файл с логином паролем построчно в папке root и даем права echo -e "username=$l\npassword=$p" > $pwdfile && chmod 600 $pwdfile # удаляем символы перевода строки sed -i '/^$/d' /etc/fstab # Добавляем строку монтирования в файл fstab echo -e "//$fs $mountdir cifs vers=2.1,iocharset=utf8,file_mode=0666,dir_mode=0777,suid,credentials=$pwdfile 0 0\n" >> /etc/fstab zenity --info --title="Монтирование ФС" --text="Всё ГУД!" break else zenity --error --title="Монтирование ФС" --text="3-Не удалось! Попробуйте снова." fi fi done 

Резервный случай если отвалилась связь и сервер не загрузил с ldap учетные записи , никто зайти в общий ресурс не сможет
Так как есть Учетки Администраторов домена и они же Локальные временно до перезапуска хостов выполним вход от этой учетки.
Стоит учесть что данным способом для всех хостов пользователей применяются одинаковые права доступа!

Читайте также:  Astra linux пароли пользователей

#!/bin/bash
# Автор Мамзиков Артём Андреевич 2021.06.10
echo «Seti-shareconnect.sh»

# Получим текущую подсеть
IP=`ip address|sed ‘s/inet//’|grep -E ‘192.168.*.5|172.16.*.5’|tr -d ‘ ‘ |awk -F’.’ » OFS=’.’`

# Список IP которые пропускаем
skip=»$IP.1$\|$IP.3$\|$IP.5$\|$IP.7$\|$IP.10$\|$IP.15$\|$IP.75$\|$IP.253$»

# Выберем доступные хосты где есть пинг
IPHOST=`nmap -sn «$».0/24|grep -E «Nmap scan report for «|sed ‘s/Nmap scan report for //’|sed ‘s/[()]//g’|grep -E -o «(253|235|[01]?66?)\.(254|211|[01]?24?)\.(252|239|[01]?67?)\.(254|246|[01]?84?)»|sed -e «s/$skip//g»|sed -e ‘/^$/d’`

# Переменные логина пароля для подключения к хосту
USER=root
PASS=Пароль

# Логин пароль для подключения к общей папке
DOCSLOGIN=MamzikovAA
DOCSPASS=Пароль

# Переменные IP для перебора подсетей
for IPH in $IPHOST
do

/usr/bin/expect # spawn — вызов программы
# expect — ожидание вывода запущенной программой строки (дословно: ожидаем, что скажет выполняемая программа);
# send — передача данных или команд в вызванную программу (выполняется так, как будто вы сами набираете команды в консоли)
# close — завершение сценария

# Время ожидания
set timeout 7
# Подключаемся по ssh
spawn ssh -p 22 $USER@$IPH
# Если выходит запрос потверждаем yes
expect «(yes/no)?*» send «yes\r»
>
>
# Ждем строку запроса пароля password:
expect «word:»
# Водим пароль
send «$PASS\r»
# Ждем строку для ввода команд от root #
expect «#*»
# Создадим дирикторию
send «mkdir ‘/mnt/$mountdir’ > /dev/null 2>&1\r»
# Ждем строку для ввода команд от root #
expect «#*»
# До перезапуска подключим общую папку
send «mount ‘//$IP.7/docs’ ‘/mnt/docs’ -o username=’$DOCSLOGIN’,password=’$DOCSPASS’,iocharset=utf8,file_mode=0666,dir_mode=0777\r»
# Время ожидания установки
set timeout 5
# Проверяем что перешли в папку root
expect «~]#*»
set timeout 3
expect eof
# Выполняем выход из сеанса
send «exit\r»
EOF

Как переподключить, без перезагрузки если во время работы смонтированный диск отвалился.
# a, —all — примонтировать все устройства, описанные в fstab; (Обратите внимание, что если вы добавите файл подкачки в свой fstab, mount -aон не будет включен : вы захотите запустить swapon -a.)
mount -a

Читайте также:  Assembler hello world linux

Можно прописать в крон или вывести ярлык

#!/bin/bash # reconnecting-mout # создадим файл для проверки #echo "Proverka mount" > /mnt/docs/access # Проверка доступности общей папки #if [[ `ls -aF /mnt/docs |grep -av "/" | grep "access"` != "access" ]] # Проверка через память диска if [[ `timeout 5 df -h|grep "/mnt/docs"` = "" ]] then # a, --all - примонтировать все устройства, описанные в fstab; mount -a fi 
#!/bin/bash # reconnecting-mout # Выберем строку для переподключения сетевого диска. dan=$(cat /etc/fstab|grep "/mnt/docs"|grep -o '.*pwd') #auth=$(echo "$"|sed 's|.*credentials=||'|xargs -I <> bash -c 'cat <>'|sed ':a;N;$!ba;s/\n/,/g') #echo "$" us=$(echo "$"|sed 's|.*credentials=||'|xargs -I <> bash -c 'cat <>'|sed 's|username=||'|sed 's/pas.*//g'|tr -d ' ') pwd=$(echo "$"|sed 's|.*credentials=||'|xargs -I <> bash -c 'cat <>'|tr -d '\n'|sed 's|.*password=||'|tr -d ' ') #echo $us $pwd put=$(echo "$"|sed 's|cifs.*||') # Отмонтировать старую папку #umount /mnt/docs #mkdir "/mnt/docs" # Повторное подключение #mount $put-o "$",iocharset=utf8,file_mode=0666,dir_mode=0777 PASSWD="$" mount $put cifs -o username="$",vers=2.1,iocharset=utf8,file_mode=0666,dir_mode=0777 #echo PASSWD="$" mount $put-o username="$",vers=2.1,iocharset=utf8,file_mode=0666,dir_mode=0777 # Пример: #mount "//xxx.xxx.xxx.7/docs" "/mnt/docs" -o username="Логин",password="Пароль",iocharset=utf8,file_mode=0666,dir_mode=0777 #PASSWD=Пароль mount //xxx.xxx.xxx.xxx/docs /mnt/docs -o username=Логин,vers=2.1,iocharset=utf8,file_mode=0666,dir_mode=0777 

Источник

Альт линукс подключить сетевую папку

Product SiteDocumentation Site

⁠53.5. Подключение файловых ресурсов

Рассматриваемый способ позволяет подключать файловые ресурсы (file shares) для доменного пользователя без повторного ввода пароля (SSO, Single Sign-On).

Для настройки автоматического подключения сетевых файловых ресурсов Windows (Samba) при входе пользователя в систему необходимо:

# apt-get install kde5-autofs-shares
/mnt/samba /etc/auto.smb -t 34567

Здесь /mnt/samba — каталог в котором будут подключаться сетевые файловые системы, /etc/auto.smb — файл конфигурации или скрипт, 34567 — таймаут подключения при отсутствии обращения.

# systemctl enable --now autofs

В диспетчере файлов Dolphin по адресу smb:/ ( СетьОбщие папки Samba ) найти нужный ресурс Windows (Samba).

В контекстном меню подключаемого ресурса выбрать пункт ДействияПодключение :

Читайте также:  Соединение локальной сетью linux

Контекстное меню подключаемого ресурса

Автоматически подключенный ресурс

Источник

Как в Alt Linux рабочая станция К подключить сетевую папку

У операционной системы Alt Linux есть два дистрибутива для обычных пользователей это Аль Рабочая станция и Альт Рабочая станция К. Основное отличие второго дистрибутива от первого это рабочий стол Plasma, ну и еще несколько незначительных нюансов, об этом расскажу немного позже. Но самый главный её плюс в принципе как и остальных дистрибутивов Linux это возможность бесплатного использования физ лицами. Как правили такие пользователи не очень опытные и специально для них я пишу простые но полезные инструкции и заметки по настройки оптимизации и использованию Альт Рабочая станция К. Сегодня поговорим о том как к данной ОС подключить сетевой диск.

Кстати, я уже написал несколько небольших статей на тему настройки ОС Рабочая станция К, обязательно с ними ознакомитесь.

Если интересно то можете посмотреть как подключается сетевая папка в просто Аль Рабочая станция.

Как подключить сетевую папку

Для того чтобы подключить сетевой диск к дистрибутиву Альт Рабочая станция К нужно открыть «Сеть» в файловом менеджере.

Альт Рабочая станция К Сеть

Далее выбираем тип подключения «Shared Folders(SMB)», так как мы будем подключить сетевую папку которая расположенная на компьютере с Windows.

Альт Рабочая станция К как подключить сетевую папку

В адресной строке вводим полный путь до нужной папки в моюм случае это.

Альт Рабочая станция К подключение общей папки

После чего нужно будет авторизоваться, если папка расшарина для всех то выбираем пункт «Без пароля, анонимный или гостевой вход». А если к общей папке доступ разрешен конкретным пользователя указываем имя и пароль, также не забываем про домен. Советую отметить пункт «Сохранить пароль».

Альт Рабочая станция К настройка общей папки

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

Альт Рабочая станция К как подключить расшаренную папку

На этом процесс подключения сетевой папки в российской операционной системе Альт Рабочая станция К завершен. Если остались вопросы или есть замечания пишите!

Источник

Оцените статью
Adblock
detector