@spblug

Страница 989 из 1075
Phil
03.03.2017
08:46:11
Слушайте, а помните как в бэкграунде запустить процесс в RT-11FB?

Белая Стрекоза
03.03.2017
08:47:06
Google
Белая Стрекоза
03.03.2017
08:47:30
(но при этом ты не аркаша (странно))

гном3 просто может быть как гном2
на момент его выхода - не мог. я помаялся с недели две и перестал

Phil
03.03.2017
08:48:58
у тебя есть живая pdp?
У меня есть кстати живой ДВК2. Я хз кто такой Аркаша

Белая Стрекоза
03.03.2017
08:49:08
аркеной, очевидно

(протозой) (в чорном плаще)

Phil
03.03.2017
08:49:47
Да я хз кому очевидно. Я знаю как выглядит наш болгарский друг

Alexey
03.03.2017
08:49:48
это wm, а не dm
не путай DM с DE

Phil
03.03.2017
08:50:29
Хм... так про PDP-11 оказывается можно поговорить в мордакниге... о как

Andrey
03.03.2017
08:53:26
не путай DM с DE
описался. имел ввиду de конечно

Белая Стрекоза
03.03.2017
08:55:28
/me чот понимает что вообще забыл все эти MCR [1,54] RMD BRU и прочая

Phil
03.03.2017
09:38:00
Вопрос на засыпку. Хочу ls -l сделать через su, чтобы ls был от пользователя vasya. А вот теперь усложнение - хочу запускать программно через массив аргументов, не ебя мозг всяким эскейпингом

Белая Стрекоза
03.03.2017
09:38:40
очевидно perl

Phil
03.03.2017
09:38:40
И вот гдето здесь я даже в sudo переметнулся

Google
Phil
03.03.2017
09:38:56
очевидно perl
что перл?

очевидно perl
а. как программно запустить я знаю. мне строку не составить

´su vasya -c ls -l´ дает немного не тот эффект

Белая Стрекоза
03.03.2017
09:40:42
ну когда я слышу слово "эскейпинг" у меня автоматически срабатывает рефлекс вида "нахерачь однострочник на перле"

Vartan
03.03.2017
09:41:21
su vasya -c 'ls -l'

?

если программно, можешь сделать fork/exec и передать всю строку одним аргументом

Phil
03.03.2017
09:43:10
su vasya -c 'ls -l'
о! и вот тут вступает пункт с "хочу массивом аргументов, чтобы не мучаться с эскейпингом" . например это может быть чтото с паролем, который я даже не хочу знать какой и есть ли там переносы строк и точки с запятыми

нет, хочу все отдельными аргументами

Vartan
03.03.2017
09:44:04
ты хочешь странного.

Белая Стрекоза
03.03.2017
09:44:18
и для этого прекрасно подходит perl

Dan
03.03.2017
09:44:50
perl/python/go

Но не баш

Чтобы не мучиться с эскейпингом

Белая Стрекоза
03.03.2017
09:49:12
Чтобы не мучиться с эскейпингом
вот ты правильно уловил посыл, да

Dan
03.03.2017
09:50:11
Это влияние Чистякова. Баш в целом это неплохо, но не панацея, и строить странные вещи лучше на более низком уровне

Phil
03.03.2017
09:56:23
так. я полность все описал чтобы намекнуть, что я не хочу суид делать сам. задача сводится к как сделать ´sh -c ls -l´

Vartan
03.03.2017
09:57:02
Я уже объяснил. Форкнуть и exec'нуть там su с argv[1]='-c', argv[2]='вся команда'

Phil
03.03.2017
09:59:37
а я уже объяснил, что я не хочу думать об эскейпинге всей команды

Vartan
03.03.2017
09:59:49
зачем?

Google
Vartan
03.03.2017
09:59:58
это же не шелл

он ничего там делать не будет

Phil
03.03.2017
10:00:21
не хочу проверять входящие данные. пусть будут какие пришли

su? да нет, он шелл запускает

Vartan
03.03.2017
10:01:15
слушайте, я один не понимаю, чего Филу надо?

pl
03.03.2017
10:01:24
Нет

Vartan
03.03.2017
10:01:28
нет

не запускает

и об этом написано в мане

pl
03.03.2017
10:01:53
Вроде setuid и exec ему хватит

Phil
03.03.2017
10:07:36
и об этом написано в мане
в мане написано, что он без вариантов запускает логин шелл. вот этот -c это аргумент к нему

pl
03.03.2017
10:10:41
и об этом написано в мане
# strace -e trace=process -f su baduser ls execve("/bin/su", ["su", "baduser", "ls"], [/* 22 vars */]) = 0 arch_prctl(ARCH_SET_FS, 0x7f880be22740) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f880be22a10) = 10752 Process 10752 attached [pid 10751] wait4(-1, <unfinished ...> [pid 10752] execve("/bin/bash", ["bash", "ls"], [/* 22 vars */]) = 0

