Автозапуск скрипта от имени пользователя
Модератор: Модераторы разделов
-
BSDevil
- Сообщения: 112
- ОС: MAC OS X
Автозапуск скрипта от имени пользователя
имею на своей машине(Gentoo) сервер Counter-Strike Source. Нужно чтобы при загрузкие компьютера, он сам запускался, при том через screen и от имени пользователя. Пользователь от имени которого он запусается, отдельный. От его имени не запускаются иксы, и вариант автозапуска через гномовские "Сеансы" отпадает. По сути надо чтоб из init.d, но от имени пользователя

-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Автозапуск скрипта от имени пользователя
файл rc.local
а вот что-бы запускать от другого юзера есть чудная утилитка sudo
PS: sudo в данном случае и настраивать не надо обычно, там и так прописано что руту можно всё.
вот и юзайте
sudo -u юзер скрипт
-
Parus95
- Сообщения: 64
- ОС: OpenSuSE 11.1 и Gentoo
Re: Автозапуск скрипта от имени пользователя
Если sudo нету, то можно юзать su user -c Комманда
Мой блог на twitter на blogspot
ВКонтакте - самый посещаемый сайт в России и Украине.
А я-то думал что гугл - самый посещаемый сайт:(
ВКонтакте - самый посещаемый сайт в России и Украине.
А я-то думал что гугл - самый посещаемый сайт:(
-
bl00dl1nes
- Сообщения: 115
- ОС: ubuntu
Re: Автозапуск скрипта от имени пользователя
хотел написать про такую возможность, но решил перепроверить - создал системного и простого пользователя с выключенными паролями (--disabled-password) и попробовал выполнить команду top от имени каждого. Просит пароль и пустой не принимает.
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Автозапуск скрипта от имени пользователя
нельзя. su не принимает пароль ни откуда, кроме как с клавиатуры. а делать безпарольных юзеров - зло.
угу. потому-что su - для смены юзера.
а sudo для исполнения команды от имени другого юзера.
это только в Ubunta всё через ж
-
Frank
- Сообщения: 1059
- ОС: Ubuntu, Debian
Re: Автозапуск скрипта от имени пользователя
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
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Автозапуск скрипта от имени пользователя
а зачем?
какой в этом смысл?
sudo тоже для рута почти всегда беспарольная.. тоже потому, что нет никакого смысла защищать sudo от рута.
и сколько-же у вас этих вами сделанных юзеров? у меня они сами появляются, после установки соответствующего демона.
А настраивать скажем mysql командой su mysql это как? нормально?
А почему у меня не получается?
Shell
$ su mysql
Password:
su: неправильный пароль
какой пароль вводить надо?
Вы ведь не хуже меня понимаете, что эти юзеры - это совсем другое дело, и служат они для другого, и топикстартеру такого заводить не следует. Ему обычный нужен. И у этого обычного должен быть какой-нибудь пароль.
причём тут зеркало?
ну сделайте себе безпарольного юзера, от него очень удобно будет набирать безпарольное sudo(которое у вас уже есть, настроенное). Хотя не проще ли сделать сразу беспарольного рута? ну чтоб не сразу?
если система - зеркало, то у меня, хоть и гламурненькая, но уж не настолько кривая...
-
butch
- Сообщения: 331
- ОС: :OC
Re: Автозапуск скрипта от имени пользователя
man start-stop-daemon
пишес скрипт, который создает скрин и в нем стартует ваш игровой сервис.
пишим инит скрипт, добавляем в нужный ранлевел, стартуем скрипт со скрином с помощью старт-стоп-демон.
пишес скрипт, который создает скрин и в нем стартует ваш игровой сервис.
пишим инит скрипт, добавляем в нужный ранлевел, стартуем скрипт со скрином с помощью старт-стоп-демон.
-
Frank
- Сообщения: 1059
- ОС: Ubuntu, Debian
Re: Автозапуск скрипта от имени пользователя
У меня? Ща гляну... Всего один. Так как всего одну программу собирал сам. Остальные созданы автоматически при установке соответствующих программ.
нет, это неправильно, т.к. 1) этот юзер не для настройки (работы человека), а для самого мускуля; 2) всё-равно надо логиниться на сервер, не имеет значения из-под какого юзера запущен сеанс логина - важно, какой логин используется для входа на сервер (mysql -u user)
Потому что читаешь хрен знает что, но не то, что тебе пишут. Повторяю для танкистов.
1) su не требует пароля только если запускается рутом.
2) чтобы su user была успешно выполнена, в /etc/passwd для user должен быть указан валидный шелл (например, sh или bash) - т.к. для юзера, которому вход в систему запрещён, su не имеет смысла
Код: Выделить всё
root@fqc:/mnt/c# su mysql
$ whoami
mysql2а) рут всё равно может su'нуться юзером при невалидном шелле в /etc/passwd путём указания валидного шелла:
Код: Выделить всё
root@fqc:/mnt/c# su mysql --shell /bin/sh
$ whoami
mysqldrBatty писал(а): ↑05.06.2009 09:06ну сделайте себе безпарольного юзера, от него очень удобно будет набирать безпарольное sudo(которое у вас уже есть, настроенное). Хотя не проще ли сделать сразу беспарольного рута? ну чтоб не сразу?
если система - зеркало, то у меня, хоть и гламурненькая, но уж не настолько кривая...
Для начала, уясни себе, что беспарольный юзер != юзер с пустым паролем - это две большие разницы, как говорят в Одессе. Беспарольный юзер не может залогиниться в системе, кроме как через su от рута.
Я бы большими буквами написал: прочти, наконец, man su! Благо, в убунту он на нормальном русском. Там всё это рассказано, надо лишь потрудиться прочитать.

