Автозапуск скрипта от имени пользователя

Любые разговоры которые хоть как-то связаны с тематикой форума

Модератор: Модераторы разделов

Аватара пользователя
BSDevil
Сообщения: 112
ОС: MAC OS X

Автозапуск скрипта от имени пользователя

Сообщение BSDevil »

имею на своей машине(Gentoo) сервер Counter-Strike Source. Нужно чтобы при загрузкие компьютера, он сам запускался, при том через screen и от имени пользователя. Пользователь от имени которого он запусается, отдельный. От его имени не запускаются иксы, и вариант автозапуска через гномовские "Сеансы" отпадает. По сути надо чтоб из init.d, но от имени пользователя
Изображение
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Автозапуск скрипта от имени пользователя

Сообщение drBatty »

BSDevil писал(а):
04.06.2009 19:11
По сути надо чтоб из init.d, но от имени пользователя

файл rc.local
а вот что-бы запускать от другого юзера есть чудная утилитка sudo

PS: sudo в данном случае и настраивать не надо обычно, там и так прописано что руту можно всё.
вот и юзайте
sudo -u юзер скрипт
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Parus95
Сообщения: 64
ОС: OpenSuSE 11.1 и Gentoo

Re: Автозапуск скрипта от имени пользователя

Сообщение Parus95 »

Если sudo нету, то можно юзать su user -c Комманда
Мой блог на twitter на blogspot
ВКонтакте - самый посещаемый сайт в России и Украине.
А я-то думал что гугл - самый посещаемый сайт:(
Спасибо сказали:
bl00dl1nes
Сообщения: 115
ОС: ubuntu

Re: Автозапуск скрипта от имени пользователя

Сообщение bl00dl1nes »

Parus95 писал(а):
04.06.2009 22:01
Если sudo нету, то можно юзать su user -c Комманда

хотел написать про такую возможность, но решил перепроверить - создал системного и простого пользователя с выключенными паролями (--disabled-password) и попробовал выполнить команду top от имени каждого. Просит пароль и пустой не принимает.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Автозапуск скрипта от имени пользователя

Сообщение drBatty »

Parus95 писал(а):
04.06.2009 22:01
Если sudo нету, то можно юзать su user -c Комманда

нельзя. su не принимает пароль ни откуда, кроме как с клавиатуры. а делать безпарольных юзеров - зло.

bl00dl1nes писал(а):
04.06.2009 22:07
Просит пароль и пустой не принимает.

угу. потому-что su - для смены юзера.
а sudo для исполнения команды от имени другого юзера.
это только в Ubunta всё через ж :(
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: Автозапуск скрипта от имени пользователя

Сообщение Frank »

hint: su от рута не запрашивает паролей

Код: Выделить всё

root@fqc:/mnt/c# head -n2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
root@fqc:/mnt/c# su daemon
$ whoami
daemon

drBatty писал(а):
04.06.2009 22:26
делать безпарольных юзеров - зло.

беспарольные юзеры зовутся демонами и их в любом линуксе с десяток-другой :)
drBatty писал(а):
04.06.2009 22:26
это только в Ubunta всё через ж :(

Когда рожа крива, на зеркало пеняют :)
Изображение
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Автозапуск скрипта от имени пользователя

Сообщение drBatty »

Frank писал(а):
05.06.2009 08:31
hint: su от рута не запрашивает паролей
а зачем?
какой в этом смысл?
sudo тоже для рута почти всегда беспарольная.. тоже потому, что нет никакого смысла защищать sudo от рута.

Frank писал(а):
05.06.2009 08:31
делать безпарольных юзеров - зло.

беспарольные юзеры зовутся демонами и их в любом линуксе с десяток-другой
и сколько-же у вас этих вами сделанных юзеров? у меня они сами появляются, после установки соответствующего демона.
А настраивать скажем mysql командой su mysql это как? нормально?
А почему у меня не получается?

Shell

$ su mysql Password: su: неправильный пароль

какой пароль вводить надо?
Вы ведь не хуже меня понимаете, что эти юзеры - это совсем другое дело, и служат они для другого, и топикстартеру такого заводить не следует. Ему обычный нужен. И у этого обычного должен быть какой-нибудь пароль.
Frank писал(а):
05.06.2009 08:31
Когда рожа крива, на зеркало пеняют

причём тут зеркало?
ну сделайте себе безпарольного юзера, от него очень удобно будет набирать безпарольное sudo(которое у вас уже есть, настроенное). Хотя не проще ли сделать сразу беспарольного рута? ну чтоб не сразу?
если система - зеркало, то у меня, хоть и гламурненькая, но уж не настолько кривая...
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
butch
Сообщения: 331
ОС: :OC

Re: Автозапуск скрипта от имени пользователя

Сообщение butch »

man start-stop-daemon
пишес скрипт, который создает скрин и в нем стартует ваш игровой сервис.
пишим инит скрипт, добавляем в нужный ранлевел, стартуем скрипт со скрином с помощью старт-стоп-демон.
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: Автозапуск скрипта от имени пользователя

Сообщение Frank »

drBatty писал(а):
05.06.2009 09:06
и сколько-же у вас этих вами сделанных юзеров?

У меня? Ща гляну... Всего один. Так как всего одну программу собирал сам. Остальные созданы автоматически при установке соответствующих программ.
drBatty писал(а):
05.06.2009 09:06
А настраивать скажем mysql командой su mysql это как? нормально?

нет, это неправильно, т.к. 1) этот юзер не для настройки (работы человека), а для самого мускуля; 2) всё-равно надо логиниться на сервер, не имеет значения из-под какого юзера запущен сеанс логина - важно, какой логин используется для входа на сервер (mysql -u user)
drBatty писал(а):
05.06.2009 09:06
А почему у меня не получается?