Dan
03.03.2017
10:10:45
я тоже не понимаю зачем именно так надо

Vartan
03.03.2017
10:10:57
Пардон

Ошибся

Phil
03.03.2017
10:13:26
я строку не хочу сосиавлять. там в реальной задаче пароль участвует и я не хочу его эскейпить

Vartan
03.03.2017
10:13:53
Пароль. В аргументах.

Okay.

Phil
03.03.2017
10:14:29
нет проблемы пароля в аргументах

Vartan
03.03.2017
10:14:57
И то, что эти аргументы можно тысячей способов посмотреть снаружи?

Google
pl
03.03.2017
10:15:29
какой еще тысячей?

Denis
03.03.2017
10:15:30
это если на сервак зайти можно

Vartan
03.03.2017
10:16:16
какой еще тысячей?
ps'ом. Через procfs

pl
03.03.2017
10:16:26
Vartan
03.03.2017
10:18:00
-o hidepid
Это для меня уже слишком модно

3.2 :)

Admin
ERROR: S client not available

Phil
03.03.2017
10:18:32
ps'ом. Через procfs
в 2017 году ты не запрещаешь это?

3.2 :)
а, это же ваш птицукс. но до 3.2 был простой патчик

Vartan
03.03.2017
10:21:00
в 2017 году ты не запрещаешь это?
Я в 2017 году занимаюсь написанием нормативных актов по закону Яровой, и имею полное право быть деревянным во всю башку!

Линукс там

Запретить и все.

Phil
03.03.2017
10:21:57
Хотя если я строку составляю в шелле, то он сам заэскейпится, а в других языках есть всякие либы с названием типа shlex, но я туповат, путаюсь и забываю. хотел бы более топорно

Vartan
03.03.2017
10:23:07
Да сделай ты уже suid сам :)

Phil
03.03.2017
10:23:54
тут надо отметить, что если я просто забываю, то судя по софту с гитхаба, многие и е думают )

Да сделай ты уже suid сам :)
да я просто через sudo заускаю

-o hidepid
кстати, а сайд эффектов от этого нет?

pl
03.03.2017
10:28:57
каких?

Dan
03.03.2017
10:30:21
каких?
кстати спасибо, не знал про hidepid

Google
Phil
03.03.2017
10:33:32
каких?
хз. я линукс в шареде пока не.

Alexey
03.03.2017
11:13:34
@schors, в целом можно и bash'ем обойтись, главное понять как и куда ты потом будешь передавать этот свой замысловатый пароль. Надо понимать что любая переменная без проблем переживает подстановку в один shell. Если shell потом ещё вызывает другой shell то это проблема и надо писать функцию эскейпинга, но можно попытаться и без этого обойтись, если ситуация позволит. root@alex:~# cat /tmp/passwd Super! " 'Strange passwor d ''@#! & root@alex:~# su alukardd -s /bin/bash -c 'echo -e "set password for alukardd = $(< /tmp/passwd)" > /tmp/file' root@alex:~# cat /tmp/file set password for alukardd = Super! " 'Strange passwor d ''@#! & Как видишь работает. Но прошу заметить что я записал говнопароль в файл и прочитал его уже из вложенного shell'а, что бы избежать двойного раскрытия переменной.

Белая Стрекоза
03.03.2017
11:24:30
Dan
03.03.2017
12:42:32
@tokarevd ты линуксоид?

Jade
03.03.2017
12:43:09
@tokarevd ты линуксоид?
мне кажется, тут про ислам было принято спрашивать

Dan
03.03.2017
12:43:18
ах да, точно

бот же спамерский пришёл ?

Phil
03.03.2017
12:45:02
@tokarevd , ты исламист?

Goletsa
03.03.2017
12:45:43
IS-IS, EIGRP и другие страшные буквы

Денис
03.03.2017
12:52:04
Иншалла, конечно же

Нуачо

Dan
03.03.2017
12:54:45
Нуачо
порекламируй давай уже сообщество VR разработчиков, и будь спокойно забанен ?

или что там сейчас олег линок продвигает опять?

Денис
03.03.2017
13:07:06
Эээ

Dan
03.03.2017
13:08:00
Не стесняйся

Phil
03.03.2017
13:17:54
Там сейчас в наговском чатике опять бой про IPv6 да?

Vartan
03.03.2017
13:36:32
Нет

Denis
03.03.2017
13:54:11


Dan
03.03.2017
13:56:16
Ctrl-R придумали же давно

Страница 989 из 1075