LINUX.ORG.RU
ФорумTalks

Суровое слакварное HOWTO

 ,


0

2

Накатил сейчас Slackware 15-RC1 в virtualbox, обновил до последнего current, который нынче - всё тот же 15-RC1. Создал пользователя, а прав выполнять sudo у него нет. Я в курсе как это настраивается, но решил нагуглить официальную документацию, чтобы всё было по Патрику и что же я нагуглил? А вот это непотребство:

https://docs.slackware.com/howtos:misc:enabling_sudo_on_slackware

Судя по всему сам Патрик sudo не использует, а его последователи, которые таки используют, правят /etc/group в nano, для создания группы sudo и добавления в эту группу требуемых пользователей. Про команды groupadd и groupmems они не знают. Затем, при помощи всё того же nano предлагается править /etc/sudoers, что говорит о незнании команды visudo.

P.S. физики в метках тут при том, что они это выбирают.

UPDATE:

После прочтения комментариев лишний раз убедился в том, что:

  • большинство экспертов LOR-а - непрофессионалы
  • Linux сообщество весьма токсично и демагогично


Последнее исправление: hummer (всего исправлений: 1)
Ответ на: комментарий от anc

Нажми на «Показать ответы» и побереги горло.

hummer
() автор топика
Ответ на: комментарий от Stanson

Он его с песнями и плясками запускает, что-ли?

Ты читать мануалы совсем не умеешь?

Бубунта, что-ли? Ну такой себе пример. В нормальных системах всегда есть полноценный root.

Но у тебя его может не быть. Понимаешь разницу?

hummer
() автор топика
Ответ на: комментарий от hummer

А что ты дальше не цитируешь?

editor

A colon (‘:’) separated list of editors allowed to be used with visudo. visudo will choose the editor that matches the user's SUDO_EDITOR, VISUAL or EDITOR environment variable if possible, or the first editor in the list that exists and is executable. Note that sudo does not preserve the SUDO_EDITOR, VISUAL or EDITOR environment variables unless they are present in the env_keep list or the env_reset option is disabled in the sudoers file. The default editor path is ~ which can be set at compile time via the --with-editor configure option.

env_editor

If set, visudo will use the value of the SUDO_EDITOR, VISUAL or EDITOR environment variables before falling back on the default editor list. Note that visudo is typically run as root so this option may allow a user with visudo privileges to run arbitrary commands as root without logging. An alternative is to place a colon-separated list of “safe” editors int the editor variable. visudo will then only use SUDO_EDITOR, VISUAL or EDITOR if they match a value specified in editor. If the env_reset flag is enabled, the SUDO_EDITOR, VISUAL and/or EDITOR environment variables must be present in the env_keep list for the env_editor flag to function when visudo is invoked via sudo. The default value is on, which can be set at compile time via the --with-env-editor configure option.
greenman ★★★★★
()
Ответ на: комментарий от hummer

Ты читать мануалы совсем не умеешь?

Где в мануале написано что оно как-то особо хитрожопо запускает редактор?

Но у тебя его может не быть. Понимаешь разницу?

Т.е. sudo с возможностью править sudoers есть, а рута нет? Какой в этом может быть смысл?

Stanson ★★★★★
()
Ответ на: комментарий от hummer

Ну и почему вы говорите только про passwd/group ?

Потому что они отвечают за доступ к системе.

А что другие файлы не считаются?

Файлы типа httpd.conf не являются системными и возможные ошибки в них менее критичны.

Приплыли. Ну, а данные так вообще фигня какая-то валяется, только место занимает. Главное это целостность passwd/group! Всё остальное нинужно. А я дурак бэкапы бд, файликов делаю... во я лох, это сколько же места можно сэкономить если вместо них в бэкап отправлять только /etc/passwd и /etc/group. Теперь прям и не знаю как об этом шэфу сказать. Он же прибьет меня когда прикинет на калькуляторе сколько бабла на ветер улетело за эти годы. :( Печалька :(

anc ★★★★★
()
Ответ на: комментарий от anc

Кстати, смотря что подразумевать под фразой «систем ты запорол».

Да не знает он, но и не хочет слушать как упёртый баран. Ибо про про одновременную правку он, похоже, всего несколько часов назад понял, а про то, что если не запороть первую строку с root в passwd, то «запороть систему» в принципе невозможно, если только не считать, что запорят обычные пользователи, которые на радостях будут вызывать открытое на всё по ошибке sudo и специально всё ломать.

vodz ★★★★★
()
Ответ на: комментарий от Dog

Хз стоит ли она там по дефолту, в репе точно есть) А если и нет, есть в слакбилдах.

Точно в дистре есть, под рукой самая старая 12.2, в наличии присутствует.

anc ★★★★★
()
Ответ на: комментарий от Stanson

А не приходила в голову мысль о причине, по которой в линуксе все конфиги текстовые?

В классическом UNIX, из которой Linux всё это унаследовал. Текстовый формат конфигов вовсе не означает, что их всегда можно редактировать обычным редактором. Этот формат был выбран вместо бинарного, скорее всего, из-за наличия libc в качестве системной библиотеки, в которой уже тогда появился достаточно богатый набор функций для работы с текстом. Это давало определённую гибкость и не мешало UNIX-way. Например ты можешь читать эти файлы своими скриптами и пропускать через grep, awk, sed. С бинарными форматами это было бы затруднительно.

Ну пока ещё.

В некоторых системах уже не все.

hummer
() автор топика
Последнее исправление: hummer (всего исправлений: 1)
Ответ на: комментарий от greenman

А что ты дальше не цитируешь?

Ну вот тебе дальше:

visudo parses the sudoers file after editing and will not save the changes if there is a syntax error.

Всё ещё не ясно, что visudo - это не просто запускалка для текстового редактора?

hummer
() автор топика
Ответ на: комментарий от Stanson

Где в мануале написано что оно как-то особо хитрожопо запускает редактор?

Там же, в начале. Я уже @greenman -у процитировал. Почему вы оба не умеете читать?

hummer
() автор топика
Последнее исправление: hummer (всего исправлений: 1)
Ответ на: комментарий от hummer

Текстовый формат конфигов вовсе не означает, что их всегда можно редактировать обычным редактором.

Да неужели. В очень особых случаях в таких конфигах пишут в самом начале что-то типа «DO NOT EDIT THIS FILE - generated from /xxx/yyy/zzz». Да и то, отредактировать всё равно можно, просто скорее всего при перезапуске софтины или после какого-нибудь действия файлик сгенерится заново и все правки будут затёрты.

В некоторых системах уже не все.

Это в каких же?

Stanson ★★★★★
()
Ответ на: комментарий от hummer

Да какая разница, как оно там с sudoers потом пердолится. Какой-нибудь git commit вообще кучу всего может делать, после редактирования commit message. Редактор-то тупо запускается из $EDITOR. Так же, как при sudo -e

Stanson ★★★★★
()
Ответ на: комментарий от anc

Приплыли. Ну, а данные так вообще фигня какая-то валяется, только место занимает. Главное это целостность passwd/group! Всё остальное нинужно. А я дурак бэкапы бд, файликов делаю… во я лох, это сколько же места можно сэкономить если вместо них в бэкап отправлять только /etc/passwd и /etc/group. Теперь прям и не знаю как об этом шэфу сказать. Он же прибьет меня когда прикинет на калькуляторе сколько бабла на ветер улетело за эти годы. :( Печалька :(

Печелька тут лишь в том, что ты споришь сам с собой. О резервном копировании данных я вообще ничего не говорил. Кстати, твоё резервное копирование, скорее всего, накроется медным тазом, когда соответствующий сервис просто не сможет запуститься с необходимыми правами из-за поломанного /etc/group.

hummer
() автор топика
Ответ на: комментарий от hummer

поломанного /etc/group.

Может расскажешь уже, как вообще можно поломать /etc/group?

Что нужно накорябать в одной из строчек /etc/group чтобы поломался весь файл?

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от Stanson

Да какая разница, как оно там с sudoers потом пердолится.

Ещё раз, для неумеющий читат: «visudo parses the sudoers file after editing and will not save the changes if there is a syntax error

hummer
() автор топика
Ответ на: комментарий от hummer

А редактор-то тут при чём? Ты вообще в курсе, что оно копирует sudoers в sudoers.tmp, тупо запускает редактор на последнем, а уже потом, когда процесс редактора завершится, проверяет этот sudoers.tmp и если его всё удовлетворило, то копирует его поверх старого sudoers. На поведение редактора, в том числе на сохранение изменений в редактируемом этим редактором sudoers.tmp visudo вообще никак не влияет.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Может расскажешь уже, как вообще можно поломать /etc/group?

Множеством способов.

Что нужно накорябать в одной из строчек /etc/group чтобы поломался весь файл?

Погугли реальные истории. И находясь в обычном текстовом редакторе ты вовсе не ограничен одной строкой.

hummer
() автор топика
Ответ на: комментарий от hummer

Текстовый формат конфигов вовсе не означает, что их всегда можно редактировать обычным редактором.

...

пропускать через sed

Вы между этими двумя фразами успели поменять точку зрения? Шустро.

anc ★★★★★
()
Ответ на: комментарий от Stanson

А редактор-то тут при чём? Ты вообще в курсе, что оно копирует sudoers в sudoers.tmp, тупо запускает редактор на последнем, а уже потом, когда процесс редактора завершится, проверяет этот sudoers.tmp и если его всё удовлетворило, то копирует его поверх старого sudoers. На поведение редактора, в том числе на сохранение изменений в редактируемом этим редактором sudoers.tmp visudo вообще никак не влияет.

Он проверяет этот sudoers.tmp перед копирование в sudoers. Если ты просто запустишь nano/vim/vi на /etc/sudoers никакой валидации не будет. Я уже устал объяснять и разжёвывать очевидные вещи.

hummer
() автор топика
Ответ на: комментарий от hummer

Множеством способов.

Меня и один устроит.

И находясь в обычном текстовом редакторе ты вовсе не ограничен одной строкой.

В смысле? Если мне надо добавить или отредактировать одну строчку, с какого перепугу всё остальное похерится? Как люди вообще в редакторах код редактируют или там документацию? Не, наверно если посадить обезьяну за клавиатуру и открыть ей в редакторе /etc/group то теоретически она может похерить всё. Но нахера это делать?

Stanson ★★★★★
()
Ответ на: комментарий от hummer

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

anc ★★★★★
()
Ответ на: комментарий от greenman

Запускалка с проверялкой. Вроде так.

Ну так о чём мы спорим? О том, что проверялка не нужна и твои глаза всегда всё заметят, даже в конце рабочего дня?

hummer
() автор топика
Ответ на: комментарий от hummer

проверяет этот sudoers.tmp и если его всё удовлетворило, то копирует его поверх старого sudoers.

Он проверяет этот sudoers.tmp перед копирование в sudoers.

Ты не читаешь то, на что отвечаешь.

greenman ★★★★★
()
Ответ на: комментарий от hummer

Началось с того, что было написано, что запускаемый редактор может быть не только vi(m). Спорить начал ты.

greenman ★★★★★
()
Ответ на: комментарий от greenman

Ты не читаешь то, на что отвечаешь.

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

hummer
() автор топика
Ответ на: комментарий от hummer

Он проверяет этот sudoers.tmp перед копирование в sudoers.

Да какая нафиг разница что он там делает потом, когда редактор уже сделал своё дело и завершился? Запускает-то он его тупо и просто используя указанный в $EDITOR исполняемый файл и передавая ему в качестве аргумента /etc/sudoers.tmp Всё. Никакой магии с запуском редактора visudo не делает.

13900 pts/3    S+     0:00 visudo
13901 pts/3    S+     0:00 vi -- /etc/sudoers.tmp
Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от greenman

Началось с того, что было написано, что запускаемый редактор может быть не только vi(m). Спорить начал ты.

Это было написано не мной и вообще не относится к данной теме. Спор начался из-за того, что кое кто принципиально не хочет пользоваться такими системными утилитами, а правит системные файлы обычным текстовым редактором.

hummer
() автор топика
Ответ на: комментарий от Stanson

Да какая нафиг разница что он там делает потом, когда редактор уже сделал своё дело и завершился?

Спор начался не про выбор редактора, а про то, что лезть редактором в /etc/sudoers напрямую опасно и нужна валидация. Вот поэтому visudo и нужен.

hummer
() автор топика
Ответ на: комментарий от hummer

Вот начальная фраза

visudo тупо запускает редактор прописанный в $EDITOR или $VISUAL хоть тот же nano.

Ты её интерпретировал, что не надо запускать visudo, можно запускать напрямую nano. В этом твоя ошибка.

greenman ★★★★★
()
Ответ на: комментарий от hummer

Спор начался не про выбор редактора,

Нет. У пассажира Dog visudo хотел /usr/bin/vi. Я ему сказал, что visudo тупо запускает что угодно прописанное в $EDITOR. Пришёл ты и начал рассказывать про какую-то волшебную магию visudo которая не даёт редактору сохранить редактируемый файл если там ошибки.

а про то, что лезть редактором в /etc/sudoers напрямую опасно и нужна валидация.

И про то, что это очень редкий юзкейс на каком-то очень упоротом дистрибутиве, где нет настоящего рута и юзеру приходится пердолится с sudo.

Вот поэтому visudo и нужен.

Да нафиг он не нужен никому, на самом деле. Абсолютное большинство людей более чем способно без ошибок набрать строчку из 10-20 символов и при этом не похерить всё остальное.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от Stanson

Парсинг sudoers может сломаться на неправильном переводе строки. Или чем-то подобном, невидимом пользователю. Так что проверка нужна.

greenman ★★★★★
()
Ответ на: комментарий от greenman

Тупо запускает - означает, что больше ничего не делает. В любом случае мне не понятно как ты продолжал со мной спорить, видя, что спор не о том, что хотел сказать ты?

hummer
() автор топика
Ответ на: комментарий от Stanson

Да нафиг он не нужен никому, на самом деле.

Ага. Синтаксические ошибки конечно проверит, но от выстрела в ногу ниразу не защитит.

anc ★★★★★
()
Ответ на: комментарий от greenman

Парсинг sudoers может сломаться на неправильном переводе строки.

Не редактируй sudoers в notepad, только и всего. Вот nano, например, есть - у него с переводами строк проблем никаких нету.

И даже если «парсинг sudoers» таки сломается. Что такого ужасного может произойти из-за этого в слаке?

ЗЫ: кстати, ради прикола проверил - воткнул \r\n в sudoers. Ничего не сломалось.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от hummer

Тупо запускает - означает, что больше ничего не делает.

Нет, тупо запускает - означает что просто берёт что написано в переменной и запускает.

В любом случае мне не понятно как ты продолжал со мной спорить, видя, что спор не о том, что хотел сказать ты?

Потому что ты утверждал, что visudo не даёт сохранить файл редактору если там ошибки.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Нет, тупо запускает - означает что просто берёт что написано в переменной и запускает.

Ты ещё скажи, что без параметров и сразу на /etc/sudoers и после запуска ничего больше не делает.

Потому что ты утверждал, что visudo не даёт сохранить файл редактору если там ошибки.

Не даёт сохранить невалидную версию в /etc/sudoers. Что и куда сохраняет редактор просто неинтересно.

hummer
() автор топика
Ответ на: комментарий от hummer

Может уже расскажешь, что такого страшного случится, если сохранится невалидная версия sudoers?

Вот ща поиздевался над sudoers (вообще при помощи mcedit - вот ужос-то, да?) - перевод строки жрёт любой, если написать ахинею, то ругается но всё работает, если накосячить в правиле - то не будет работать только это правило. Т.е. синтаксические ошибки, которые проверяет visudo несмертельны, всё кроме корявой строчки продолжает работать, хотя sudo и ругается. А на выстрелы в ногу типа ALL ALL=(ALL) NOPASSWD: ALL visudo никак не реагирует.

Так нахрена вообще этот visudo нужен на слаке, если у тебя не залогинено 100500 рутов непрерывно редактирующих sudoers?

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от Stanson

А зачем обязательно 100500 рутов? Достаточно двух открытых сессий и кому-то отойти попить кофе.

hummer
() автор топика
Ответ на: комментарий от hummer

Достаточно двух открытых сессий и кому-то отойти попить кофе.

Да, один рут так долго думал над редактируемым sudoers что решил не закрывать файл, попить кофе и подумать дальше, а тут сразу другой рут внезапно захотел что-то срочно поменять в sudoers.

Но даже в этом случае ничего ужасного вообще не произойдёт. В слаке sudo даже не в /a/ пакетах и другими пакетами не используется.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Просто отвлёкся на что-то другое, а за это время кто-то другой там что-то поменял. Затем первый вернулся и отредактировал по своему, затерев последнее изменение.

hummer
() автор топика
Ответ на: комментарий от Stanson

Safety trolls уже и до вопросов редактирования конфигов добрались.

Какой-то он тупой и скучный.

И да, если внимательно почитать хаутушку, то аффтар хаутушки про groupadd и пр. вполне в курсе.

Тогда не получится скучно и тупо троллировать.

skiminok1986 ★★★★★
()
Ответ на: комментарий от Stanson

visudo тупо запускает редактор прописанный в $EDITOR или $VISUAL хоть тот же nano.

Это путь профессионала. Не текстовым редактором открывать файлы, а специализированные утилиты использовать.

skiminok1986 ★★★★★
()
Последнее исправление: skiminok1986 (всего исправлений: 1)

Суровое слакварное HOWTO (комментарий)

Ещё некоторые редакторы делают некоторые неочевидные вещи, такие как: добавление BOM, wrapping или используют не-ASCII кодировку.

Расходимся, это троль-бздвиндузятник.

imul ★★★★★
()
Ответ на: комментарий от hummer

Я возмушался лишь советами лезть в системные файлы обычными текстовыми редакторами.

А что не так? Ведь Unix-like ОС именно таким подходом и ценны - возможностью модифицировать и настраивать в максимально простой способ. Или думаешь почему они plain-text ??? Думаешь почему ВЕСЬ каталог /etc содержит только plain-text файлы? Потому что предназначенны для ручного редактирования текстовым редактором :)

Jetty ★★★★★
()

Дай догадаюсь, формат файлов проще чем параметры утилит. Патрик красавчик.

ilovewindows ★★★★★
()

Дистрибутивы, где предлагается использовать nano для правки конфигов изначально ламерские.

EXL ★★★★★
()
Ответ на: комментарий от Jetty

почему ВЕСЬ каталог /etc содержит только plain-text файлы?

Только?
$ file /etc/aliases.db
/etc/aliases.db: Berkeley DB (Hash, version 10, native byte-order)
Он правда генерируется из /etc/aliases, но используется в postfix именно .db файл.

imul ★★★★★
()
Ответ на: комментарий от hummer

Ты просто судишь по себе

Просто я не верю в идеальных людей, никогда не делающих ошибки, тем более в начале изучения. Так что ты просто врешь.

Почитал сейчас историю твоих сообщений на форуме. Судя по всему скоро ты пойдёшь жаловаться модераторам на очередную обиду.

О да, пошли в ход серьезные агрументы ))

zemidius
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.