Shell

$ su mysql Password: su: неправильный пароль

какой пароль вводить надо?

Потому что читаешь хрен знает что, но не то, что тебе пишут. Повторяю для танкистов.
1) su не требует пароля только если запускается рутом.
2) чтобы su user была успешно выполнена, в /etc/passwd для user должен быть указан валидный шелл (например, sh или bash) - т.к. для юзера, которому вход в систему запрещён, su не имеет смысла

Код: Выделить всё

root@fqc:/mnt/c# su mysql
$ whoami
mysql

2а) рут всё равно может su'нуться юзером при невалидном шелле в /etc/passwd путём указания валидного шелла:

Код: Выделить всё

root@fqc:/mnt/c# su mysql --shell /bin/sh
$ whoami
mysql

drBatty писал(а):
05.06.2009 09:06
ну сделайте себе безпарольного юзера, от него очень удобно будет набирать безпарольное sudo(которое у вас уже есть, настроенное). Хотя не проще ли сделать сразу беспарольного рута? ну чтоб не сразу?
если система - зеркало, то у меня, хоть и гламурненькая, но уж не настолько кривая...

Для начала, уясни себе, что беспарольный юзер != юзер с пустым паролем - это две большие разницы, как говорят в Одессе. Беспарольный юзер не может залогиниться в системе, кроме как через su от рута.

Я бы большими буквами написал: прочти, наконец, man su! Благо, в убунту он на нормальном русском. Там всё это рассказано, надо лишь потрудиться прочитать.
Изображение
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Автозапуск скрипта от имени пользователя

Сообщение drBatty »

Frank писал(а):
05.06.2009 10:18
У меня? Ща гляну... Всего один
у меня тоже 1... по той-же причине.

Frank писал(а):
05.06.2009 10:18
нет, это неправильно, т.к. 1) этот юзер не для настройки (работы человека), а для самого мускуля; 2) всё-равно надо логиниться на сервер, не имеет значения из-под какого юзера запущен сеанс логина - важно, какой логин используется для входа на сервер (mysql -u user)

угу
Frank писал(а):
05.06.2009 10:18
Потому что читаешь хрен знает что, но не то, что тебе пишут. Повторяю для танкистов.

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

Frank писал(а):
05.06.2009 10:18
2а) рут всё равно может su'нуться

ну я это и так, без мана знал. да и догадаться не сложно - как можно войти без shell'а? ну если по su... su это путь из одного shell'а в другой, без другого и работать не сможет. а вот sudo - может и работает. Потому если я желаю получить shell от другого юзера, я использую su, а если мне нужно запустить программу с другими правами, я использую sudo. Например, в похожем случае на случай топик стартера, я вызываю из rc.local скрипт, через sudo, что-бы он работал не от рута, а от спец юзера. А если я желаю сам поработать спецюзером - я использую su. info su и info sudo довольно подробно объясняют правильность такого подхода. хотя и не по русски, за то с примерами. Вы-же, в смысле юзеры убунты, делаете как раз наоборот - для получения root shell юзаете sudo, и пытаетесь воткнуть в скрипт su...
ИМХО конечно... но мануалы я тоже читаю иногда...
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: Автозапуск скрипта от имени пользователя

Сообщение Frank »

drBatty писал(а):
05.06.2009 13:37
да и догадаться не сложно - как можно войти без shell'а? ну если по su... su это путь из одного shell'а в другой, без другого и работать не сможет. а вот sudo - может и работает. Потому если я желаю получить shell от другого юзера, я использую su, а если мне нужно запустить программу с другими правами, я использую sudo. Например, в похожем случае на случай топик стартера, я вызываю из rc.local скрипт, через sudo, что-бы он работал не от рута, а от спец юзера. А если я желаю сам поработать спецюзером - я использую su. info su и info sudo довольно подробно объясняют правильность такого подхода. хотя и не по русски, за то с примерами. Вы-же, в смысле юзеры убунты, делаете как раз наоборот - для получения root shell юзаете sudo, и пытаетесь воткнуть в скрипт su...
ИМХО конечно... но мануалы я тоже читаю иногда...

О боже, заблуждение на заблуждении :) Хорошо, для ленивых я процитирую русский man su, man sudo:

man su

НАЗВАНИЕ su - изменяет ID пользователя или делает его суперпользователем СИНТАКСИС su [параметры] [имя_пользователя] ОПИСАНИЕ Программа su используется для того, чтобы пользователь мог стать другим пользователем в текущей сессии. Если su вызывается без имени_пользователя, то это по умолчанию делает пользователя суперпользователем. Необязательный параметр - можно использовать для воссоздания рабочей среды, такой же как если бы настоящий пользователь выполнял вход в систему. После имени пользователя можно указать дополнительные аргументы, которые будут переданы регистрационной оболочке пользователя. В частности, аргумент -c заставит большинство оболочек считать следующий аргумент как команду. Команда будет выполнена оболочкой, указанной в файле /etc/passwd, которая является регистрационной для указываемого пользователя. Вы можете использовать параметр -- чтобы отделить параметры su от параметров передаваемых оболочке. Пользователю предложат ввести пароль, если он задан. При неверном пароле возникает сообщение об ошибке. Все попытки, удачные и неудачные, протоколируются системой с целью обнаружения злоупотреблений. Текущая рабочая среда передаётся новой оболочке. Значение $PATH устанавливается равным /bin:/usr/bin для обычных пользователей, или /sbin:/bin:/usr/sbin:/usr/bin для суперпользователя. Эти значения можно изменить в переменных ENV_PATH и ENV_SUPATH в файле /etc/login.defs. Субсистемный вход в систему можно распознать по наличию символа "*" в начале регистрационной оболочки. Заданный домашний каталог будет использован как корень новой файловой системы, в которой регистрируется пользователь.

