Голосование

Что Вы думаете о феномене "su/su -"?

Пусть будет как есть
25 (45.5%)
su должно делать тоже, что su - сейчас
11 (20%)
О чем это?
4 (7.3%)
Мне все равно
4 (7.3%)
Я привык использовать su -, но не знаю зачем тогда su?
11 (20%)

Проголосовало пользователей: 50

Автор Тема: Через какое время здесь на форуме разгорится флейм "su vs su -" ?  (Прочитано 25418 раз)

Оффлайн astroill

  • Завсегдатай
  • *
  • Сообщений: 51
  • Астрономия и Линукс!
    • Кубанский Астроклуб 45
    • Email
Одно из двух:
1. Я плохо объяснил.
2. Меня просто не читают, т.к. "чукча писатель, чукча не читатель"  ;D
Поскольку второе мне не подвластно, то постараюсь кратко и доходчиво изложить свои мысли. ;)
Человек (и сисадмин, и начинающий пользователь) существо ленивое.
Поэтому придумали алиасы, автодополнения копи-паст и многое другое для облегчения труда клацанья по клавишам.
Со времен создания Юникса (когда комманды были маленькими) разработчики стали более трудолюбивее, о чем говорит то, что все новые утилиты и команды
становятся в названиях огромными, обрастают длиннючими ключами и раёк прежнего Юникса с его коротенькими (по длинне названия) утилитами (cd rm cp mv) канул в лета.
Да и для скриптов не важно какой длины комманда, размер скрипта существенно не увеличится.
Но ведь есть задачи которые приходиться набирать очень часто вручную.
Например, переход от пользователя в суперпользователя. По досадной случайности для этих целей перехода надо набирать “su -”, т.к. эффект без минуса будет не тот, что нам надо для полноценной работы.
Я решил, что раз нельзя изменить для удобства пользования саму комманду su, то может воспользоваться мощью алиас, например:
alias cr=”su -”
Можно не "cr", а например "2r" или "ro".

Некоторые (наверно для регулярной тренировки 10-пальцевого метода) :) придумали себе:
alias su_s_minusom="su -"
Правда у этого алиаса отсутствует смысл.

Вы зациклились на одном только поведении su. Я же рассматриваю оба (потому как пользуюсь обоими режимами), которые семантически отличаются указанием дефиса. Поэтому мне странно слышать, что кто-то собирается упразднить деление поведения su (с дефисом и без него).
Не приписывайте мне, то, что я не писал. Про "упразднение деления поведения" я никогда не говорил. Во всяком случае я не предлагал слить оба режима в один.
Нельзя делая одно ломать другое.
Цитировать
Цитировать
Ну никак я не могу придумать зачем может понадобиться менять пользователя не поменяв окружение.
Например, чтобы задействовать свои переменные среды окружения. Предлагаете совершать мартышкин труд и переносить десятки алиасов и переменных среды в профиль другого пользователя?
А пример? Покажите скрипт где используется "su пользователь"? Или так часто нужно входить, со своим окружением? А уж в руте точно нечего делать.
Есть 3 способа использовать su:
1. su -l (он же su -)
2. su -c
3. su
Первые 2 используются часто, а третий имеющий самую лаконичную форму и оказался как раз самый экзотический в применении.
Цитировать
Цитировать
Придумал! Раз нельзя поменять комманду "su -" на "su", может просто прописать алиас:
alias cr=`su -`
cr - change root
И волки целы и овцы сыты :D
Вы наденете вериги, пойдёте по миру и будете обучать всех пользователей этой новой команде, упрашивать сотни дистрибутивостроителей использовать этот алиас, а также уговорите всех издателей написать об этом потрясающем алиасе? ;)
Ну можно начать с малого, с одного дистрибутива и дальше в массы... ;)
Или есть в мире хоть один дистрибутив на форумах которого нет баталий подобно этой?
Получается проще объяснять, что надо пользоваться "su -" вместо "su", чем сказать: "Для входа под суперпользователем пользуйтесь коммандой cr"?
Все, что я пишу - ИМХО и может не совпадать с реальностью.

Оффлайн wRAR

  • Завсегдатай
  • *
  • Сообщений: 469
Или есть в мире хоть один дистрибутив на форумах которого нет баталий подобно этой?
Дебиан?

Оффлайн Damir

  • alt linux team
  • ***
  • Сообщений: 134
Цитировать
Некоторые (наверно для регулярной тренировки 10-пальцевого метода) придумали себе:
alias su_s_minusom="su -"
Правда у этого алиаса отсутствует смысл.
Это был тонкий намёк. Видимо придется оформлять более явно: приучить себя писать su - гораздо проще, чем запоминать высосанные из пальца сокращения типа cr (неудачная пародия на chroot) или других или настраивать alias.
Ceterum censeo LORum esse delendam

