Группа: Пользователи
Сообщений: 56
Из: Краматорск, Донецкая, Украина
Спасибо сказали: 16 раз
Рейтинг: 0
Платформа 8.3.1547, конфигурация самописаная, ОС Ubuntu 18 Написал небольшую библиотеку. В ней есть процедуры который используют НачатьЗапускПриложения. Всё вроде нормально, скрипты выполняются как нужно, если следить за разрешениями. Но если заставить отработать с файлом с преднамеренным нарушением прав доступа, загорается черный экран, 1с слетает и появляется приглашение для входа пользователя в графическую сессию. Если запустить 1с от рута, всё отрабатывает пишет всё что укажешь и куда укажешь ничего не слетает. Пробовал обернуть в Попытка/Исключение (так поржать) ничего не меняется, черный экран и окно входа в систему. Как же отловить встроенными методами превышение превилегий при работе с файлами?
Группа: Пользователи
Сообщений: 56
Из: Краматорск, Донецкая, Украина
Спасибо сказали: 16 раз
Рейтинг: 0
Vofka @ Сегодня, 9:33
, В сценарии может быть указано, всё что угодно, вплоть до создания любых файлов в любом месте. Не станеш же разбирать весь текст скрипта на предмет "опасных действий" для 1с. В описание оповещения указывается обработчик в случае ошибки. Не понятно, какие там ошибки вообще должна отлавливать 1с, кроме прав доступа к файлам? В модуле отливается вывод терминала, сама оболочка контролирует доступ к файлам. Если запустить из командной строки, появиться сообщение "Отказано в доступе" и система продолжить жить. Короче перед запуском - окно на весь экран: Уважаемый пользователь, перед выполнением вашего сценария, сохраните и закройте всё в 1с, на всякий случай сделайте архивную копию вашей информационной базы, возможно появться черный экран и 1с исчезнет. Не пугайтесь, после ввода вашего пароля пользователя вы снова сможете попасть на ваш графический рабочий стол и снова запустить 1с. Грустно, но на такое поведение 1с, есть пока неизвестные мне причины. Спасибо
Группа: Пользователи
Сообщений: 56
Из: Краматорск, Донецкая, Украина
Спасибо сказали: 16 раз
Рейтинг: 0
sava1 @ Сегодня, 10:03
, Молчит. Честно говоря мне представляется он как мой журнал, и пока я туда чего нибудь не напишу - там ничего и не появляется. (ну кроме аунтификации, сохранения базы и всего остального что там не должно сохраняться)
TipsyKID @ Сегодня, 10:43
, Даже пробовал и вообще без пользователей. Монитор ламповый, после нажатия кнопки запуска процедуры - хлопок. Даже посещает опасение за монитор!!!
uanr81 @ Сегодня, 10:49
, Интересно, что если указывать допустимые имена для текущего пользователя, тогда и отрабатывает механизм повышения привелегий над файлами. Но какие повышения привилегии, если файлы и так этого пользователя. Короче вообще не понятно!
TipsyKID @ Сегодня, 10:43
,
Цитата
Пробовали отключить механизм защиты от опасных действий?
Чтобы не быть голословным ниже приведу текст команды с которой запускаю НачатьЗапускПриложения(). В сценарии оборачиваются команды в "script " для захвата вывода терминала и помещения его в файл отчет для последующего его чтения и вывода пользователю в сообщении пользователю. В данном случае, я преднамеренно указываю недопустимое расположение этого файла (/opt/otv).
Цитата
script -qc 'bash <<-"heredoc" echo "Смена прав на ключ СА /tmp/v8_5aOuw6_7/files/keyCa1" chmod 600 "/tmp/v8_5aOuw6_7/files/keyCa1" if [ $? -eq 0 ]; then echo "Изменены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa1" else echo "Ошибка при попытки смены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa1" fi echo "Издание сертификата ключа демона /tmp/v8_5aOuw6_7/files/key1-cert.pub" ssh-keygen -s "/tmp/v8_5aOuw6_7/files/keyCa1" -I srt_dmn_sshd_0004_0002 -h -n fd87:f221:3934:0000:0230:4fff:fe67:caf2,192.168.001.201 -z 1205201113111 /tmp/v8_5aOuw6_7/files/key1.pub if [ $? -eq 0 ]; then echo "Издан сертификат ключа демона /tmp/v8_5aOuw6_7/files/key1-cert.pub" echo "Содержимое изданного сертификата" echo "##########################################################" ssh-keygen -L -f "/tmp/v8_5aOuw6_7/files/key1-cert.pub" echo "##########################################################" else echo "Ошибка при попытки издать сертификат на ключ демона /tmp/v8_5aOuw6_7/files/key1.pub" fi echo "Смена прав на ключ СА /tmp/v8_5aOuw6_7/files/keyCa2" chmod 600 "/tmp/v8_5aOuw6_7/files/keyCa2" if [ $? -eq 0 ]; then echo "Изменены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa2" else echo "Ошибка при попытки смены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa2" fi echo "Издание сертификата ключа демона /tmp/v8_5aOuw6_7/files/key2-cert.pub" ssh-keygen -s "/tmp/v8_5aOuw6_7/files/keyCa2" -I srt_dmn_sshd_0003_0005 -h -n fd87:f221:3934:0000:0230:4fff:fe67:caf2,192.168.001.201 -z 1205201113111 /tmp/v8_5aOuw6_7/files/key2.pub if [ $? -eq 0 ]; then echo "Издан сертификат ключа демона /tmp/v8_5aOuw6_7/files/key2-cert.pub" echo "Содержимое изданного сертификата" echo "##########################################################" ssh-keygen -L -f "/tmp/v8_5aOuw6_7/files/key2-cert.pub" echo "##########################################################" else echo "Ошибка при попытки издать сертификат на ключ демона /tmp/v8_5aOuw6_7/files/key2.pub" fi echo "Смена прав на ключ СА /tmp/v8_5aOuw6_7/files/keyCa3" chmod 600 "/tmp/v8_5aOuw6_7/files/keyCa3" if [ $? -eq 0 ]; then echo "Изменены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa3" else echo "Ошибка при попытки смены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa3" fi echo "Издание сертификата ключа демона /tmp/v8_5aOuw6_7/files/key3-cert.pub" ssh-keygen -s "/tmp/v8_5aOuw6_7/files/keyCa3" -I srt_dmn_sshd_0002_0005 -h -n fd87:f221:3934:0000:0230:4fff:fe67:caf2,192.168.001.201 -z 1205201113111 /tmp/v8_5aOuw6_7/files/key3.pub if [ $? -eq 0 ]; then echo "Издан сертификат ключа демона /tmp/v8_5aOuw6_7/files/key3-cert.pub" echo "Содержимое изданного сертификата" echo "##########################################################" ssh-keygen -L -f "/tmp/v8_5aOuw6_7/files/key3-cert.pub" echo "##########################################################" else echo "Ошибка при попытки издать сертификат на ключ демона /tmp/v8_5aOuw6_7/files/key3.pub" fi echo "Смена прав на ключ СА /tmp/v8_5aOuw6_7/files/keyCa4" chmod 600 "/tmp/v8_5aOuw6_7/files/keyCa4" if [ $? -eq 0 ]; then echo "Изменены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa4" else echo "Ошибка при попытки смены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa4" fi echo "Издание сертификата ключа демона /tmp/v8_5aOuw6_7/files/key4-cert.pub" ssh-keygen -s "/tmp/v8_5aOuw6_7/files/keyCa4" -I srt_dmn_sshd_0004_0003 -h -n fd87:f221:3934:0000:0230:4fff:fe67:caf2,192.168.001.201 -z 1205201113111 /tmp/v8_5aOuw6_7/files/key4.pub if [ $? -eq 0 ]; then echo "Издан сертификат ключа демона /tmp/v8_5aOuw6_7/files/key4-cert.pub" echo "Содержимое изданного сертификата" echo "##########################################################" ssh-keygen -L -f "/tmp/v8_5aOuw6_7/files/key4-cert.pub" echo "##########################################################" else echo "Ошибка при попытки издать сертификат на ключ демона /tmp/v8_5aOuw6_7/files/key4.pub" fi echo "Смена прав на ключ СА /tmp/v8_5aOuw6_7/files/keyCa5" chmod 600 "/tmp/v8_5aOuw6_7/files/keyCa5" if [ $? -eq 0 ]; then echo "Изменены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa5" else echo "Ошибка при попытки смены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa5" fi echo "Издание сертификата ключа демона /tmp/v8_5aOuw6_7/files/key5-cert.pub" ssh-keygen -s "/tmp/v8_5aOuw6_7/files/keyCa5" -I srt_dmn_sshd_0001_0002 -h -n fd87:f221:3934:0000:0230:4fff:fe67:caf2,192.168.001.201 -z 1205201113111 /tmp/v8_5aOuw6_7/files/key5.pub if [ $? -eq 0 ]; then echo "Издан сертификат ключа демона /tmp/v8_5aOuw6_7/files/key5-cert.pub" echo "Содержимое изданного сертификата" echo "##########################################################" ssh-keygen -L -f "/tmp/v8_5aOuw6_7/files/key5-cert.pub" echo "##########################################################" else echo "Ошибка при попытки издать сертификат на ключ демона /tmp/v8_5aOuw6_7/files/key5.pub" fi exit 0 heredoc ' /opt/otv
Вот что выводит командный интерпритатор в этом случае:
Цитата
script: невозможно открыть /opt/otv: Отказано в доступе
Группа: Пользователи
Сообщений: 56
Из: Краматорск, Донецкая, Украина
Спасибо сказали: 16 раз
Рейтинг: 0
sava1 @ Вчера, 11:51
, О том и речь, 1с сносит X. А Ubuntu просит снова войти в графическую сессию, где 1с как не бывало. Причем если был открыт браузер, открываются все раннее открытые окна. 1С не причем, ткнул кнопку и переписала конфигурацию веб сервера. Зато теперь JAVA нужно прикрутить на тот убогий виртуальный сервер, чтобы справку распечатать под лицензией 1С
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!