man sudo

НАЗВАНИЕ sudo - выполнить команду от имени другого пользователя СИНТАКСИС sudo -h │ -K │ -k │ -L │ -l │ -V │ -v sudo [-bEHPS] [-p запрос] [-u имя_пользователя│#uid] [VAR=значение] {-i │ -s │ комманда} sudoedit [-S] [-p запрос] [-u имя_пользователя│#uid] file ... ОПИСАНИЕ sudo позволяет разрешенному пользователю выполнять команду как суперпользователь или другой пользователь, как определено в файле sudoers. Реальный и эффективный uid и gid при этом устанавливаются так, чтобы соответствовать таковым целевого пользователя, как определено в файле passwd (также инициализируется вектор группы, если целевой пользователь - не root). По умолчанию sudo требует, что бы пользователи аутентифицировали себя при помощи пароля (ЗАПОМНИТЕ: это пароль пользователя, не пароль root). Как только пользователь аутентифицировал себя происходит обновление временной метки и пользователь может использовать sudo некоторый период времени без пароля (по умолчанию пять минут, если в sudoers не указано другое). sudo определяет, кто является авторизованным пользователем сверяясь с файлом /etc/sudoers и всеми файлами с подходящим названием в каталоге /etc/sudo.d. Указав для sudo флаг -v пользователь может обновить временную метку без выполнения команды. Строка приглашения для ввода пароля так же устаревает, если пользователь не введёт пароль в течение 5 минут (если в sudoers не переопределено другое). Если не указанный в файле sudoers пользователь попытается выполнить при помощи sudo команду, то уполномоченному пользователю будет отправлено почтовое сообщение, как определено во время конфигурации или в файле sudoers (по умолчанию это root). Обратите внимание, что сообщение не будет отправлено, если неавторизованный пользователь пытается выполнить sudo с флагами -l или -v. Это позволяет пользователям определить - разрешено им использовать sudo или нет.

Надеюсь, теперь разница и сфера применения обоих команд ясны? Если тебе кажется, что в убунте поставлено с ног на голову, то тебе стОит проверить вестибулярный аппарат :) Хотябы потому, что пакет sudo может вообще отсутствовать в линуксе, в то время как su есть везде. Скрипт, использующий sudo для запуска команды от имени другого юзера, рискует 1) поломаться при апгрейде, если sudo будет вдруг заменён другой административной утилитой разграничения полномочий (именно ею sudo и является); 2) поломаться - из-за отсутствия sudo - на другом линуксе; 3) поломаться, если вдруг пользователя (рута) выкинут из sudoers; 4) поломаться, если пользователю, от имени которого выполняется скрипт (руту) будет задан реальный пароль. Дано в порядке возрастания вероятности :)
Скрипт /etc/rc.local выполняется с правами рута, что и обуславливает предпочтительность использования su в нём. Sudo можно - осторожно - использовать в скриптах, запускаемых не от рута, если в них требуется смена (увеличение) полномочий. А вообще, sudo сделано для использования людьми. Что, собственно, и нашло применение в убунту.

Код: Выделить всё

Description-ru: предоставляет ограниченные привилегии суперпользователя указанному пользователю
 Sudo -- это программа, позволяющая системному администратору предоставлять пользователям ограниченные привилегии root и регистрировать выполняемые действия. Основная цель - минимизация предоставляемых прав для выполнения определённых задач.
Изображение
Спасибо сказали:
Аватара пользователя
BSDevil
Сообщения: 112
ОС: MAC OS X

Re: Автозапуск скрипта от имени пользователя

Сообщение BSDevil »

Спасибо за ответы, сделал через sudo.

[OFF]drBatty, и что ж вы так не любите бубунту. Там все сделано то человечески. Нормальный, ровный дистрибутив, сделан людьми и для людей, не для тех кто рефераты sed'ом пишет :) . И уж точно не более кривой чем всякие мандривы, арчи... Более того, создатели Ubuntu внесли и продолжают вносить, очень большой вклад в развитие Linux в целом. Это просто личное мнение бывшего пользователя. [OFF]
Изображение
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Автозапуск скрипта от имени пользователя

Сообщение drBatty »

Frank писал(а):
05.06.2009 14:27
Надеюсь, теперь разница и сфера применения обоих команд ясны? Если тебе кажется, что в убунте поставлено с ног на голову, то тебе стОит проверить вестибулярный аппарат smile.gif Хотябы потому, что пакет sudo может вообще отсутствовать в линуксе, в то время как su есть везде. Скрипт, использующий sudo для запуска команды от имени другого юзера, рискует
1) поломаться при апгрейде, если sudo будет вдруг заменён другой административной утилитой разграничения полномочий (именно ею sudo и является);
2) поломаться - из-за отсутствия sudo - на другом линуксе;
3) поломаться, если вдруг пользователя (рута) выкинут из sudoers;
4) поломаться, если пользователю, от имени которого выполняется скрипт (руту) будет задан реальный пароль. Дано в порядке возрастания вероятности smile.gif

нет, не ясны.
Frank писал(а):
05.06.2009 14:27
Программа su используется для того, чтобы пользователь мог стать другим пользователем в текущей сессии

Frank писал(а):
05.06.2009 14:27
sudo позволяет разрешенному пользователю выполнять команду как суперпользователь

