gns_ua: (Default)
Я шел по глубокому логу. Ночь, бесконечные пространства, далекие темные деревни. (А. Платонов)
gns_ua: (Default)
Only the root user can perform a chroot. This is intended to prevent users from putting a setuid program inside a specially crafted chroot jail (for example, with a fake /etc/passwd and /etc/shadow file) that would fool it into a privilege escalation.

И каким же это образом юзер может создать setuid root program в своём уютненьком чрутике? Даже если не монтировать /home и /tmp с nosuid ?
gns_ua: (russe)
Один хинт: http://forums.gentoo.org/viewtopic-p-3549130.html?sid=d9fe07c1df4a053d4decae892e5aed17

Но что-то не так. Что же? Вот второй хинт: http://linux.derkeiler.com/Newsgroups/alt.os.linux/2006-02/msg00328.html

Вдумчивое чтение и ряд экспериментов, которые описывать слишком долго, привели меня к мысли, что вызванный таром info-script должен сделать две вещи для продолжения: закрыть пятый дескриптор (в нём то, куда тар пишет) и завершиться.

Получилось вот так:

ExpandRead more... )

А что на чтении?

ExpandRead more... )

Ну, дальше понятно - вместо cat берём dd при чтении и growisofs -Z при записи. Ну и какие-нибудь user interaction вставляем.

--------- рекламный блок ---------

Этот пост создан при поддержке нашего генерального спонсора, компании Сателлиз, и лично [livejournal.com profile] byshovetsva.

(no subject)

Tuesday, 6 December 2011 15:23
gns_ua: (Default)
Например, при старте дистрибутива общего пользования, происходит от полутора до двух тысяч запусков мелких утилит, которые производят шаблонные действия (поискать pid, погрепать вывод процессов и т.п.). Все типичные паттерны запуска демона надо вынести в отдельный процесс - это правильно с т.з.Юникс-фэй (и это то, о чем давно говорили, почти с самого начала широкого распространения кучи костыликов на шелл-скриптах, в качестве системы первоначальной загрузки).

Вообще куча народу то тут, то там критиковала SysVinit, причем по делу, и вот, когда наконец-то был написан правильный менеджер загрузки, внезапно появились тучи постов с возражениями и неприятием на исключительно эмоциональном уровне. Самое удивительное, что кучка плохоньких костыликов сразу-же стала неким эталоном загрузки Юникса.

http://www.linux.org.ru/news/redhat/7094857?cid=7095423

В то время как в солярке, например, давно были системные сервисы и управление ими.
gns_ua: (Default)
В воскресенье вечером в акватории морского порта Владивосток столкнулись сухогруз Unix (порт приписки – сахалинский Корсаков) и частный катер – маломерное судно типа «горбач». В результате столкновения катер затонул. Из десяти находившихся на катере людей один погиб, остальных удалось спасти.

http://expert.ru/2011/09/19/on-utonul/

А вы говорите, юникс безопасный....
gns_ua: (Default)
Я тут собрался было уходить, да вспомнил один момент. Давече в понедельник прихожу, а ноут вырублен, и батарея высажена в ноль. Видать, света на выходных не было в здании.

Но и усыплять его не хочется - торенты-шморенты. Ладно, сказал я, и начал было писать :
ExpandRead more... )
Но вовремя опомнился. Что это я, в самом деле, как в каменном веке авком и седом разбираю то, что изначально пришло в структурированном виде.

Немного почитал и налабал:
ExpandRead more... )

Вот это гораздо лучше. Только надо разобраться с сигналами - while:sleep как-то немного тупо в двадцать первом веке.

sudo reports

Friday, 13 May 2011 14:39
gns_ua: (Default)
root is not in the sudoers file. This incident will be reported.

Вот КОМУ ты собралась стучать на РУТА, а ?
gns_ua: (Default)
Читаю вот фортунки. Этим, пожалуй, можно гордиться:

1557 (12.12.2009 14:47:44)

память съешь сам, сокет раздели с чайлдом, буфер отдай врагу

focus policy

Thursday, 26 August 2010 22:33
gns_ua: (Default)
За годы исканий и терзаний я окончательно понял, что focus follows mouse это порочно и ублюдочно.

Особенно хорошо это видно на ноутбуках с тачпадом, но и с полноценной мышой задрачивает, когда сильно пользуешься клавиатурой, по хоткеям достаёшь что-то или переключаешься во что-то.

В чём идея, в чём эффективность? Это какой-то олдфажный мем, но как раз у олдовых-то юниксоидов мыша далеко на последнем месте.
gns_ua: (Default)
Newsgroups: comp.os.minix
From: torva...@klaava.Helsinki.FI (Linus Benedict Torvalds)
Date: 25 Aug 91 20:57:08 GMT
Local: Sun, Aug 25 1991 11:57 pm
Subject: What would you like to see most in minix?

Здраствуйте. Я, Линус. Хотел бы сделать ОС свободную суть такова...

http://groups.google.com/group/comp.os.minix/msg/b813d52cbc5a044b
gns_ua: (Default)
- Дом дружбы? - заинтересовался кладовщик. - Ну, тогда другое дело! Тогда я дам тебе софта. Уж так и быть, бери! Только я дам тебе гнутого софта. Идет?

- Идет! - обрадовался Чебурашка. - Большое спасибо. Тогда дайте мне уж заодно и гнутый компилятор!

- Гнутый компилятор? - удивился кладовщик. - А зачем?

- Как - зачем? Собирать гнутый софт!
gns_ua: (Default)
Хотите увидеть немного юникс вея?

http://www.gnu.org/manual/gawk/html_node/Special-Network.html

И для чего люди придумывали всякие неткаты(1), если какой-то авк лазит в tcp порты? То есть я понимаю, что всё есть файл, и если бы такое было на уровне libc или ядра сделано, и любая программа могла бы такое имя файла получить и спокойно работать... Но не костыли же per-application!

destructive test

Tuesday, 18 May 2010 17:46
gns_ua: (Default)
В смонтированном по NFS каталоге - сто тысяч миллионов подкаталогов. То есть обычный ls на нём работает ОЧЕНЬ долго. Задача: найти те из них которые непустые, а остальные удалить.

Задача решается в одно действие:

ls -1 | xargs -P 16 rmdir 2>&1 | tee /tmp/nonempty

Никакой не find, заметьте (хотя пришлось бы, если бы требовалось искать подкаталоги второго и больших уровней тоже) - он гораздо медленнее. Наверное потому что всегда делает stat, а ls -1 достаточно readdir.

Также очевидно что никакой не rmdir *, потому что в MAX_ARGS не влезет. А за | while read; do в данном случае лучше сразу пристрелить.
gns_ua: (Default)
Кто-нибудь шарит в линуксе?

Я запустил ssh -L 3000:192.168.1.101:3000, а он не работает! Пишет только usage.

Как починить?
gns_ua: (Default)
Когда просят найти файлы, изменённые "25 февраля между 14:30 и 15:00" - чем вы это делаете?

Я бы сделал два тача:

touch -t 201002251430 /tmp/tstart && touch -t 201002251500 /tmp/tend

, а потом хладнокровно сказал бы

find /path/to -newer /tmp/tstart -and -not -newer /tmp/tend

, да вот беда - аиксовый find не умеет -not. поэтому делаем так:

find /path/to -newer /tmp/tstart > /tmp/list14
find /path/to -newer /tmp/tend > /tmp/list15

diff /tmp/list14 /tmp/list15 | grep '^<' | cut -c 3- | xargs -I{} cp "{}" /path/where/to/store/them


ЗЫ. нет, mtime/ctime не поможет. Нет, cmin тоже не поможет.
gns_ua: (Default)
О, сколько ещё в мире неизведанного!

Предположим, есть REMOTEHOST к которому доступ есть только с хоста "distant", который, в свою очередь, доступен только с "nearest".

ExpandRead more... )
gns_ua: (Default)
Разгадка загадки, на утро для блоггеров-юниксоидов .

Активное соединение отследить можно.

ExpandКраткое содержание предыдущих серий )

ExpandРешение )
gns_ua: (Default)
Если у вас на виндовой машине нету колонок, а рядом есть машина с линуксом и колонками - не расстраивайтесь.

Запускаем на лялихе демона pulseaudio от юзера, потом говорим:

pactl load-module module-esound-protocol-tcp 'auth-ip-acl=first-win-host;second-win-host'

На винде идём сюда и качаем драйвер WinESD. Заходим в "Панель управления" -> "Установка оборудования" и говорим "да, устройство подключено", в самом низу находим "Добавление нового устройства", выбираем "вручную", выбираем "звуковые, видео и игровые" и наконец тыкаем в "Установить с диска", находим каталог куда распаковали драйвер и ставим его.

Идём в "Звуки и аудиоустройства" и говорим что WinESD у нас будет дефолтным.

Потом добавляем в реестр вот такое:

[HKEY_LOCAL_MACHINE\SOFTWARE\Enlightened\WinESD]
"ESPEAKER"="<ip of your linux host>:16001"


Звук из браузера и медиаплеера пойдёт туда сразу, а в винампе придётся залезть в свойства "DirectSound output plugin" и явно указать WinESD для вывода.

Теперь на линуксе запускаем pavucontrol и наслаждаемся.

...

Профит!
gns_ua: (Default)
И снова здравствуйте! Задачка на вечер для блоггеров-юниксоидов:

Есть хост X на котором много людей сидит под собственными логинами (vasya, petya, vanya). С него по ssh уходят на хост Y, уже все под одним логином sysop. С Y по ssh ходят куда угодно.

Есть хост Z. На него кто-то пришёл с Y. На Y в процессах отлично видно, что ssh Z на pts/29 запустил некто sysop подключенный с X.

Внимание вопрос. Как узнать, кто именно это был, т.е. кому принадлежит клиентская сторона этого pts/29@Y ?
gns_ua: (Default)
Однажды на партиции закончилось место и кто-то добрый, недолго думая, удалил логи. То есть логи-то никому нахрен не нужны, но пишутся.

ExpandМеста, естественно, больше не стало )

Profile

gns_ua: (Default)
gns_ua

April 2017

M T W T F S S
     12
3456789
10111213141516
17181920212223
24252627282930

Expand Cut Tags

Expand All Cut TagsCollapse All Cut Tags

Style Credit