LINUX.ORG.RU

неполадки su

 


0

0
# cat test
#!/bin/bash
su - user -c "bash -c \"$@\""
# ./test ls -l
su: invalid option -- '"'

зарепортите, у кого есть аккаунт на гитхабе.

Есть ли альтернативные варианты su?

★★★★★

Ответ на: комментарий от anonymous
su - user -c bash --init-file /etc/profile -c "$@"
...
su: unrecognized option '--init-file'
teod0r ★★★★★
() автор топика

Вместо двойных кавычек проставь одинарные:

su - user -c 'bash -c \"$@\"'
Radjah ★★★★★
()

Есть ли альтернативные варианты su?

sudo — топ за свои деньги.

anonymous
()
-c "bash -c \"$@\""

У Вас $@ раскрывается в несколько аргументов, а su -c принимает только один. Передать $@ без потерь таким образом нельзя.

anonymous
()
Ответ на: комментарий от anonymous

а su -c принимает только один.

ну что за идеотизм? почему? а если надо? патчить? вот я и спрашивал, есть ли su от других рахработчиков?

teod0r ★★★★★
() автор топика
Ответ на: комментарий от arrecck

а скрипту как аргументы передавать? через временный файл? наверное, лучше через экспортированный массив. всё-равно чушь какая-то. чё они нормально то не сделали? у меня сейчас su из пакета shadow. обнаружил, что оно ещё есть в utul-linux. там тоже такая ерунда?

teod0r ★★★★★
() автор топика

Только что обнаружил в man su абзац о том, что su сделано в первую очередь для юзеров, желающих перелогиниться в рута, а если рут хочет понизить привилегии до юзера то для этого если runuser и setpriv.

Насчёт того что у su странный синтаксис согласен, но подозреваю что надо его как-то по-другому вызывать.

firkax ★★★★★
()
Ответ на: комментарий от firkax

пишут, что runuser может запускать только рут. не подходит. setpriv хочет libcap-ng. для coreutils нужен libcap. можно ли как-то собрать coreutils с libcap-ng? если пропатчить libcap-ng и переименовать libcap-ng.so в libcap.so, будет работать?

есть ли ещё какие-то варианты su?

teod0r ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.