1)если мне надо стать другим юзером - я использую su
2)если мне нужно исполнить команду с другими полномочиями - я использую sudo.
Однако, если я желаю выполнить какую-то работу, то мне одной команды в 99% случаев не хватит, мне нужно посмотреть файлы, поменять что-то, возможно запустить редактор, что-то скопировать, выполнить какие-то команды(вроде passwd), в общем за 1 команду я точно НЕ справлюсь. Бывают исключения, согласен. Вот типичный пример: мне нужно иногда проверить обновления, и для этого мне лень каждый раз получать права рута, и набирать
urpmi --auto-update. Я сделал алиас, и прописал эту команду(целиком!) в sudoers. теперь мне достаточно набрать 4 кнопки(u p d <tab>) и система обновляется. Или - не обновляется. То-же касается и прочих команд, если они нужны часто(например shutdown -k now).
Вы в убунте делаете всё на оборот - для административных задач вы дописываете к каждой команде sudo, не беспокоясь о том, что злоумышленник может локально(ИМХО в 99% случаев - не только локально, или у вас в sudoers как у меня, только localhost?) набрать что угодно. Это и опасно, и неудобно.
Ну а для скрипта rc.local, которому надо выполнить 1 команду с другими правами, вы зачем-то используете su. Зачем скрипту rc.local становится другим юзером?
Что касается "поломаться", это как раз и хорошо - в sudores(как и во всех случаях) должно быть всё запрещено, и только некоторые частные случаи могут быть разрешены. Если вы кардинально меняете политику безопасности, вплоть до смены sudo чем-то другим, то что удивляться, что опасные скрипты(а скрипты из rc.local опасны, так-как с правами рута), вдруг перестают работать? Нормальное явление, будет намного хуже, если не смотря на смену политики безопасности, какая-то гадость в системе всё равно работает с теми правами, с которыми ОНА хочет. Вы начальника СБ наймёте нового, он тоже будет первое время вопросы задавать: "А что этот мужик тащит? А что эта тётка тут стоит?" и т.д. Если этот новый начальник СБ не обратит на такое внимание - значит это никакое не Б... Ну или совсем другое, не Безопасность...
Frank писал(а):
05.06.2009 14:27
А вообще, sudo сделано для использования людьми. Что, собственно, и нашло применение в убунту.

Frank писал(а):
05.06.2009 14:27
Основная цель - минимизация предоставляемых прав для выполнения определённых задач.

Во! я и предлагаю ограничить права скрипта из rc.local с прав root'а, дло некоторых жёстко и явно ограниченных прав. Вы же в убунте МАКСИМИЗИРУЕТЕ права обычного юзера, до совершенно неограниченных прав рута. Даже не спрашивая пароля рута. То что у рута пароль может быть 123 - не оправдание. На самом деле, в обычной системе не так уж и часто нужны эти права. В большинстве случаев я обхожусь и своими. Если у вас ваших прав не хватает - значит вы неправильно настроили свою систему. По моему продуманному мнению.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Автозапуск скрипта от имени пользователя

Сообщение drBatty »

BSDevil писал(а):
05.06.2009 17:07
и что ж вы так не любите бубунту.

за неверное понимание "безопасности". за то, что начинающие заваливают свою бубунту, и потом считают - что линух - это такой-же отстой как венда, только через ж всё. И консоль -г, ещё и перед каждой командой надо набирать sudo<space>, а то ничего не получается.
BSDevil писал(а):
05.06.2009 17:07
не для тех кто рефераты sed'ом пишет

Фридл приводил примеры на перле, как он правил свои и чужие книги регулярными выражениями. И причём успешно. И быстро. И за тысячи километров от этих книг. Такие вещи просто невозможны с помощью M$Word'а, или даже vim'а. Хотя очень часто - необходимы. Лично мне. Думаю вам тоже, вот только вы и не знаете, что это возможно. (Впрочем, вы же можете почитать того-же Фридла).
BSDevil писал(а):
05.06.2009 17:07
И уж точно не более кривой чем всякие мандривы, арчи... Более того, создатели Ubuntu внесли и продолжают вносить, очень большой вклад в развитие Linux в целом.
тут - согласен. Хотя, лично мне не очень важно, сколько будет в мире инсталляций Linux - это конечно удобно, например если все файлы будут и названы в UTF-8, и внутри в UTF-8, хотя с другой стороны... у меня на сайте cp1251, здесь 1251... И менять это никто не собирается... В общем не знаю, меня устраивает сегодняшняя ситуация - я могу открыть документ из недо-системы, могу сделать документ который они там в недо-системе откроют, если кому нравится - пусть юзают недо-систему, я не против.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
BSDevil
Сообщения: 112
ОС: MAC OS X

Re: Автозапуск скрипта от имени пользователя

Сообщение BSDevil »

в убунте нет проблем с безопасностью. а если не устраивает sudo, можно подредактировать sudoers, и сделать пароль руту. А "свалить" систему... тут все от рук зависит. Я на работе видел типа на Debian, он иксы под рутом запускал... Никак не мог Wi-Fi настроить. Я ему Ubuntu посоветовал, он не пожалел.
Изображение
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Автозапуск скрипта от имени пользователя

Сообщение drBatty »

BSDevil писал(а):
06.06.2009 04:13
в убунте нет проблем с безопасностью.

