April 2032
|
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
|
1/9/07 01:24 pm
весёлая викторина по UNIX/Linux
Устроить что ли весёлую викторину? Три вопроса по UNIX/Linux, ответы скринятся, скажем, до завтра.
Update: викторина закрыта, комменты раскрыты, пост о победителях и правильных ответах будет завтра.
1. Есть две программы -- одна пишет что-то в файл, вторая читает из файла. Обе требуют один обязательный аргумент -- имя файла. Как запустить их так, чтобы вторая программа читала то, что пишет первая, но при этом не создавать временный файл?
2. Рассеянный сисадмин сделал chmod a-x /bin/chmod. Как ему исправить ситуацию на автономном компьютере без внешних носителей, не пиша, к примеру, программы на С, не перегружаясь и т.п.
3. Есть файл с правами 060 (---rw----), принадлежащий пользователю kir и группе users. При каких условиях kir может прочитать файл (не меняя его прав, принадлежности и т.п.)?
1/9/07, 06:38 am
1. - 2. cp -a /bin/cp /tmp/chmod; cat /bin/chmod > /tmp/chmod; /tmp/chmod +x /bin/chmod 3. id -G -n | grep users > /dev/null && echo сможет прочитать -- так пойдет? :)
1/9/07, 05:44 pm
2 правильно.
3 неправильно.
1/9/07, 05:48 pm
вообще на первый вопрос тоже был ответ - использовать '-' в качестве имени файла
1/9/07, 06:18 pm
Неправильно.
#!/bin/bash
echo «lalalala» > $1
Вышеприведённая программа — в качестве имени файла не скушает, а создаст файл с именем «-». Вообще, использование — как имени файла реализуется в прогах как специальный случай, то есть не везде реализовано.
1/9/07, 07:05 am
2. cp /bin/chmod /tmp/chmod; rm /bin/chmod; cp /bin/ls /bin/chmod; cat /tmp/chmod > /bin/chmod муторно но можно.
1/9/07, 07:22 am
1. ./writer /dev/stdout (или /dev/fd/1) | ./reader /dev/stdin (или /dev/fd/0). А вообще mkfifo(1) наверное лучше всего (хотя можно придраться, что временный файл).
2. mv /bin/chmod /tmp && cp /bin/foo /bin/chmod && cat /tmp/chmod > /bin/chmod && rm /tmp/chmod, где /bin/foo – любой бинарник (с +x).
3. Имхо все же ни при каких. Разве что запустит какую-нить suid'ную прогу. Или это наебка, и файл in question на самом деле symlink. ;-)
1/9/07, 05:48 pm
1, 2 правильно, к mkfifo придерусь :)
3. если kir имеет UID=0
1/10/07, 03:29 am
2. я б использовал install
а вот про 3 и UID==0, стыдно сказать, не догадался. позор.
1/9/07, 07:26 am
1. a | b 2. attr ? 3. Если kir входит в групу users
1/9/07, 05:49 pm
1 неправильно. читаем условие внимательно — «требуют один обязательный аргумент — имя файла»
2 attr тут никак не поможет
3 kir'у принадлежность к группе не поможет, увы.
1/9/07, 07:33 am
1. prog1 /dev/stdout | prog2 /dev/stdin 2. /lib/ld.so /bin/chmod ... 3. при условии что он в группе users
а вы с какой целью интересуетесь? =)
1/9/07, 05:50 pm
1, 2 правильно, 3 нет
Интересуюсь, ибо весёлая викторина
1/10/07, 03:47 am
отвечал особо не думая. после думания: 1 неправильно, если программы сами со stdin/stdout что-то делают 2 неправильно, если /bin/chmod статикой собран над 3 просто вообще не думал =) ответ с acl не нравится, потому что в условиях про acl ничего не было сказано, с uid=0 не нравится, потому что слишком очевидно.
1/9/07, 07:49 am
1. ./write.bin /dev/stdout > /dev/stdout | ./read.bin /dev/stdin
1/9/07, 07:52 am
1. В bash'е можно так: dd if=/dev/zero count=1 of=>(cat -v /dev/stdin)
2. вариант 1: /lib/ld-linux.so.2 /bin/chmod +x /bin/chmod 2. вариант 2, менее "спортивный": mc, потом [C-x] [C-c] при курсоре @ /bin/chmod
3. ээээ. Ещё подумаю. :)
1/9/07, 05:54 pm
1 приз за самый оригинальный и при этом правильный ответ на вопрос №1 :)
2.1. правильно, но линукс-специфично 2.2. действительно, неспортивно
1/9/07, 06:10 pm
Буду спорить! У меня оригинальнее :)
1/9/07, 06:54 pm
Ну, у вас же примерно одно и тоже :))
1/10/07, 03:25 am
Я просто 2-а подхода в одном примере показал.
:-)
1/9/07, 07:55 am
1. named pipe? Или первой сказать чтоб писала в stdout, вторая читала из stdin и запустить их через |
2. Chat session at Mon Jul 24 10:24:33 MSD 2006 10:24:33 I say: http://bash.org.ru/quote.php?num=30302 А как, кстати? :-) 11:21:25 bacek says: sudo su - 11:21:39 bacek says: а потом собрать chmod из сырцов 11:26:15 I say: А он собранный сразу будет иметь +x? ;-) 11:40:28 bacek says: угу
3. Если у kir UID=0 ;-)
1/9/07, 05:57 pm
1. Как им сказать, "чтоб писала в stdout, вторая читала из stdin"? Напоминаю условие — они ожидают обязательного аргумента, имя файла.
2. Приз бацеку за самый прикольный ответ на вопрос №2 :)
3. Приз удаву за первый правильный ответ на вопрос №3 :)
1/10/07, 05:28 am
И где я могу получить свой приз?
:)
1/10/07, 07:23 am
А разве 2. в таком случае (сборка программы) удовлетворяет условию? :)
1/10/07, 10:08 am
Да, в общем, не удовлетворяет, ибо сорцов на системе в общем случае ожидать не приходится, ну и я написал, что система автономная, внешние носители подключить нельзя.
Но ответ достаточно прикольный :)
1/9/07, 08:03 am
1. mkfifo file; echo 'blah!' >file & cat file 2. /lib/ld.so /bin/chmod a+x /bin/chmod или install -m 755 /bin/chmod ~/bin/chmod && ~/bin/chmod a+x /bin/chmod 3. Пока не придумал :)
1/9/07, 05:59 pm
1 Named pipe — это всё-таки временный файл, пусть и специальный, так что по условиям задачи не прокатывает.
2 правильно :)
1/9/07, 08:18 am
1. файл создать как FIFO 2. perl -e 'chmod 755 "/bin/chmod"' 3. kir не может прочитать
1/9/07, 06:00 pm
1 Named pipe — это всё-таки временный файл, пусть и специальный, так что по условиям задачи не прокатывает.
2 тоже правильно :)
3 может, если его UID==0 :)
1/9/07, 08:36 am
1. mkfifo тут поможет. Я ими во всю пользуюсь, но не всем это нравится 2. Не знаю 3. Наверное если kir входит в группу users
1/9/07, 06:00 pm
1 Named pipe — это всё-таки временный файл, пусть и специальный, так что по условиям задачи не прокатывает.
3 Прикинь, его это не спасёт. Если не веришь — проверь :)
1/10/07, 11:15 am
проверял :-)
действительно не спасает. С UID==0 оно конечно все возможно, вообще все.., а вариант с использованием юзером kir su/sudo другого UID принадлежащего к группе users не катит?
1/9/07, 08:39 am
1. Использовать FIFO-каналы, созданные при помощи mkfifo(1). Это не вполне удовлетворяет условию "не создавать временный файл", т.к. в файловой системе созданный канал будет присутствовать, но тем не менее, кажется, это самый простой вариант.
2. В голову приходят несколько решений: а. воспользоваться любой программой, умеющей дёргать системный вызов chmod(2): i. mc(1). ii. perl(1): perl -e 'chmod 0755, "/bin/chmod"; ' b. переставить пакет coreutils (или как там это может называться в различных системах).
3. kir не может прочитать этот файл, за исключением случая, когда UID пользователя kir равен 0.
1/9/07, 06:02 pm
1 правильно — это не вполне удовлетворяет условию задачи
2 правильно
3 правильно!
Приз как первому, правильно и точно ответившему на все три вопроса.
1/9/07, 10:15 pm
Кстати, хочется отметить, что популярный вариант ответа на вопрос 1 (с /dev/stdin и /dev/stdout) вовсе не факт, что сработает корректно, т.к. в условии не сказано, что помимо работы с файлами программы не используют стандартные потоки. Скажем, если запустить
#!/bin/sh echo "debug output" echo "result" > $1
с параметром /dev/stdout, читающий процесс получит некорректный ввод.
Впрочем, стоит признать, что мне вариант с /dev/stdin и /dev/stdout в голову не пришёл, хотя использую его часто с теми же uuencode(1) / uudecode(1) :)
1/10/07, 01:57 am
> Приз как первому, правильно и точно ответившему на все три вопроса.
беру свои слова обратно….погорячился чегой-то.
1/10/07, 02:27 am
> echo "debug output"
Тут можно отметить, что с одной стороны, как правило, "воспитанные" программы "debug output" делают в /dev/stderr, ну а с другой... этот вариант всё равно сработает правильно. Однако, даже если считать, что /dev/stdin читающая-файл-программа будет использовать для каких-то своих целей, ей точно так же можно "скормить" псевдофайл через другой поток -- используя <().
1/10/07, 04:58 am
Re: > echo "debug output"
Согласен. Честно скажу, не знал про <() и >() и прочитал сейчас этот момент в мане bash(1) с радостным удивлением :) Буду использовать, полезная фича.
1/10/07, 05:03 am
> с радостным удивлением :)
Ну "их там есть", да. :)
1/9/07, 08:57 am
2a: cp /bin/ls /bin/chmod1 ; cat /bin/chmod > /bin/chmod1 ; /bin/chmod1 a+x /bin/chmod
2b: (Linux) /lib/ld-linux.so.2 /bin/chmod a+x /bin/chmod
2c: cp /bin/chmod /bin/chmod1 ; install -m 755 /bin/chmod1 /bin/chmod
2d: perl -e 'chmod 0755, "/bin/chmod"'
2e: cp /bin/chmod /msdos/disk.c ; /msdos/disk.c/chmod a+x /bin/chmod (тут, видимо, надо перемонтировать /msdos/disk.c с соответствующими опциями.
2f: Midnight Commander
2g: Найти/написать исходник chmod и откомпилировать.
Кто больше? ;-)
(По первому вопросу: создать named pipe и подсунуть обеим программам. По третьему: не знаю, а разбираться сейчас неохота. Кажется, вовсе не может, даже если он в группе users).
1/9/07, 06:06 pm
1 named pipe — это всё-таки временный файл, поэтому не вполне удовлетворяет условию задачи
2 приз за наибольшее количество правильных ответов на вопрос №2!
Только «написать исходник chmod», скачать или принести на дискетке по условию задачи нельзя, а ожидать, что он окажется на компе, не стоит, поэтому 2g не засчитан.
3 предварительные выводы правильные (у большинства — нет), а правильный ответ — если у kir'a UID==0.
1/9/07, 09:12 am
3. Если пользователь kir имеет UID = 0
1/10/07, 01:58 am
Плюс приз как первому, правильно и точно ответившему на все три вопроса :)
1/10/07, 03:53 am
thx! Увлекательно, давай ещё.
1/9/07, 09:33 am
1. program1 -f - | program2 -f - 2. perl -e 'chmod(0755, "/bin/chmod");' 3. не знаю, по идее надо попытаться запустить cat либо от рута либо с uid отличным от kir и с gid равным users
1/9/07, 06:09 pm
1 неправильно. минус в качестве имени файла — это специальный случай, его далеко не все программы обрабатывают. К примеру, программа
#!/bin/sh
echo «lalala» > $1
его не поймёт ни разу. 2 правильно 3 вхождение в группу юзерс никак не поможет. правильный ответ — если у кира UID==1
1/10/07, 01:59 am
> если у кира UID==1 тьфу ты, то есть UID==0
1/9/07, 09:46 am
Пришел по сцылке danfe
1. $ program /dev/stdout | program /dev/stdin
2. # umask 000; cp /bin/chmod .; ./chmod 755 /bin/chmod
3. При условии что он суперпользователь или может попросить когонибудь из группы users (но не его самого) рассказать чо в файле :) Или если он не суперпользователь, но имеет право прямого доступа к устройству, в обход драйвера ФС. Короче нормальными средствами помоему никак, потому что во всех юниксах, для владельца файла действуют только его собственные права, даже если он входит в owner-group.
1/9/07, 06:12 pm
1 правильно
2 хмм…у меня не работает…
3 «При условии что он суперпользователь» — правильно. То есть если UID у пользователя kir равен 0. Остальное тоже правильно.
1/10/07, 04:17 am
2 это я прокосячил, да :))
1/9/07, 09:53 am
1. foo /dev/stdout | bar /dev/stdin
2. Если есть прога install, юзаем её. Если нет, ну, можно попробовать заменить содержимое какой-нибудь ненужной программы типа bash-bug (?), которая 755, чем-нибудь вроде dd.
3. Мой вариант — или всегда (склоняюсь к этому), или никогда. Впрочем, я не знаю, а проверять лень.
1/9/07, 06:13 pm
1 правильно
2 правильно, только ненужной программы не нужно — достаточно скопировать нужную, а вместо dd подойдёт и обычный cat.
3 неправильно. Правильный ответ — если UID у пользователя kir равен 0.
1/9/07, 06:22 pm
2. Ага, обрезание не сбрасывает атрибутов файла, согласен. И про копию — … :))
3. Удивительно; интересно узнать причину такого правила.
1/9/07, 06:53 pm
3 ну а что, ясно же нарисовано — юзера не пущать :) вот и не пущают. хотя, конечно, можно подискутировать, правильно ли это, если написано «группу пущать», а он в группе…но уж так исторически сложилось и, вероятно, где-то стандартизовано. просто мало кто знает.
1/9/07, 06:57 pm
Ну это как раз нормально, более специфичное объявление всегда должно перекрывать общее.
1/10/07, 11:33 am
не факт
все зависит от того как ACL реализованы, в NTFS например если нет явного запрета, и юзер входит в группу, то у него будут права на файл, даже если их явно отключить (но не ставить запрет). Но тут именно ACL, а не простые атрибуты файла (с POSIX ACL не разбирался, так что не скажу как это работает..), хотя и реализованы как дополнительные атрибуты.
1/9/07, 10:33 am
1. mkfifo /tmp/1 wrprog /tmp/1 & rdprog /tmp/1 &
2. a) mc b) mkisofs -J -o /bin ./1.iso mkdir /mnt/misc mount -t iso9660 -o loop ./1.iso /mnt/misc /mnt/misc/chmod a+x /bin/chmod c) dd if=/dev/zero of=./1.iso bs=512 count=1000 mkfs.vfat -F12 ./1.iso mount -t vfat -o loop ./1.iso /mnt/misc cp /bin/chmod /mnt/misc/ /mnt/misc/chmod a+x /bin/chmod d) /lib/ld-2.3.6.so /bin/chmod -- a+x /bin/chmod
3. a) kir is a users member b) chmod u+r /tmp/1
1/9/07, 06:15 pm
1 всё-таки named pipe — это файл, пусть и специальный, а создание файла не удовлетворяет условиям задачи.
2 правильно
3 а) неправильно б) противоречит условиям задачи.
1/9/07, 11:22 am
1. foo - | bar -
2. # mv /bin/chmod /bin/chmod.bak # cp /bin/cat /bin/chmod # cat /bin/chmod.bak > /bin/chmod
3. Надо полагать, если будет исполняться процесс, у которого EUID будет отличаться от kir, но группа останется users.
1/9/07, 06:23 pm
1 неправильно.
#!/bin/bash
echo «lalalala» > $1 Вышеприведённая программа — в качестве имени файла не скушает, а создаст файл с именем «-». Вообще, использование — как имени файла реализуется в прогах как специальный случай, то есть не везде реализовано.читаем условие задачи внимательно: «требуют один обязательный аргумент — имя файла» 2 правильно. 3 в принципе правильно, но вопрос был «в каком случае пользователь kir сможет прочитать файл». Если ответ «если он запустит setuid'ный бинарь», то это тривиальный ответ, поэтому незачёт. Правильный ответ — если у кира UID==0.
1/9/07, 09:40 pm
в условии 3 не говорилось, что юзер kir состоит в группе users
1/10/07, 01:28 am
> в условии 3 не говорилось, что юзер kir состоит в группе users
А это ничего не меняет.
1/10/07, 01:46 am
Странно - я это в ответ на другой комментарий писал, кажись.
1/10/07, 02:02 am
Что-то в ЖЖ неладное творится :-\
1/9/07, 11:38 am
1. program1 | program2
2. mv /bin/chmod /bin/chmod_old; cp -a /bin/ls /bin/chmod; cat /bin/chmod_old > /bin/chmod Изврат конечно, но работает :) Вместо ls можно взять любой другой бинарь с правами +x :)
3. Странно. Думал, что владельцу файла будет к нему доступ, потому что он в группе, у которой есть доступ. Оказалось, нифига подобного... Всем другим участникам группы доступ к файлу есть.
1/9/07, 06:20 pm
1 неправильно. читаем условие задачи внимательно: «требуют один обязательный аргумент — имя файла»
2 правильно.
3 доступ будет только, если UID==0 у пользователя kir.
1/9/07, 02:20 pm
1. mkfifo ?
Остальное что-то в голову не приходит :(
1/9/07, 06:24 pm
1 противоречит ограничению в условиях задачи — не создавать временных файлов.
1/10/07, 01:25 am
Кстати 3 про рута мне показалось как-то больно простым ответом ;)
1/9/07, 03:23 pm
1. out_program /dev/stdout | in_program /dev/stdin или использовать заранее созданный "лишний" fifo :-)
2. /lib/ld-linux.so chmod +x chmod, /usr/bin/install -m 755, mc, perl -e "chmod 0755, 'chmod'", rpm -i /var/rpm-cache/coreutils.x86_64.rpm
3. не могу сообразить. Ну, hard link если есть с другими правами. Может потом что придумается
1/9/07, 07:35 pm
1 правильно
2 правильно
3 если UID==0 у кира.
1/9/07, 03:27 pm
3. Ну, еще всякие nfs/mount варианты с remapом uid.
.
1/9/07, 07:35 pm
Re: add on
это мы на второй тур оставим :)
1/9/07, 03:47 pm
- использовать в качестве имени файла - и соединить их в pipe:
prg1 - | prg2 -
- в ядре 2.4 -
ld /bin/chmod a+x /bin/chmod в общем случае - cp -p /bin/ls /bin/chmod~ ; cat /bin/chmod > /bin/chmod~ ; /bin/chmod~ a+x /bin/chmod
- если geteuid() == 0 || у файла есть ACL, дающий kir доступ || если файл был открыт до смены прав доступа - через /proc
Спасибо
1/9/07, 06:41 pm
1 неправильно, ибо "-" в качестве имени файла далеко не во всех программах работает, см. выше.
2 правильно
3 правильно, и это, пожалуй, приз за наибольшее количество вариантов ответа на вопрос №3!
1/9/07, 04:15 pm
А, дошло. 3. CAP_DAC_OVERRIDE
1/9/07, 05:00 pm
1.
prog1 /dev/stdout | prog2 /dev/stdin Работает только если prog[12] ничего не делают с stdin/out, /dev/std* смотрят куда надо и т.п.
2. Каким-либо образом позвать chmod(2): запустить-таки /bin/chmod (/lib/ld-linux.so /bin/chmod a+x /bin/chmod ); скопировать содержимое /bin/chmod в файл с атрибутом x (cp /bin/чтонить /tmp/newchmod ; cat /bin/chmod >/tmp/newchmod ; /tmp/newchmod a+x /bin/chmod ); запустить нечто, что само умеет chmod (a la busybox chmod a+x /bin/chmod ) и т.п. Или попытаться напрямую поменять атрибуты (вроде бы debugfs и ему подобные это умеют).
По №3 не очень понятно, что должно быть в ответе. Команда, которая распечатает содержимое файла?
1/9/07, 06:42 pm
1, 2 правильно
3 в ответе должно быть описано, при каком условии kir сможет прочитать файл.
1/10/07, 04:24 am
Сбивает с толку фраза "пользователь kir", которая почему-то оставляет в мозгу "его UID!=0". ;)
1/9/07, 05:06 pm
1. /dev/fd/N
2. cp /bin/true xxx cat /bin/chmod > xxx ./xxx 755 /bin/chmod
3. Not sure about that, but what if kir belongs to users? Should be easy.
1/9/07, 06:30 pm
1 right
2 right
3 whoops…if kir belongs to users that doesn't help. the only thing that helps is if kir's UID==0.
1/9/07, 05:10 pm
1. foobar /dev/stdout | bazbaz /dev/stdin? Ну или вариант с /dev/fd/.
2. /lib/ld-linux.so.2
3. попытаюсь уточнить. эквивалентен ли вопрос следующему: "при каких условиях процесс с UID и EUID kir успешно выполнить open(2) или mmap(2) на вышеупомянутый файл"?
1/9/07, 06:30 pm
1 правильно
2 правильно
3 в общем, да :)
1/9/07, 05:52 pm
1. named FIFO pipe 2. /lib/ld-linux.so.2 chmod a+x /bin/chmod 3. запустить SUID-ную читалку от кого-нибудь из группы users
1/9/07, 06:34 pm
1 противоречит ограничению в условии задачи — не создавать временных файлов. named pipe — это файл, пусть и специальный.
2 правильно
3 пожалуй, случай запуска суидных читалок мы не будет засчитывать как правильный ответ, ибо в общем случае таковых читалок на системе нет (а если есть — это не вполне секьюрная система). правильный ответ куда проще — если UID==0 у кира.
1/9/07, 09:42 pm
Спасибо за развлечение. Всё-таки про права пришлось прочитать как они работают.
1/9/07, 09:46 pm
3 в общем случае uid=0 только у юзера root
1/10/07, 01:29 am
В общем, да, но ничто не мешает тебе сделать пользователя kir с UID==0.
1/10/07, 01:47 am
это я в ответ на "ибо в _общем случае_ таковых читалок на системе нет (а если есть — это не вполне секьюрная система)"
1/10/07, 02:18 am
Вопрос был — «при каких условиях kir может прочитать». Впрочем, да, ОК, вариант «при условии наличии суидной читалки» можно засчитать, ты прав. Это моя проблема, что я не указал, что варианты с запуском suidных программ считаем тривиальными.
1/10/07, 11:44 am
ну и
система содержащая более одного юзера с UID==0 тоже может быть отнесена к не вполне секьюрная система, а переименовывать юзера root как-то нехотца.. хотя венда вполне себе живет с локальным админом нестандартного имени, даже рекоендуют для увеличения секурити..
1/10/07, 12:08 pm
*BSD
В *bsd системах by default 2 пользователя с uid==0: root и toor
1/10/07, 02:54 am
Во freebsd еще по-умолчанию есть toor.
1/10/07, 05:33 am
На моей рабочей машине uid=0 не проканает (в общем случае). Ибо, например, /home на nfs со всеми вытекающими.
1/9/07, 06:03 pm
1) Bash-изм подойдет?
reader <( writer >(cat) )
2)ldd /bin/chmod +x /bin/chmod
3)kir принадлежит группе users :)
1/9/07, 06:45 pm
1, 2 правильно
3 фига с два :) не поможет это ему
1/10/07, 02:32 am
> 1, 2 правильно
Не, только не ldd: "... ldd - print shared library dependencies ..."
1/9/07, 06:10 pm
1 и 3 сам бы не догадался, а ответы уже описаны выше.
2. а сделать хард-линк на /bin/chmod и выдать ему соответствующие права — сработает?
1/9/07, 06:46 pm
2 а как file mode-то на хардлинке менять?
1/10/07, 03:36 am
Да тут даже и не в этом дело. Permissions это атрибуты inode, ...
... в конечном счёте.
1/9/07, 06:35 pm
мне тут товарищи сказали, что, пока я тупила, каменты уже появились:), но я их не читала (как открыла пост около 23:00 по мск, так и не перегружала), так что можно я ляпну.. только сразу оговорюсь - я ламо и мне помогали.
1. не поняла задачи. program-to-write file & program-to-read file. что не так?
2. не столько давно поимела дело близко с этими штуками, ловя багу - так что самым простым путем вижу /lib/ld-linux.so.2 /bin/chmod a+x /bin/chmod. я лох?:) впрочем, кажется, это системозависимое. т.е. под линуксом прокатит, а под какой-нть фрей (которую я ни раза в жизни в глаза не видела:)) - наверное, не факт..
3. мне кажется, что ни при каких.
повторюсь - не бейте лоха ногами, пожалуйста:) я не столь много имею дела именно непосредственно с системой, хоть и сижу по 8 часов 5 дней в неделю в консоли.
1/9/07, 06:48 pm
1. надо, чтобы одна программа писала, а другая это в то же время читала то, что первая пишет, но файла при этом чтобы не создавать. вариант a|b не подходит, потому что и а и b требуют имени файла в качестве аргумента.
2. правильно
3. неправильно. если UID==0 у кира, то он прочитает :)
PS а где вы работаете, если не секрет?
1/9/07, 07:03 pm
1. угу. уже уловила. пардон. 2. уфф..:))) но метод, предложенный большинством - с использованием другого бинарника - намного более изящен. насладилась:) 3. блин. это выглядит каким-то очевидным читом:) но при этом в голову приходит почему-то в последнюю очередь.
http://northernlight.com/. мое занятие громко называется product engineering. ловля багов и много перла, если чуть проще:)
p.s. нет, перла я при этом не знаю. имхо:)
1/9/07, 07:43 pm
search engine? забавно. я когда-то делал ASPseek…
PS будем друЖЖить? :)
1/9/07, 08:05 pm
на ASPseek глянула сегодня краем глаза. чот сама уж и не помню, как попала. с хоумпейджа в юзеринфе, кажется:) завтра гляну поближе. любопытно.
будем. тока полчаса назад написала у себя в жж, что наткнулась на человека, кот. не знаю лично, но при этом хочу зафрендить (обычно я френдю? френжу? вношу в фл, в общем:) только знакомых лично/хорошо знакомых по Сети людей), это совсем не стандартный для меня сценарий. впрочем, исключения разнообразят жизнь:) в общем, done.
1/9/07, 08:18 pm
на ASPseek глянула сегодня краем глаза Уже сейчас неинтересно, наверное — есть более другие open source search engines. Увы, не занимаюсь я им и даже не поддерживаю. А хороший был проект, перспективный (казалось бы). Но как-то вот не срослось, и знамя, выпавшее из моей руки, никто не подхватил :(
1/10/07, 05:35 am
погуглила в темпе вальса, наткнулась на пару десятков. будет досуг - поизучаю любопытства ради.
вообще, у меня есть подозрение, что в области search engines счас особо ничего не накопаешь. по крайней мере, в области публичных SE. бесплатных, в смысле. там давно уже всех зарулил гугл (в рунете - яндекс), а остальные ex-гиганты вяло пытаются дергаться, просто чтобы совсем уж не помереть. а вот кастомные коммерческие поисковики по специфическому и публично недоступному контенту - это даа.. это тема. собственно, как раз наша тема и есть:)
1/9/07, 06:59 pm
1. использовать named pipes 2. скопировать его на место любого исполняемого файла - это сохранит permissions файла в который копируешь и, следовательно можно будет использовать новый файл как программу (я до этого долго допирал) 3. так и не допер. все что приходит в голову, это su в другого юзера, который состоит в группе users?
1/9/07, 07:00 pm
там уже комменты открыты — почитай.
(что-то мне подсказывает, что я рано их открыл — народ так и прёт, так и прёт :))
1/9/07, 09:52 pm
Я, однозначно, не шаман хотя могу оправдаться что в первом вопросе сразу подумал почему файл не надо создавать и поэтому в голову не пришло, что файл с нулевой длинной, тоже файл, а в последнем не понял вопроса, видимо, забыв русский язык, а может быть привыкнув к практическим постановкам задач и недостаточно абстрагировавшись - искал долго.
Про второй вопрос, первый раз узнал, что ld.so, это executable и что он просто запускает другие программы. Хотя с общетеоретической точки зрения этот вариант подходит только в тех юниксах где есть ld.so
1/10/07, 02:46 am
> первый раз узнал, что ld.so, это executable
Тогда, может быть, новостью будет и то, что на многих Linux-системах можно запустить этот файл: /lib/libc.so.6 -- попробуй!
1/10/07, 01:19 pm
Re: > первый раз узнал, что ld.so, это executable
Ну, если он executable, то его можно запустить - не виду дополнительной новости.
1/11/07, 02:25 am
Re: Broken logic, Inc.
Я так и не понял, у кого с логикой проблемы и в чем именно?
1/10/07, 01:21 pm
Re: > первый раз узнал, что ld.so, это executable
Кстати, а нафига библиотеки делают executable? В чем прикол?
1/10/07, 04:36 am
> Хотя с общетеоретической точки зрения этот вариант подходит только в тех юниксах где есть ld.so
Только в линуксах, сколь я понимаю.
marck@woozle:~> ls -ld /libexec/ld-elf.so.1
-r-xr-xr-x 1 root wheel 170928 Nov 21 10:59 /libexec/ld-elf.so.1*
marck@woozle:~> /libexec/ld-elf.so.1
/libexec/ld-elf.so.1: Exec format error. Binary file not executable.
marck@woozle:~> uname -a
FreeBSD woozle.rinet.ru 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE [...] i386
1/11/07, 02:28 am
так зачем их делают executable?
|