Соединение 3 соединений OpenVPN через сценарий оболочки

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

lsattr возвращает расширенные атрибуты файла:

$ lsattr model/DailyUpdateClass.class
-u-Diad--j------ DailyUpdateClass.class

Вам нужно будет расшифровать все буквы ( -u-Diad - j )

Справочная страница для lsattr предложит вам просмотреть справочную страницу для chattr для описания расширенных атрибутов. Здесь я перечислил соответствующие:

Когда файл с установленным атрибутом u удаляется, его содержимое сохранен. Это позволяет пользователю запрашивать его восстановление. Примечание: пожалуйста обязательно прочтите раздел об ошибках и ограничениях в конце этого документ.

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

Один D немного беспокоит - он явно используется только в каталогах, но у вас есть файл.

Файл с атрибутом i не может быть изменен: его нельзя удален или переименован, на этот файл нельзя создать ссылку и данные можно записать в файл. Только суперпользователь или процесс обладание возможностью CAP_LINUX_IMMUTABLE может установить или сбросить это атрибут.

Файл с установленным атрибутом a может быть открыт только в режиме добавления для письмо. Только суперпользователь или процесс, обладающий Возможность CAP_LINUX_IMMUTABLE может устанавливать или очищать этот атрибут.

Файл с установленным атрибутом d не является кандидатом для резервного копирования, когда запускается программа dump (8).

Файл с атрибутом j имеет все данные, записанные в ext3 или ext4 journal перед записью в сам файл, если файловая система смонтирована с помощью data = order или data = writeback опции. Когда файловая система смонтирована с data = journal опция все данные файла уже занесены в журнал, и этот атрибут не имеет эффект. Только суперпользователь или процесс, обладающий Возможность CAP_SYS_RESOURCE может устанавливать или очищать этот атрибут.

Чтобы исправить это, используйте chattr . Например, чтобы удалить атрибуты immutable и append:

# chattr -ia model/DailyUpdateClass.class

1
21.01.2015, 12:19
1 ответ

Я не на 100% уверен в том, будет ли работать или не хранить комбинацию имени пользователя / пароля в переменной, будет работать - это определенно не будет, если ваша настройка Sudo требует пароля, но по крайней мере, Вы можете реализовать цикл, аналогичный тем, что ниже. Если хранение имени пользователя / пароля в переменной работает, вам не нужно будет писать файл с вашими учетными данными вообще.

#!/bin/bash
VPNDIR=${HOME}/vpns
CONFIG=${VPNDIR}/login.conf
OCWD=${PWD}

cd ${VPNDIR}
OLDIFS=${IFS} ; IFS=''
CREDS="$(openssl aes-128-cbc -d < login.conf.aes)"
IFS=${OLDIFS}

for Z in live_vpn mgmt_vpn test_vpn; do
   cd ${VPNDIR}/${Z}
   (printf "${CREDS}\n" | sudo openvpn --config config.ovpn --auth-user-pass) &
done

unset CREDS
cd ${OCWD}
1
27.01.2020, 23:51

Теги

Похожие вопросы