безопасность такая штука, в которой всегда есть проблемы. Причём серьёзные. :( Как раз установка Linux'а не решает, а только усугубляет проблему - дескать "у мну система не ломаемая!" А это - не так. Сломать можно всё. И если где-то есть сервер, который работает 10 лет без сбоев, так то только потому, что он во первых - где-то, а во вторых никому не нужен :(
BSDevil писал(а):
06.06.2009 04:13
Я на работе видел типа на Debian, он иксы под рутом запускал... Никак не мог Wi-Fi настроить. Я ему Ubuntu посоветовал, он не пожалел.

ну... я не думаю, что тут дело в дистрибутиве. скорее в его начальных установках.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: Автозапуск скрипта от имени пользователя

Сообщение Frank »

drBatty писал(а):
06.06.2009 01:18
нет, не ясны.

Тогда тебе надо удалить пакет sudo из системы, или поработать с, например, FreeBSD, где этого пакета по умолчанию НЕТ. Зато там есть su. Тогда может быть дойдёт наконец, что su - штатная команда, а sudo - опциональная, с расширенными возможностями.
drBatty писал(а):
06.06.2009 01:18
1)если мне надо стать другим юзером - я использую su
2)если мне нужно исполнить команду с другими полномочиями - я использую sudo.

Это правильно.
drBatty писал(а):
06.06.2009 01:18
Однако, если я желаю выполнить какую-то работу, то мне одной команды в 99% случаев не хватит, мне нужно посмотреть файлы, поменять что-то, возможно запустить редактор, что-то скопировать, выполнить какие-то команды(вроде passwd), в общем за 1 команду я точно НЕ справлюсь. Бывают исключения, согласен. Вот типичный пример: мне нужно иногда проверить обновления, и для этого мне лень каждый раз получать права рута, и набирать
urpmi --auto-update. Я сделал алиас, и прописал эту команду(целиком!) в sudoers. теперь мне достаточно набрать 4 кнопки(u p d <tab>) и система обновляется. Или - не обновляется. То-же касается и прочих команд, если они нужны часто(например shutdown -k now).

Точно так же я могу создать алиас "upd" с содержимым "sudo apt-get update && sudo apt-get upgrade". Не понял инновационности.
drBatty писал(а):
06.06.2009 01:18
Вы в убунте делаете всё на оборот - для административных задач вы дописываете к каждой команде sudo, не беспокоясь о том, что злоумышленник может локально(ИМХО в 99% случаев - не только локально, или у вас в sudoers как у меня, только localhost?) набрать что угодно. Это и опасно, и неудобно.

Заблуждение. Злоумышленник не сможет ничего сделать, пока не получит доступ к моему сеансу. Уходя, я всегда залочиваю своё рабочее место.
Если ты сделал su, ввёл команды и ушёл, то этот злоумышленник свожет делать с твоей системой что угодно вне зависимости, склько времени прошло, т.е. sudo в данном плане как раз более безопасна за счёт таймера запоминания пароля.
drBatty писал(а):
06.06.2009 01:18
Вы в убунте делаете всё на оборот - для административных задач вы дописываете к каждой
Ну а для скрипта rc.local, которому надо выполнить 1 команду с другими правами, вы зачем-то используете su. Зачем скрипту rc.local становится другим юзером?

drBatty писал(а):
06.06.2009 01:18
Что касается "поломаться", это как раз и хорошо - в sudores(как и во всех случаях) должно быть всё запрещено, и только некоторые частные случаи могут быть разрешены.

Опять ты неправильно всё понимаешь.
В sudoers разрешается всё ОДНОМУ человеку - администратору системы. А остальным разрешается то, что им надо разрешать. Это много более гибкая система разграничения полномочий.
Например, у нас есть два админа: главный админ и стажёр. Главному админу разрешено всё, стажёру только некоторые команды, такие как apt-get install, apt-get update && upgrage, kill, cp и vi, ну и так далее. Это невозможно сделать, сказав пароль рута и разрешив тем самым делать su стажёру. Так же такое разделение полномочий спасёт стажёра от sudo reboot не в той консоли :)
drBatty писал(а):
06.06.2009 01:18
Если вы кардинально меняете политику безопасности, вплоть до смены sudo чем-то другим, то что удивляться, что опасные скрипты(а скрипты из rc.local опасны, так-как с правами рута), вдруг перестают работать?

Повторяю, запусти твой rc.local в среде FreeBSD. Ты же используешь непереносимое решение. А я свой запущу в ней.
drBatty писал(а):
06.06.2009 01:18
Во! я и предлагаю ограничить права скрипта из rc.local с прав root'а, дло некоторых жёстко и явно ограниченных прав.

Ещё раз повторяю, ты неправильно используешь rc.local, не по назначению. Он предназначен для запуска команд с правами рута. Для пользовательских команд следует применять другие методы, например, скрипты rcS и start-stop-daemon.
drBatty писал(а):
06.06.2009 01:18
Вы же в убунте МАКСИМИЗИРУЕТЕ права обычного юзера, до совершенно неограниченных прав рута.

Да, а ты минимизируешь их, сообщая юзеру рутовый пароль. Спасибо, посмешил.
Ещё раз повторяю: в убунту через sudo разрешено всё только тому человеку, который устанавливал дистрибутив. Он - царь и бог, он - АДМИНИСТРАТОР. Все остальные юзеры, создаваемые после него, имеют по дефолту права обычного юзера и пользоваться sudo не могут вообще, пока администратор не соизволит наделить их какими-либо правами, если это потребуется.
drBatty писал(а):
06.06.2009 01:18
На самом деле, в обычной системе не так уж и часто нужны эти права. В большинстве случаев я обхожусь и своими. Если у вас ваших прав не хватает - значит вы неправильно настроили свою систему. По моему продуманному мнению.

