LINUX.ORG.RU

Сообщения riptor

 

Как правильно задать suid bit, чтобы запускать скриптом openvpn клиент?

Привет всем.

На работе нужно подключаться к vpn. Есть *.ovpn файл и можно подключиться к впн командой

sudo openvpn --config config.ovpn

Без sudo, конечно подключиться не выходит. Пароль вводить, конечно, задалбывает ))

Насколько я понимаю, можно обернуть эту команду в шелл скрипт файл, задать этому файлу владельца root, задать suid bit и у скрипта будут все пермишны. Так я и делаю

Вот файл connnect_vpn.sh

#!/bin/sh
openvpn --config config.ovpn

Дальше задаю файлу владельца - root

sudo chown root:root connect_vpn.sh

Делаю файл исполняемым

sudo chmod +x connnect_vpn.sh

Задаю suid bit

sudo chmod u+s connect_vpn.sh

И получаю такой файл

-rwsrwxr-x 1 root root 113 фев 5 18:16 connect_vpn.sh*

Вроде всё правильно.

Для сравнения вот /usr/bin/sudo

-rwsr-xr-x 1 root root 277936 апр 8 2024 /usr/bin/sudo*

Дальше запускаю свой скрипт

./connect_vpn.sh

И получаю вот такое (публикую последние строки)

2025-02-05 18:38:24 net_route_v4_best_gw query: dst 0.0.0.0
2025-02-05 18:38:24 net_route_v4_best_gw result: via <тут ip> dev wlp82s0
2025-02-05 18:38:24 ROUTE_GATEWAY <тут ip>/255.255.254.0 IFACE=wlp82s0 HWADDR=<тут мак адрес>
2025-02-05 18:38:24 ERROR: Cannot ioctl TUNSETIFF tun: Operation not permitted (errno=1)
2025-02-05 18:38:24 Exiting due to fatal error

То есть нет пермишнов )) . Если запустить файл так - sudo ./connect_vpn.sh , то впн нормально запускается и нормально работает.

Может кому-нибудь сразу очевидно, что я делаю не так? Или может нельзя сделать такое для openvpn ?

 , ,

riptor
()

[Solved] Не получается запустить java из udev rule (Failed to mark memory page as executable - check if grsecurity/PaX is enabled)

Всем привет!

Операционная система - ubuntu 22.04

Я пытаюсь запускать код на java после того, как в системе появилось блочное устройство. Для этого я сделал правило

83-block-device-added.rules

ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_UUID}=="systemuuid", RUN{program}+="/home/riptor/test.sh"

файл test.sh запускается, вот его содержимое

#!/bin/sh
echo "running rule\n" >> /home/riptor/test-log.txt
java -version >> /home/riptor/test-log.txt

Файл test-log.txt создаётся и вот что туда попадает

running rule

Error occurred during initialization of VM
Failed to mark memory page as executable - check if grsecurity/PaX is enabled

При этом, если запустить /home/riptor/test.sh , всё работает нормально, проблем с джавой нет.

Пробовал paxctl -m java - не помогает

Вообще не уверен, что у меня там есть pax . sysctl -w kernel.pax.softmode=1 выдаёт sysctl: cannot stat /proc/sys/kernel/pax/softmode: No such file or directory

Может кто-нибудь подскажет куда копать?

 , ,

riptor
()

Сколько места отвести под swap если памяти много

При установке нужно выбрать размер swap раздела.

В интернете рекомендуют умножить количество RAM на два и таким образом понять сколько места нужно под swap.

А у меня 128GB оперативной памяти. Долго жил с 8GB и в конце концов психанул и вставил максимум, который позволяет система.

И теперь получается, что на SSD размером в один терабайт нужно 256GB выделить только под свап. Который неизвестно, будет ли вообще использоваться в таких условиях ))

Может совсем отказаться от свапа? Или возникнут какие-то проблемы?

Я подумал, наверное гибернацию не получится сделать, если свапа не будет. Но, может под гибернацию хватит 64гига хотя бы? Может линукс сумеет не сохранять пустые куски оперативки?

 , ,

riptor
()

RSS подписка на новые темы