Войти

Показать полную графическую версию : запуск бинарника от другого пользователя


nix_lamer
13-10-2006, 04:14
привет всем.
Запускаю бинарник. он при запуске пишет, что не требует root'а

вопрос - как запустить от другого пользователя в автозагрузке?
спасибо

fossil
13-10-2006, 06:15
Например прописать в ./bashrc

ruslandh
13-10-2006, 06:58
См ман по
su, su - и sudo
Последний вариант (запуск через sudo) особенно элегантен.



не требует root'а

это что за дистрибутив или программа, которая так себя культурно ведёт ? :)
Конечно это скорей всего описка, но из всех программ, которые не хотели запускаться под root мне известен rpmbuild в ALTLinux (защита от слома системы при построении пакета).

nix_lamer
13-10-2006, 11:13
это что за дистрибутив или программа, которая так себя культурно ведёт ?
Конечно это скорей всего описка, но из всех программ, которые не хотели запускаться под root мне известен rpmbuild в ALTLinux (защита от слома системы при построении пакета).
anope сервисы для ircd :)
они работают и под root'ом
но при старте пишет - "You are currently running Anope as the root superuser. Anope does not require root privileges to run, and it is discouraged that you run Anope as the root superuser"
вот и решил - секьюрити и все такое :) и нужно запускать от другого обычного пользователя. ))

Например прописать в ./bashrc
это наверно не то, что нужно :)
su, su - и sudo
Последний вариант (запуск через sudo) особенно элегантен.
Спасибо!

mar
13-10-2006, 12:23
nix_lamer
вот и решил - секьюрити и все такое и нужно запускать от другого обычного пользователя. ))
Стоп. Вы, надеюсь не хотите сказать, что все время работает под root и обычный юзер понадобился только для запуска этой программы?

[mzd]
13-10-2006, 12:34
mar
You are currently running Anope as the root superuser
Похоже на то.
Уважаемый nix_lamer. В Linux крайне настоятельно рекомендуется работать под бюджетом суперпользователя только в самых крайних случаях. У этой операционной системы достаточно средств, позволяющих обычному пользователю выполнять административные функции. Об одном из них ruslandh вам уже рассказал.

nix_lamer
14-10-2006, 05:08
mar да. именно так.
Уважаемый nix_lamer. В Linux крайне настоятельно рекомендуется работать под бюджетом суперпользователя только в самых крайних случаях.
не один раз слышал об этом.
однако вопрос -
если я не постоянно работаю в системе, а захожу только для того, чтобы что-то настроить, зачем мне работать под обычным пользователем?
работаю с раб. станции стоящей рядом. по ssh. Перехватить не должны пароль..
свои действия тоже контролирую - ничего сломать не должен случайно..

почему так не рекомендуется работать под root'ом?

ruslandh
14-10-2006, 08:58
Потому, что можно разрушить систему от простой орфографической ошибке в запускаемом вами скрипте. (как пример).
Для администрирования есть sudo - прописываете туда те команды, которые вам нужно выполнять под root, а дальше вас спасает "собственная лень" - прежде чем сделать что-то новое под root - вы автоматом думаете - а нельзя-ли без этого обойтись.

PS Это манера или стиль работы в Linux - если первым делом начал работать в root - это или "мигрант из Windows" или очень безалаберный человек :)
Работа под root - это дурная привычка, типа курения :) - лишний риск сломать систему. Если вы спокойно можете её сломать, то вам кроме игрушечных систем доверять ничего стоящего не стоит :)
PPS Это не наезд на конкретные личности - это как-бы рассказ человека, который имеет в подчинении несколько молодых Сисадминов

nix_lamer
14-10-2006, 13:03
ruslandh спасибо за ответ :) я действительно мигрант из windows :) буду избавляться от дурных привычек. ))
по поводу наезда.. я пришел с форумов, где жесткий стёб - норма, так что все ок :)

kim-aa
14-10-2006, 15:06
nix_lamer
работаю с раб. станции стоящей рядом. по ssh. Перехватить не должны пароль..
Ну вобще-то во многих *nix, в настройках по умолчанию явно запрещена удаленное подключение под root.
Т. e. Вы должны залогинится под пользователем и выполнить su.

2)
мигрант из Windows - не совсем корректное высказывание.
Я бы сказал "безалаберный мигрант из Win"
Во всех документах по администрированию NT систем, практически на первых страницах, явно заявляется о недопустимости постоянной работы под аккаунтом Администратор'а (иное дело, что на практике такое не всегда возможно, но это уже корявость "реализации", а не "Техпроекта")

mar
15-10-2006, 23:33
внесу свои 5 копеек

пример номер раз (свежий) - только что попросили помочь разобраться - у людей на сервере отрубило апач. Вот прямо-таки отрубило и все. Мои действия -
1) зайти на сервер по ssh и посмотеть нужные логи (не требует root)
2) из логов выясняем где что не так (аналогично)
3) говорим sudo -s (или на других системах su, но там достаточно этого и своего пароля), правим то, что нужно. запускаем апач и отлогониваемся
все остальное (если нужно) - уже от себя.

пример номер два - старый - звонит друг и начинает задавать весьма странные вопросы по юниксу. У меня возникают стр-р-р-рашные подозрения, пара наводящих вопросов и - вуаля, выясняем, что человек, работая root-ом в linux, да еще (чтоб проще было, ага, как же иначе?) в mc, нажал там на F8, когда курсор находился на одном из каталогов в / Смешно? Ему после перезагрузки было не очень :) Хорошо, что не /etc с индивидуальными настройками снес - восстановили с установочного cd =)

и еще, nix_lamer, (не в обиду. ладно? :)) - я знаю очень мало случаев, когда на сервере нужны X-ы.


kim-aa
ms позиционируют по сути аналог su, как большое достижение Vista в плане безопасности =)

nix_lamer
20-10-2006, 05:04
я знаю очень мало случаев, когда на сервере нужны X-ы.
у меня на сервере их нет :)

пример из midnight commander показателен. Спасибо. :)
не в обиду - легко! :)

Igor_I
02-01-2007, 20:18
Потребовалось запустить программу от пользователя, microdc2 (консольный клиент DC++).
Требуется запустить от определенного пользователя, при этом должно считать конфигурацию из своего каталога. И локаль должна быть UTF-8.
Просто sudo -u * microdc2 - у пользователя нет прав на чтение /root/*** - все правильно :)
sudo -H -c rusutf8 -u microdc2 microdc2 - конфиг читается, но нет юникода - файлы не скачиваются, путь неправилен.
rusutf8 - это специально созданный класс

ruslandh
02-01-2007, 20:34
Читаем man sudo

"-H" Параметр -H (HOME) устанавливает значение переменной окружения HOME к
домашнему каталогу целевого пользователя (по умолчанию root),
определенную в passwd(5). По умолчанию sudo не изменяет HOME.

"-c" Параметр -c (класс) заставляет sudo выполнить определенную команду с
ограничением ресурсов, свойственным указанному классу пользователя.
Параметр класс может быть либо именем класса, указанным в
/etc/login.conf, или знаком -. Указание класс с помощью - означает, что
команда будет выполнена с учетом прав того пользователя, от имени
которого эта команда выполняется. Если параметр класс указывает на
текущий класс пользователя, то команда должна быть выполнена от имени
root, или команда sudo должна выполняться из оболочки суперпользователя
(root). Этот параметр доступен с BSD-классом входа в систему, где sudo
был сконфигурирован с параметром --with-logincap.

Я подозреваю что-то с правами не так.
А текущая локаль какая ?

Igor_I
02-01-2007, 21:24
Примерно так, наверно
/usr/bin/su microdc2 -c /usr/local/bin/microdc2

ruslandh
02-01-2007, 21:29
/usr/bin/su - microdc2 -c /usr/local/bin/microdc2
?

Igor_I
02-01-2007, 22:46
В консоли, что у root , что у пользователя - KOI8-R.


Ладно запустить вроде получилось, теперь надо как-то вывести сообщения в какую-то консоль. Если поставить & либо > то программа получает (null) пишет себе exit и благополучно закрывается. А в нулевую консоль нехочется мусорить, и так там навалом :)
---
А нифига :) все время в конце было & , поэтому программа и закрывалась. Но теперь в нулевой консоли даже до логина не доходит.

ruslandh
02-01-2007, 23:14
Igor_I
Может проще у автора спросить как с кодировками быть (он вроде русский) ?

The author of microdc2, Vladimir Chugunov, can be contacted by e-mail on the following address:
vladch_@_k804.mainet.msk.su




© OSzone.net 2001-2012