Вот это и предпосылка к использованию sudo вместо su. Просто ты ещё не осознал тех слов, которые говоришь, даже когда слова правильные :) Ну, ничего, пройдёт время, появится опыт, появится осознание идеологии.
Пойми на данном этапе одно: "это жжж неспроста!" (с) К обеспароливанию рута и широкому использованию sudo пришли разработчики убунты не просто так, а умудрённые опытом построения удобной но защищённой системы. Это всё, что мы тут с тобой перемалываем, они давно обсудили, перемололи, и впитали, а мы теперь пользуемся - либо плюёмся, если не доросли до этого изящного решения.
Изображение
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Автозапуск скрипта от имени пользователя

Сообщение drBatty »

Frank писал(а):
06.06.2009 11:46
Тогда тебе надо удалить пакет sudo из системы, или поработать с, например, FreeBSD, где этого пакета по умолчанию НЕТ. Зато там есть su. Тогда может быть дойдёт наконец, что su - штатная команда, а sudo - опциональная, с расширенными возможностями.

а тебе надо поработать с OS Windows :)
вот там нет ни sudo ни su, и всё отлично работает. все вопросы безопасности полностью решены - система многопользовательская и многозадачная: например, если ты желаешь решить 1 задачу, написать какой-то текст, у тебя автоматически запускаются ещё несколько задач, которые шпионят за тобой, и отправляют твой текст куда следует. Кроме тебя в системе прекрасно живут и другие пользователи, например вирусы, и разные ботнеты. Некоторые борются - ставят антивирусы и фаерволы, что приводит лишь к ещё большему увеличению многозадачности OS Windows.
И с этим ничего не сделать - сам принцип работы антивирусов и фаерволов такой: они заприщают лишь работу некоторых программ и закрывают некоторые типы соединений. Во всех остальных операционных системах иной принцип - запрещено всё, только некоторые файлы могут выполнится, те, которые явно разрешены суперпользователем. Естественно, вся эта система рухнет, если можно будет что-то сделать суперюзеру. Таким образом, в персональном компьютере должен быть 1 пользователь, с жёстко ограниченными правами. Он может запускать некоторые программы, но лишь в жёстко ограниченных рамках. Никакой возможность запустить что-то с правами рута быть не должно. По моему продуманному мнению. Конечно во время настройки и установки так не получится, однако, все мы знаем, что происходило со строителями секретных объектов :) Ну после завершения постройки ;)

Frank писал(а):
06.06.2009 11:46
Точно так же я могу создать алиас "upd" с содержимым "sudo apt-get update && sudo apt-get upgrade". Не понял инновационности.

она в том, что я разрешил юзеру только обновлятся, а ты - всё что угодно. твой юзер может сделать алиас sudo rm -Rf /, который легко грохнет вашу систему, а мой юзер таким алиасом грохнет только свои настройки. Даже не сможет грохнуть свои данные(а тем более - наши)
Frank писал(а):
06.06.2009 11:46
В sudoers разрешается всё ОДНОМУ человеку - администратору системы.

а зачем тебе второй root? какой в этом смысл?
Frank писал(а):
06.06.2009 11:46
Повторяю, запусти твой rc.local в среде FreeBSD. Ты же используешь непереносимое решение. А я свой запущу в ней.

скрипты и не должны быть переносимыми, за исключением configure. и как раз на этом скрипте видно, что такое переносимый скрипт - вот первый попавшийся - 628093 байт, не мало для скрипта, правда? Ты мне все такие предлагаешь писать? нет уж... да мой скрипт и не будет иметь никакого смысла в другой системе, там вообще эта задача если и будет иметь решение, то другое, может и не скриптом вовсе...
Frank писал(а):
06.06.2009 11:46
Ещё раз повторяю, ты неправильно используешь rc.local, не по назначению. Он предназначен для запуска команд с правами рута. Для пользовательских команд следует применять другие методы, например, скрипты rcS и start-stop-daemon.

rcS несколько для другого.
rc.local это как раз то, что мне нужно - после всех прочих скриптов, но до запуска X. И я не вижу никакого криминала в ограничении прав того, что запускается из rc.local - ограничение - это ВСЕГДА хорошо с т.з. безопасности. sudo - отличный инструмент для ограничения прав, почему-бы его не использовать?

Frank писал(а):
06.06.2009 11:46
Да, а ты минимизируешь их, сообщая юзеру рутовый пароль. Спасибо, посмешил.

зачем? в том-то и дело! это ты сообщаешь :(
твой юзер, тот что с sudo, в лёгкую может поменять рутовый пароль - sudo passwd
мой - не может, т.к. я своему разрешил только некоторые, нужные ему, команды.
Frank писал(а):
06.06.2009 11:46
Он - царь и бог, он - АДМИНИСТРАТОР.
он - пьяный дурак, который лазает по порносайтам ;)
или по LOR и запускает оттуда одностроки на перле...
и давать ему права root'а - в высшей степени неразумно.

Frank писал(а):
06.06.2009 11:46
На самом деле, в обычной системе не так уж и часто нужны эти права. В большинстве случаев я обхожусь и своими. Если у вас ваших прав не хватает - значит вы неправильно настроили свою систему. По моему продуманному мнению.


Вот это и предпосылка к использованию sudo вместо su. Просто ты ещё не осознал тех слов, которые говоришь, даже когда слова правильные

хм... поясни.
Frank писал(а):
06.06.2009 11:46
Пойми на данном этапе одно: "это жжж неспроста!" (с) К обеспароливанию рута и широкому использованию sudo пришли разработчики убунты не просто так, а умудрённые опытом построения удобной но защищённой системы. Это всё, что мы тут с тобой перемалываем, они давно обсудили, перемололи, и впитали, а мы теперь пользуемся - либо плюёмся, если не доросли до этого изящного решения.