-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Автозапуск скрипта от имени пользователя
у меня тоже 1... по той-же причине.
угу
да я просто не про то пишу...
я пишу про то, что юзеры без пароля - зло, если их создавать для запуска каких-то CS.
и юзеры с пустым паролем - тоже зло. ну если конечно это не какие-то специальные юзеры, вроде моего ftp, но в него никак не зайти, кроме как по ftp, да и то, только с 192.168.1. и прав у него - читать несколько каталогов. т.е. это такое очень сильно ограниченное зло.
ну я это и так, без мана знал. да и догадаться не сложно - как можно войти без shell'а? ну если по su... su это путь из одного shell'а в другой, без другого и работать не сможет. а вот sudo - может и работает. Потому если я желаю получить shell от другого юзера, я использую su, а если мне нужно запустить программу с другими правами, я использую sudo. Например, в похожем случае на случай топик стартера, я вызываю из rc.local скрипт, через sudo, что-бы он работал не от рута, а от спец юзера. А если я желаю сам поработать спецюзером - я использую su. info su и info sudo довольно подробно объясняют правильность такого подхода. хотя и не по русски, за то с примерами. Вы-же, в смысле юзеры убунты, делаете как раз наоборот - для получения root shell юзаете sudo, и пытаетесь воткнуть в скрипт su...
ИМХО конечно... но мануалы я тоже читаю иногда...
-
Frank
- Сообщения: 1059
- ОС: Ubuntu, Debian
Re: Автозапуск скрипта от имени пользователя
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
НАЗВАНИЕ
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 или нет.
Надеюсь, теперь разница и сфера применения обоих команд ясны? Если тебе кажется, что в убунте поставлено с ног на голову, то тебе стОит проверить вестибулярный аппарат
Скрипт /etc/rc.local выполняется с правами рута, что и обуславливает предпочтительность использования su в нём. Sudo можно - осторожно - использовать в скриптах, запускаемых не от рута, если в них требуется смена (увеличение) полномочий. А вообще, sudo сделано для использования людьми. Что, собственно, и нашло применение в убунту.
Код: Выделить всё
Description-ru: предоставляет ограниченные привилегии суперпользователя указанному пользователю
Sudo -- это программа, позволяющая системному администратору предоставлять пользователям ограниченные привилегии root и регистрировать выполняемые действия. Основная цель - минимизация предоставляемых прав для выполнения определённых задач.
-
BSDevil
- Сообщения: 112
- ОС: MAC OS X
Re: Автозапуск скрипта от имени пользователя
Спасибо за ответы, сделал через sudo.
[OFF]drBatty, и что ж вы так не любите бубунту. Там все сделано то человечески. Нормальный, ровный дистрибутив, сделан людьми и для людей, не для тех кто рефераты sed'ом пишет
. И уж точно не более кривой чем всякие мандривы, арчи... Более того, создатели Ubuntu внесли и продолжают вносить, очень большой вклад в развитие Linux в целом. Это просто личное мнение бывшего пользователя. [OFF]
[OFF]drBatty, и что ж вы так не любите бубунту. Там все сделано то человечески. Нормальный, ровный дистрибутив, сделан людьми и для людей, не для тех кто рефераты sed'ом пишет

-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Автозапуск скрипта от имени пользователя
Frank писал(а): ↑05.06.2009 14:27Надеюсь, теперь разница и сфера применения обоих команд ясны? Если тебе кажется, что в убунте поставлено с ног на голову, то тебе стОит проверить вестибулярный аппарат smile.gif Хотябы потому, что пакет sudo может вообще отсутствовать в линуксе, в то время как su есть везде. Скрипт, использующий sudo для запуска команды от имени другого юзера, рискует
1) поломаться при апгрейде, если sudo будет вдруг заменён другой административной утилитой разграничения полномочий (именно ею sudo и является);
2) поломаться - из-за отсутствия sudo - на другом линуксе;
3) поломаться, если вдруг пользователя (рута) выкинут из sudoers;
4) поломаться, если пользователю, от имени которого выполняется скрипт (руту) будет задан реальный пароль. Дано в порядке возрастания вероятности smile.gif
нет, не ясны.
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 опасны, так-как с правами рута), вдруг перестают работать? Нормальное явление, будет намного хуже, если не смотря на смену политики безопасности, какая-то гадость в системе всё равно работает с теми правами, с которыми ОНА хочет. Вы начальника СБ наймёте нового, он тоже будет первое время вопросы задавать: "А что этот мужик тащит? А что эта тётка тут стоит?" и т.д. Если этот новый начальник СБ не обратит на такое внимание - значит это никакое не Б... Ну или совсем другое, не Безопасность...
Во! я и предлагаю ограничить права скрипта из rc.local с прав root'а, дло некоторых жёстко и явно ограниченных прав. Вы же в убунте МАКСИМИЗИРУЕТЕ права обычного юзера, до совершенно неограниченных прав рута. Даже не спрашивая пароля рута. То что у рута пароль может быть 123 - не оправдание. На самом деле, в обычной системе не так уж и часто нужны эти права. В большинстве случаев я обхожусь и своими. Если у вас ваших прав не хватает - значит вы неправильно настроили свою систему. По моему продуманному мнению.
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Автозапуск скрипта от имени пользователя
за неверное понимание "безопасности". за то, что начинающие заваливают свою бубунту, и потом считают - что линух - это такой-же отстой как венда, только через ж всё. И консоль -г, ещё и перед каждой командой надо набирать sudo<space>, а то ничего не получается.
Фридл приводил примеры на перле, как он правил свои и чужие книги регулярными выражениями. И причём успешно. И быстро. И за тысячи километров от этих книг. Такие вещи просто невозможны с помощью M$Word'а, или даже vim'а. Хотя очень часто - необходимы. Лично мне. Думаю вам тоже, вот только вы и не знаете, что это возможно. (Впрочем, вы же можете почитать того-же Фридла).
тут - согласен. Хотя, лично мне не очень важно, сколько будет в мире инсталляций Linux - это конечно удобно, например если все файлы будут и названы в UTF-8, и внутри в UTF-8, хотя с другой стороны... у меня на сайте cp1251, здесь 1251... И менять это никто не собирается... В общем не знаю, меня устраивает сегодняшняя ситуация - я могу открыть документ из недо-системы, могу сделать документ который они там в недо-системе откроют, если кому нравится - пусть юзают недо-систему, я не против.
-
BSDevil
- Сообщения: 112
- ОС: MAC OS X
Re: Автозапуск скрипта от имени пользователя
в убунте нет проблем с безопасностью. а если не устраивает sudo, можно подредактировать sudoers, и сделать пароль руту. А "свалить" систему... тут все от рук зависит. Я на работе видел типа на Debian, он иксы под рутом запускал... Никак не мог Wi-Fi настроить. Я ему Ubuntu посоветовал, он не пожалел.

-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Автозапуск скрипта от имени пользователя
безопасность такая штука, в которой всегда есть проблемы. Причём серьёзные.
ну... я не думаю, что тут дело в дистрибутиве. скорее в его начальных установках.
-
Frank
- Сообщения: 1059
- ОС: Ubuntu, Debian
Re: Автозапуск скрипта от имени пользователя
Тогда тебе надо удалить пакет sudo из системы, или поработать с, например, FreeBSD, где этого пакета по умолчанию НЕТ. Зато там есть su. Тогда может быть дойдёт наконец, что su - штатная команда, а 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 в данном плане как раз более безопасна за счёт таймера запоминания пароля.
Опять ты неправильно всё понимаешь.
В sudoers разрешается всё ОДНОМУ человеку - администратору системы. А остальным разрешается то, что им надо разрешать. Это много более гибкая система разграничения полномочий.
Например, у нас есть два админа: главный админ и стажёр. Главному админу разрешено всё, стажёру только некоторые команды, такие как apt-get install, apt-get update && upgrage, kill, cp и vi, ну и так далее. Это невозможно сделать, сказав пароль рута и разрешив тем самым делать su стажёру. Так же такое разделение полномочий спасёт стажёра от sudo reboot не в той консоли
Повторяю, запусти твой rc.local в среде FreeBSD. Ты же используешь непереносимое решение. А я свой запущу в ней.
Ещё раз повторяю, ты неправильно используешь rc.local, не по назначению. Он предназначен для запуска команд с правами рута. Для пользовательских команд следует применять другие методы, например, скрипты rcS и start-stop-daemon.
Да, а ты минимизируешь их, сообщая юзеру рутовый пароль. Спасибо, посмешил.
Ещё раз повторяю: в убунту через sudo разрешено всё только тому человеку, который устанавливал дистрибутив. Он - царь и бог, он - АДМИНИСТРАТОР. Все остальные юзеры, создаваемые после него, имеют по дефолту права обычного юзера и пользоваться sudo не могут вообще, пока администратор не соизволит наделить их какими-либо правами, если это потребуется.
Вот это и предпосылка к использованию sudo вместо su. Просто ты ещё не осознал тех слов, которые говоришь, даже когда слова правильные
Пойми на данном этапе одно: "это жжж неспроста!" (с) К обеспароливанию рута и широкому использованию sudo пришли разработчики убунты не просто так, а умудрённые опытом построения удобной но защищённой системы. Это всё, что мы тут с тобой перемалываем, они давно обсудили, перемололи, и впитали, а мы теперь пользуемся - либо плюёмся, если не доросли до этого изящного решения.

-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Автозапуск скрипта от имени пользователя
а тебе надо поработать с OS Windows
вот там нет ни sudo ни su, и всё отлично работает. все вопросы безопасности полностью решены - система многопользовательская и многозадачная: например, если ты желаешь решить 1 задачу, написать какой-то текст, у тебя автоматически запускаются ещё несколько задач, которые шпионят за тобой, и отправляют твой текст куда следует. Кроме тебя в системе прекрасно живут и другие пользователи, например вирусы, и разные ботнеты. Некоторые борются - ставят антивирусы и фаерволы, что приводит лишь к ещё большему увеличению многозадачности OS Windows.
И с этим ничего не сделать - сам принцип работы антивирусов и фаерволов такой: они заприщают лишь работу некоторых программ и закрывают некоторые типы соединений. Во всех остальных операционных системах иной принцип - запрещено всё, только некоторые файлы могут выполнится, те, которые явно разрешены суперпользователем. Естественно, вся эта система рухнет, если можно будет что-то сделать суперюзеру. Таким образом, в персональном компьютере должен быть 1 пользователь, с жёстко ограниченными правами. Он может запускать некоторые программы, но лишь в жёстко ограниченных рамках. Никакой возможность запустить что-то с правами рута быть не должно. По моему продуманному мнению. Конечно во время настройки и установки так не получится, однако, все мы знаем, что происходило со строителями секретных объектов
она в том, что я разрешил юзеру только обновлятся, а ты - всё что угодно. твой юзер может сделать алиас sudo rm -Rf /, который легко грохнет вашу систему, а мой юзер таким алиасом грохнет только свои настройки. Даже не сможет грохнуть свои данные(а тем более - наши)
а зачем тебе второй root? какой в этом смысл?
скрипты и не должны быть переносимыми, за исключением configure. и как раз на этом скрипте видно, что такое переносимый скрипт - вот первый попавшийся - 628093 байт, не мало для скрипта, правда? Ты мне все такие предлагаешь писать? нет уж... да мой скрипт и не будет иметь никакого смысла в другой системе, там вообще эта задача если и будет иметь решение, то другое, может и не скриптом вовсе...
rcS несколько для другого.
rc.local это как раз то, что мне нужно - после всех прочих скриптов, но до запуска X. И я не вижу никакого криминала в ограничении прав того, что запускается из rc.local - ограничение - это ВСЕГДА хорошо с т.з. безопасности. sudo - отличный инструмент для ограничения прав, почему-бы его не использовать?
зачем? в том-то и дело! это ты сообщаешь
твой юзер, тот что с sudo, в лёгкую может поменять рутовый пароль - sudo passwd
мой - не может, т.к. я своему разрешил только некоторые, нужные ему, команды.
он - пьяный дурак, который лазает по порносайтам
или по LOR и запускает оттуда одностроки на перле...
и давать ему права root'а - в высшей степени неразумно.
Frank писал(а): ↑06.06.2009 11:46На самом деле, в обычной системе не так уж и часто нужны эти права. В большинстве случаев я обхожусь и своими. Если у вас ваших прав не хватает - значит вы неправильно настроили свою систему. По моему продуманному мнению.
Вот это и предпосылка к использованию sudo вместо su. Просто ты ещё не осознал тех слов, которые говоришь, даже когда слова правильные
хм... поясни.
Frank писал(а): ↑06.06.2009 11:46Пойми на данном этапе одно: "это жжж неспроста!" (с) К обеспароливанию рута и широкому использованию sudo пришли разработчики убунты не просто так, а умудрённые опытом построения удобной но защищённой системы. Это всё, что мы тут с тобой перемалываем, они давно обсудили, перемололи, и впитали, а мы теперь пользуемся - либо плюёмся, если не доросли до этого изящного решения.
а почему другие дистрописатели до этого не доросли? или только создатели убунты избранные? почему в мандриве sudo нет вообще? (надо ставить дополнительно)
всё дело в том, что в мандриве(например) есть центр управления, гламурненький такой, с галочками. что-бы туда войти, надо набрать пароль рута, а потом можно управлять и администрировать, и даже консоль там есть. с правами рута разумеется. И это - хорошо. А беспарольный рут для юзера - плохо. А он именно беспарольный, так как s u d o space (пять кнопок) парёлем не считается. и юзерский пароль - тоже.
-
BSDevil
- Сообщения: 112
- ОС: MAC OS X
Re: Автозапуск скрипта от имени пользователя
1) мне sudo -s удобнее чем su. И черт с ней с убунтой, у меня дженту...
2) я один пользователь.
3) да в конце концов, каждому свое.
2) я один пользователь.
3) да в конце концов, каждому свое.