Оффлайн wRAR

  • Завсегдатай
  • *
  • Сообщений: 469
Некоторые (наверно для регулярной тренировки 10-пальцевого метода) :) придумали себе:
alias su_s_minusom="su -"
Не себе, а вам.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 576
    • Домашняя страница
    • Email
Но ведь есть задачи которые приходиться набирать очень часто вручную.
Например, переход от пользователя в суперпользователя.
Неужели это так часто происходит? Если вам так часто нужно переключаться в root, то используется или отдельная консоль, для которой ввели su - один раз (после чего вводятся сотни команд), или настраивается парольный/беспарольный sudo.
Цитировать
По досадной случайности для этих целей перехода надо набирать “su -”, т.к. эффект без минуса будет не тот, что нам надо для полноценной работы.
Ваша проблема в том, что вы пытаетесь обобщать. Работа и с su (без -) может быть полноценной (если, конечно, знаешь все эти нюансы).
Цитировать
Я решил, что раз нельзя изменить для удобства пользования саму команду su, то может воспользоваться мощью алиас, например:
alias cr=”su -”
Можно не "cr", а например "2r" или "ro".
Вы молодец! Это именно Unix-way, когда из кирпичиков настраивается удобное рабочее окружение. Пользователь вправе придумывать самые разные алиасы и команды. И никто не вправе критиковать такую свободу. Проблемы возникают тогда, когда эти самодельные алиасы просят добавить в дистрибутив. ;)
Цитировать
Не приписывайте мне, то, что я не писал. Про "упразднение деления поведения" я никогда не говорил. Во всяком случае я не предлагал слить оба режима в один. Нельзя делая одно ломать другое.
Неужели? Как понимать вашу фразу:
...Если "su" не востребованная команда, а "su -" очень востребованная, то смысла нет в этом дополнительном дефисе. Т.е. проще было бы его убрать, а для "исключения применения окружения" добавить специальный ключ.
?? По логике, при замещении поведения su на su - как раз (с точки зрения скриптов и привычек пользователей) произойдёт слияние.
Цитировать
А пример? Покажите скрипт где используется "su пользователь"? Или так часто нужно входить, со своим окружением? А уж в руте точно нечего делать.
Отладка сервера на CLIP.
Цитировать
Ну можно начать с малого, с одного дистрибутива и дальше в массы... ;)
Или есть в мире хоть один дистрибутив на форумах которого нет баталий подобно этой?
Навряд ли ALT с его консервативностью пойдёт на такой шаг. Про остальных не знаю. Возможно, найдутся экспериментаторы.
Андрей Черепанов (cas@)

Оффлайн astroill

  • Завсегдатай
  • *
  • Сообщений: 51
  • Астрономия и Линукс!
    • Кубанский Астроклуб 45
    • Email
Неужели это так часто происходит? Если вам так часто нужно переключаться в root, то используется или отдельная консоль, для которой ввели su - один раз (после чего вводятся сотни команд), или настраивается парольный/беспарольный sudo.
Это если один домашний комп или сервер. А если их много? А если я на них захожу удаленно? И что значит ввести один раз? Я зашел, настроил, что надо и вышел.
Цитировать
Ваша проблема в том, что вы пытаетесь обобщать. Работа и с su (без -) может быть полноценной (если, конечно, знаешь все эти нюансы).
А давайте устроим опрос? Кто использует на практике "su пользователь"?
Цитировать
Вы молодец! Это именно Unix-way, когда из кирпичиков настраивается удобное рабочее окружение. Пользователь вправе придумывать самые разные алиасы и команды. И никто не вправе критиковать такую свободу. Проблемы возникают тогда, когда эти самодельные алиасы просят добавить в дистрибутив. ;)
Спасибо. Попытка - не пытка.  ::)
Цитировать
Цитировать
Не приписывайте мне, то, что я не писал. Про "упразднение деления поведения" я никогда не говорил. Во всяком случае я не предлагал слить оба режима в один. Нельзя делая одно ломать другое.
Неужели? Как понимать вашу фразу:
...Если "su" не востребованная команда, а "su -" очень востребованная, то смысла нет в этом дополнительном дефисе. Т.е. проще было бы его убрать, а для "исключения применения окружения" добавить специальный ключ.
?? По логике, при замещении поведения su на su - как раз (с точки зрения скриптов и привычек пользователей) произойдёт слияние.
Ну не слияние, а именно замещение. И если посмотреть на те скрипты, что используют su то станет видно, что ничего в скриптах переписывать не надо будет.
На худой конец где нибудь в экзотическом месте поменяется "su" на "su -блабла" т.е. с ключом "не загружать окружение".
Т.ч. при правильном подходе к "обновлению su", поменяется только его интерактивный вызов. Не сломав функционал использующийся для скриптов (-c -l -s).
Цитировать
Цитировать
А пример? Покажите скрипт где используется "su пользователь"? Или так часто нужно входить, со своим окружением? А уж в руте точно нечего делать.
Отладка сервера на CLIP.
Ну ладно, 1% зачтен. ;)
Цитировать
Цитировать
Ну можно начать с малого, с одного дистрибутива и дальше в массы... ;)
Или есть в мире хоть один дистрибутив на форумах которого нет баталий подобно этой?
Навряд ли ALT с его консервативностью пойдёт на такой шаг. Про остальных не знаю. Возможно, найдутся экспериментаторы.
Даже консервативнее Дебиана?  :o
Все, что я пишу - ИМХО и может не совпадать с реальностью.

Оффлайн wRAR

  • Завсегдатай
  • *
  • Сообщений: 469
Даже консервативнее Дебиана?  :o
АПВС?
В дебиане-то и без минуса PATH сбрасывается.

Оффлайн wRAR

  • Завсегдатай
  • *
  • Сообщений: 469
И если посмотреть на те скрипты, что используют su то станет видно, что ничего в скриптах переписывать не надо будет.
Вы их посмотрели? Все? :)

Оффлайн astroill

  • Завсегдатай
  • *
  • Сообщений: 51
  • Астрономия и Линукс!
    • Кубанский Астроклуб 45
    • Email
И если посмотреть на те скрипты, что используют su то станет видно, что ничего в скриптах переписывать не надо будет.
Вы их посмотрели? Все? :)
Так и знал, что меня на этой фразе подловят.
Разумеется нет. "Нельзя объять необъятное".
Ну может примерчик конкретный?
Все, что я пишу - ИМХО и может не совпадать с реальностью.

Оффлайн wRAR

  • Завсегдатай
  • *
  • Сообщений: 469
Так и знал, что меня на этой фразе подловят.
Разумеется нет. "Нельзя объять необъятное".
Ну может примерчик конкретный?
Так ..... тогда говорите за все?
« Последнее редактирование: 17.10.2008 14:55:47 от ruslandh »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 576
    • Домашняя страница
    • Email
Это если один домашний комп или сервер. А если их много? А если я на них захожу удаленно? И что значит ввести один раз? Я зашел, настроил, что надо и вышел.
Это значит, что достаточно ввести в одном сеансе один раз, затем будет много команд. Но su - — всего единожды для сеанса. Если у вас много компьютеров, то помогают сеансы screen, вход по ключу, настроенный sudo, интерфейс alterator и прочие технологии, сильно облегчающие жизнь. Я спрашивал у разработчиков — su - составляет менее 0,5% от общего количества команд.
Цитировать
Цитировать
Отладка сервера на CLIP.
Ну ладно, 1% зачтен. ;)
Ваши предложения — ещё меньше. См. выше.
Цитировать
Даже консервативнее Дебиана?  :o
Примерно так же.
Андрей Черепанов (cas@)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 576
    • Домашняя страница
    • Email
Разумеется нет. "Нельзя объять необъятное".
Ну может примерчик конкретный?
Зачем нужны конкретные примеры из практики, если речь идёт про совместимость и, следовательно, безопасность. Или вы оставляете квартиру открытой, потому что раньше не грабили?
Андрей Черепанов (cas@)

Оффлайн Damir

  • alt linux team
  • ***
  • Сообщений: 134
Для иллюстрации выполните следующие команды:

Цитировать
mkdir -p ~/bin
echo -e '#/bin/sh\necho "My Mega Program"' > ~/bin/myprogram
chmod +x ~/bin/myprogram
export PATH=$PATH:$HOME/bin

Далее посмотрите на разницу между
Цитировать
su -c myprogram
su - -c myprogram

Контрольные вопросы к заданию:
1. Когда бывает важно сохранить окружение при переключении на другого пользователя?
2. Когда бывает важно очищать окружение при переключении на другого пользователя?
3. Что делать, если надо запустить myprogram от рута?
4. Если в ~/bin кто-нибудь положит исполняемый файл типа ifconfig или ls, который делает rm -rf /, то что будет, если su запускается без минуса?
5. То же, что и в 4, но только su запускается с минусом.
6. Почему поведение su ни в коем случае нельзя менять?
« Последнее редактирование: 17.10.2008 15:44:51 от Damir »
Ceterum censeo LORum esse delendam