а почему другие дистрописатели до этого не доросли? или только создатели убунты избранные? почему в мандриве sudo нет вообще? (надо ставить дополнительно)
всё дело в том, что в мандриве(например) есть центр управления, гламурненький такой, с галочками. что-бы туда войти, надо набрать пароль рута, а потом можно управлять и администрировать, и даже консоль там есть. с правами рута разумеется. И это - хорошо. А беспарольный рут для юзера - плохо. А он именно беспарольный, так как s u d o space (пять кнопок) парёлем не считается. и юзерский пароль - тоже.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
BSDevil
Сообщения: 112
ОС: MAC OS X

Re: Автозапуск скрипта от имени пользователя

Сообщение BSDevil »

1) мне sudo -s удобнее чем su. И черт с ней с убунтой, у меня дженту...
2) я один пользователь.
3) да в конце концов, каждому свое.
Изображение
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Автозапуск скрипта от имени пользователя

Сообщение drBatty »

BSDevil писал(а):
02.07.2009 02:27
1) мне sudo -s удобнее чем su. И черт с ней с убунтой, у меня дженту...
в контексте сабжа - мне тоже.

BSDevil писал(а):
02.07.2009 02:27
2) я один пользователь.

ИМХО некоторые скрипты требуют отдельного пользователя.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Автозапуск скрипта от имени пользователя

Сообщение watashiwa_daredeska »

drBatty писал(а):
07.06.2009 08:58
А он именно беспарольный, так как s u d o space (пять кнопок) парёлем не считается. и юзерский пароль - тоже.
А почему, собственно, пользовательский пароль не считается?
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Автозапуск скрипта от имени пользователя

Сообщение drBatty »

watashiwa_darede... писал(а):
02.07.2009 11:04
А почему, собственно, пользовательский пароль не считается?

потому-что юзерский пароль обычно простой и легко запоминаемый. я например увижу и запомню, как вы набираете "123". а вот пароль рута во первых обычно сложный, во вторых, я навряд ли увижу, как вы его набираете. :)
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Автозапуск скрипта от имени пользователя

Сообщение watashiwa_daredeska »

drBatty писал(а):
02.07.2009 11:12
потому-что юзерский пароль обычно простой и легко запоминаемый
Вы таки считаете, что если заставить пользователя пользоваться su и вводить не свой, а рутовый (его еще надо дополнительно запоминать) пароль, то этот рутовый пароль будет случайный 20-символьный с капсами, цифрами и знаками препинания? Это во-первых, а во-вторых: от кого защищаемся? В Ubuntu, ЕМНИП, sudo доступна не всем пользователям, а только тем, кто входит в особую группу (sudo?). По умолчанию, adduser не включает пользователя в эту группу. После установки системы sudo доступно одному единственному пользователю -- тому, кто поставил систему, что, в общем, логично. Дальше этот пользователь определяет политику безопасности в соответствии с условиями.

Для исполнения команд в rc-скриптах от имени другого пользователя я предпочитаю su. И вот почему: sudo не позволяет пользователю root выполнять произвольные действия от лица произвольного пользователя, если в /etc/sudoers не прописано root ALL=NOPASSWD: ALL. Но это же нонсенс! Убрав эту строчку, безопасности не добавится -- root и так может делать что угодно от имени кого угодно, даже без su, а вот неудобства будут: настанет пиндык скриптам, использующим sudo. Какой в этом смысл?
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Автозапуск скрипта от имени пользователя

Сообщение watashiwa_daredeska »

drBatty писал(а):
02.07.2009 11:12
я навряд ли увижу, как вы его набираете.
Если задаться целью, то можно увидеть. Улучшение безопасности тут невелико. А вот пароли... Я помню пароли на несколько машин. Хороших, сложных паролей. По Вашей схеме мне нужно в два раза больше паролей, при этом либо голова треснет, либо половина паролей будет типа "123" -- оно мне надо?
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Автозапуск скрипта от имени пользователя

Сообщение drBatty »

watashiwa_darede... писал(а):
02.07.2009 12:21
Если задаться целью, то можно увидеть. Улучшение безопасности тут невелико. А вот пароли... Я помню пароли на несколько машин.

1)нельзя вам увидеть мой рутовый пароль, потому-что я его не буду при вас набирать. ну не нужен он мне: если задача регулярно требует пароля - есть скрипты, например в rc.d, если иногда - есть sudo, в котором можно настроить некоторые команды.
2)а зачем вам пароль пользователя? если вам нужно администрировать машину - достаточно пароля рута. для проверки можно создать нового юзера. это лучше по 2 причинам:
a)меня бесят юзерские аккаунты. начиная от дебильных обоев, и кончая раскладкой по ALT+SHIFT
b)а имеет ли вообще админ право просматривать и тем более менять юзерские файлы? например, может ли админ поменять бугалтерский отчёт? Нет. это дело бугалтера. админ может поставить новый софт, может восстановить из бекапа тот-же отчёт(случайно удалённый) но вот смотреть...
Так зачем вам юзерский пароль? В конце концов его можно спросить у юзера, или насильно сменить на 123, если юзеру дороги свои данные - он его поменяет обратно на что-то более разумное.


Да, в sudo есть строчка,которая разрешает root'у всё. но вроде она прописана по умолчанию? в ней нет ничего плохого, и почему-бы её не оставить(ввести по новой, если нет). с этой строчкой можно с лёгкостью запускать из скрипта другие скрипты, но уже с более низкими привилегиями. не вижу в этом ничего плохого или неудобного. Насколько я помню, именно для этого sudo и существует.