-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Автозапуск скрипта от имени пользователя
в контексте сабжа - мне тоже.
ИМХО некоторые скрипты требуют отдельного пользователя.
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: Автозапуск скрипта от имени пользователя
А почему, собственно, пользовательский пароль не считается?
Мои розовые очки
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Автозапуск скрипта от имени пользователя
watashiwa_darede... писал(а): ↑02.07.2009 11:04А почему, собственно, пользовательский пароль не считается?
потому-что юзерский пароль обычно простой и легко запоминаемый. я например увижу и запомню, как вы набираете "123". а вот пароль рута во первых обычно сложный, во вторых, я навряд ли увижу, как вы его набираете.
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: Автозапуск скрипта от имени пользователя
Вы таки считаете, что если заставить пользователя пользоваться 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: Автозапуск скрипта от имени пользователя
Если задаться целью, то можно увидеть. Улучшение безопасности тут невелико. А вот пароли... Я помню пароли на несколько машин. Хороших, сложных паролей. По Вашей схеме мне нужно в два раза больше паролей, при этом либо голова треснет, либо половина паролей будет типа "123" -- оно мне надо?
Мои розовые очки
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Автозапуск скрипта от имени пользователя
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 /*
ИМХО это - плохо.
-
BSDevil
- Сообщения: 112
- ОС: MAC OS X
Re: Автозапуск скрипта от имени пользователя
У меня у рута и юзера один и тот же пасс, с капсом и цыфрами (это на сервере), и доступ из сети руту заблокирован. А на ноуте достаточно простой, доступа из сети к нему нет.
Кому su кому sudo удобнее. Мне sudo нравится тем, что выполнив к примеру sudo -s я получу права рута, но домашней папкой останется папка пользователя. Мне так удобнее. Вам нарвется su - пожалуйста, юзайте, но зачем каждому навязывать своё мнение? К тому же опуская дистрибутив, который юзают миллионы людей.
какая разница? su -c "rm -rf /*"например suxo rm -Rf /* sad.gif
Кому su кому sudo удобнее. Мне sudo нравится тем, что выполнив к примеру sudo -s я получу права рута, но домашней папкой останется папка пользователя. Мне так удобнее. Вам нарвется su - пожалуйста, юзайте, но зачем каждому навязывать своё мнение? К тому же опуская дистрибутив, который юзают миллионы людей.

-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: Автозапуск скрипта от имени пользователя
Ну, не под рутом же работать :) А если Вы имеете в виду пароль какого-то другого пользователя на машине, то он мне не нужен -- я логинюсь под собой и делаю все, что надо, в том числе и для (и от лица) этого пользователя, ибо права рута я могу получить. Итого, мне на все про все нужен один единственный пароль -- мой. Зачем мне помнить еще один -- рутовый?
Это не релевантно. Причем тут юзерские аккаунты и как дополнительный рутовый пароль и su помогает против них по сравнению с sudo и паролем пользователя-администратора?
Именно так, но проблема не в sudo и не в том, что пароль пользовательский. Проблема -- в таймауте, который можно и выключить.
... кроме того, что это еще одно место, где можно что-то сломать, а по закону Мерфи то, что можно сломать, обязательно сломают. Правда, то, что нельзя сломать, тоже сломают, но чуть реже :)
Мои розовые очки
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Автозапуск скрипта от имени пользователя
BSDevil писал(а): ↑02.07.2009 14:57У меня у рута и юзера один и тот же пасс, с капсом и цыфрами (это на сервере), и доступ из сети руту заблокирован. А на ноуте достаточно простой, доступа из сети к нему нет.какая разница? su -c "rm -rf /*"например suxo rm -Rf /* sad.gif
Кому 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Это не релевантно. Причем тут юзерские аккаунты и как дополнительный рутовый пароль и su помогает против них по сравнению с sudo и паролем пользователя-администратора?
а зачем эта сущность "пользователь-админ"?
watashiwa_darede... писал(а): ↑02.07.2009 18:58... кроме того, что это еще одно место, где можно что-то сломать, а по закону Мерфи то, что можно сломать, обязательно сломают. Правда, то, что нельзя сломать, тоже сломают, но чуть реже
расскажите КАК...
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: Автозапуск скрипта от имени пользователя
Все-таки не совсем. Во-первых, дополнительная защита от самого себя -- надо вводить sudo, а значит, тот же rm -rf /* не пройдет. Во-вторых, какая-никакая, а защита учетки рута есть -- мой ли пароль, рутовый ли, а знать его надо, чтобы получить привилегии. Будут реальные (а не теоретические) угрозы получения рута через таймаут -- отключу таймаут.
Чтоб раздвоение личности не заработать :) Чем две виртуальных личности "пользователь" и "админ" на одну реальную лучше, чем соответствие 1:1?
Мои розовые очки
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: Автозапуск скрипта от имени пользователя
sudo? Да банально -- забыть перейти в insert mode в vi и случайно грохнуть эту строку в редакторе, который умеет только мерзко пищать и портить файлы :)
Мои розовые очки