Что касается убунты, то повторюсь: фактически там 2 рута: первый просто root, а второй - единственный юзер, который может ВСЁ. просто надо перед каждой командой набирать sudo. например suxo rm -Rf /* :(
ИМХО это - плохо.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
BSDevil
Сообщения: 112
ОС: MAC OS X

Re: Автозапуск скрипта от имени пользователя

Сообщение BSDevil »

У меня у рута и юзера один и тот же пасс, с капсом и цыфрами (это на сервере), и доступ из сети руту заблокирован. А на ноуте достаточно простой, доступа из сети к нему нет.
например suxo rm -Rf /* sad.gif
какая разница? su -c "rm -rf /*"

Кому su кому sudo удобнее. Мне sudo нравится тем, что выполнив к примеру sudo -s я получу права рута, но домашней папкой останется папка пользователя. Мне так удобнее. Вам нарвется su - пожалуйста, юзайте, но зачем каждому навязывать своё мнение? К тому же опуская дистрибутив, который юзают миллионы людей.
Изображение
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Автозапуск скрипта от имени пользователя

Сообщение watashiwa_daredeska »

drBatty писал(а):
02.07.2009 14:17
2)а зачем вам пароль пользователя?
Ну, не под рутом же работать :) А если Вы имеете в виду пароль какого-то другого пользователя на машине, то он мне не нужен -- я логинюсь под собой и делаю все, что надо, в том числе и для (и от лица) этого пользователя, ибо права рута я могу получить. Итого, мне на все про все нужен один единственный пароль -- мой. Зачем мне помнить еще один -- рутовый?

drBatty писал(а):
02.07.2009 14:17
a)меня бесят юзерские аккаунты.
Это не релевантно. Причем тут юзерские аккаунты и как дополнительный рутовый пароль и su помогает против них по сравнению с sudo и паролем пользователя-администратора?


drBatty писал(а):
02.07.2009 14:17
фактически там 2 рута: первый просто root, а второй - единственный юзер, который может ВСЁ. просто надо перед каждой командой набирать sudo.
Именно так, но проблема не в sudo и не в том, что пароль пользовательский. Проблема -- в таймауте, который можно и выключить.


drBatty писал(а):
02.07.2009 14:17
Да, в sudo есть строчка,которая разрешает root'у всё. но вроде она прописана по умолчанию? в ней нет ничего плохого
... кроме того, что это еще одно место, где можно что-то сломать, а по закону Мерфи то, что можно сломать, обязательно сломают. Правда, то, что нельзя сломать, тоже сломают, но чуть реже :)
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Автозапуск скрипта от имени пользователя

Сообщение drBatty »

BSDevil писал(а):
02.07.2009 14:57
У меня у рута и юзера один и тот же пасс, с капсом и цыфрами (это на сервере), и доступ из сети руту заблокирован. А на ноуте достаточно простой, доступа из сети к нему нет.
например suxo rm -Rf /* sad.gif
какая разница? su -c "rm -rf /*"

Кому su кому sudo удобнее. Мне sudo нравится тем, что выполнив к примеру sudo -s я получу права рута, но домашней папкой останется папка пользователя. Мне так удобнее. Вам нарвется su - пожалуйста, юзайте, но зачем каждому навязывать своё мнение? К тому же опуская дистрибутив, который юзают миллионы людей.

Shell

$ su -c ls Password: su: неправильный пароль

разница в том, что su - это не sudo, и требует пароль рута, для выполнения действий с правами рута.
домашняя папка у меня и так остаётся текущей, и с su, так настроено. т.ч. это не довод.
я не навязываю своё мнение, я просто объясняю, что работать под root'ом - плохо.
а разницы между
su
команда
и
sudo команда
я не вижу.
только одна разница - для sudo в убунте НЕ НУЖЕН пароль рута, и так работает. и этим все пользуются. и это - плохо. потому как юзер в убунте - тот-же рут, и так-же может завалить свою систему.
впрочем - каждый сам себе злобный буратино.

watashiwa_darede... писал(а):
02.07.2009 18:58
Ну, не под рутом же работать :)

ну дык как раз и под рутом получается...
watashiwa_darede... писал(а):
02.07.2009 18:58
Это не релевантно. Причем тут юзерские аккаунты и как дополнительный рутовый пароль и su помогает против них по сравнению с sudo и паролем пользователя-администратора?

а зачем эта сущность "пользователь-админ"?
watashiwa_darede... писал(а):
02.07.2009 18:58
... кроме того, что это еще одно место, где можно что-то сломать, а по закону Мерфи то, что можно сломать, обязательно сломают. Правда, то, что нельзя сломать, тоже сломают, но чуть реже :)

расскажите КАК...
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Автозапуск скрипта от имени пользователя

Сообщение watashiwa_daredeska »

drBatty писал(а):
02.07.2009 19:26
ну дык как раз и под рутом получается...
Все-таки не совсем. Во-первых, дополнительная защита от самого себя -- надо вводить sudo, а значит, тот же rm -rf /* не пройдет. Во-вторых, какая-никакая, а защита учетки рута есть -- мой ли пароль, рутовый ли, а знать его надо, чтобы получить привилегии. Будут реальные (а не теоретические) угрозы получения рута через таймаут -- отключу таймаут.
drBatty писал(а):
02.07.2009 19:26
а зачем эта сущность "пользователь-админ"?
Чтоб раздвоение личности не заработать :) Чем две виртуальных личности "пользователь" и "админ" на одну реальную лучше, чем соответствие 1:1?
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Автозапуск скрипта от имени пользователя

Сообщение watashiwa_daredeska »

drBatty писал(а):
02.07.2009 19:26
расскажите КАК...
sudo? Да банально -- забыть перейти в insert mode в vi и случайно грохнуть эту строку в редакторе, который умеет только мерзко пищать и портить файлы :)
Спасибо сказали: