Автор Тема: sudo и Athlon XP Barton  (Прочитано 928 раз)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: sudo и Athlon XP Barton
« Ответ #60 : 25.11.2021 22:04:29 »
Я спросил потому, что на машине с Альт Рабочая станция К 9.2 при попытке выполнить эту команду от простого пользователя меня послали сами знаете куда.

Конечно. Права доступа пользователю запрещают и просмотр и запись в файл. И это нормально. Потому шо правила безопасности не должны светиться наружу. Ни для кого кроме root.
И из той команды нужно убирать точку из начала пути.

Но root может всё, - даже если права на файл 000:
# touch test.txt
# alias | grep ll
alias ll='ls -laptc'
# ll test.txt
-rw-r--r-- 1 root root 0 ноя 25 21:42 test.txt
# chmod 000 test.txt
# ll test.txt
---------- 1 root root 0 ноя 25 21:42 test.txt
# echo probe > test.txt
# cat test.txt
probe

Главное чтобы на файле или каталоге, не было атрибута immutable.
Иначе даже root не сможет его изменить или удалить:
# lsattr ./test.txt
--------------e---- ./test.txt
# chattr +i ./test.txt # установка атрибута immutable
# lsattr ./test.txt
----i---------e---- ./test.txt
# echo probe2 > test.txt
-bash: test.txt: Операция не позволена
# chattr -i ./test.txt # снятие атрибута immutable
# lsattr ./test.txt
--------------e---- ./test.txt
# echo probe2 > test.txt
# cat test.txt
probe2

Оффлайн Арбичев

  • Завсегдатай
  • *
  • Сообщений: 502
    • Email
Re: sudo и Athlon XP Barton
« Ответ #61 : 26.11.2021 13:10:26 »
Я свел на одну машину файлы sudoers с альтовской машины и с сусевой машины и сравнил их с помощью Krusader. Если взять за основу файл с сусевой машины, то оказывается, что они (разрабы Альта) ни одной строки из этого файла не выкинули. Они или чисто вставляли новые строки, или одновременно с вставкой новых строк еще и изменяли существующие строки. В целом файл стал существенно больше. Вместо 87 строк у сусе стало 108 строк у альта. Я хочу спросить, после такой серьезной доработки sudoers что мы в итоге получили, например, повысилась безопасность работы с дистрибутивом или появились еще какие-то приятные фишки?
Lenovo Z 50-70 openSUSE Tumbleewed

Оффлайн Арбичев

  • Завсегдатай
  • *
  • Сообщений: 502
    • Email
Re: sudo и Athlon XP Barton
« Ответ #62 : 26.11.2021 17:53:04 »
Пришла мне в голову такая мысль - зачем разбираться в том, что там разработчики Альта наворотили? Давай попробую просто в Альт подсунуть sudoers из сусе. Попробовал, вот что получилось:

[admin@host-11 ~]$ sudo mc
[sudo] password for admin:

[root@host-11 admin]#
[root@host-11 admin]# sudo admin
sudo: admin: command not found
[root@host-11 admin]# su - admin
[admin@host-11 ~]$ sudo mc
[sudo] password for admin:
Попробуйте ещё раз.
[sudo] password for admin:

На пароль простого пользователя sudo не реагирует, на пароль root реагирует. Это именно то, что мне и нужно было.
Lenovo Z 50-70 openSUSE Tumbleewed

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: sudo и Athlon XP Barton
« Ответ #63 : 26.11.2021 18:16:26 »
Пришла мне в голову такая мысль - зачем разбираться в том, что там разработчики Альта наворотили? Давай попробую просто в Альт подсунуть sudoers из сусе. Попробовал, вот что получилось:

[admin@host-11 ~]$ sudo mc
[sudo] password for admin:

[root@host-11 admin]#
[root@host-11 admin]# sudo admin
sudo: admin: command not found
[root@host-11 admin]# su - admin
[admin@host-11 ~]$ sudo mc
[sudo] password for admin:
Попробуйте ещё раз.
[sudo] password for admin:

На пароль простого пользователя sudo не реагирует, на пароль root реагирует. Это именно то, что мне и нужно было.

Угу.
В сузёвом sudoers, водить пароль root, заставляет опция Defaults targetpw:
$ grep targetpw ./hlam-sudo-opensuse/etc/sudoers
Defaults targetpw   # ask for the password of the target user i.e. root
ALL   ALL=(ALL) ALL   # WARNING! Only use this together with 'Defaults targetpw'!


Документация по sudoers на русском:

Альтовый man
$ man sudoers | grep targetpw -A5
       "targetpw"
              Если  этот  флаг  установлен,  sudo  будет  запрашивать   пароль
              пользователя,  указанного  при  помощи  флага  -u  (по умолчанию
              супер-пользователь   (root))    вместо    пароля    пользователя
              инициировавшего вызов команды. По умолчанию этот флаг выключен.


который содержится пакете:
$ find /usr/share/man/ru/ -name "sudoers*"
/usr/share/man/ru/man5/sudoers.5.xz
$ rpm -qf /usr/share/man/ru/man5/sudoers.5.xz
man-pages-ru-extra-0.1-alt6.noarch

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 600
  • Дмитрий/Dmitry/德米特里/दिमित्री
Re: sudo и Athlon XP Barton
« Ответ #64 : 26.11.2021 18:20:30 »
На пароль простого пользователя sudo не реагирует, на пароль root реагирует. Это именно то, что мне и нужно было.
Это то, что должно быть в идеале - Root и только Root должен обладать возможностью изменять что-либо в файловой системе!

Онлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 153
Re: sudo и Athlon XP Barton
« Ответ #65 : 26.11.2021 19:15:37 »
На пароль простого пользователя sudo не реагирует, на пароль root реагирует. Это именно то, что мне и нужно было.
Это то, что должно быть в идеале - Root и только Root должен обладать возможностью изменять что-либо в файловой системе!
Или root может делегировать некоторые свои функции каким-либо пользователям, например, администратору БД возможность изменять конфиги СУБД, а администратору web-сервера менять конфиги apache и т.п. Вот для такого делегирования и придумано sudo.
А то, что кто-то использует sudo так же, как и su - это конечно тоже работает, но всё-таки не для этого было придумано.

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 600
  • Дмитрий/Dmitry/德米特里/दिमित्री
Re: sudo и Athlon XP Barton
« Ответ #66 : 26.11.2021 21:57:00 »
А то, что кто-то использует sudo так же, как и su - это конечно тоже работает, но всё-таки не для этого было придумано.
Вот именно! Если бы было чёткое раграничение, в каком случае sudo вполне можно или даже нужно использовать, а в каких ввод этой команды вообще ни к чему не приведёт (выдаст ошибку) - тогда было бы другое дело. Плюс - отсутствие всяких тайм-аутов.

Оффлайн Арбичев

  • Завсегдатай
  • *
  • Сообщений: 502
    • Email
Re: sudo и Athlon XP Barton
« Ответ #67 : 27.11.2021 14:10:34 »
Я уже не стал напрягать местное сообщество и написал в сусевскую багзиллу:
Bug 1193128 - Kernel update warning messages
Опять Леня смущает неокрепшие сердца.
Lenovo Z 50-70 openSUSE Tumbleewed

Оффлайн Арбичев

  • Завсегдатай
  • *
  • Сообщений: 502
    • Email
Re: sudo и Athlon XP Barton
« Ответ #68 : 28.11.2021 13:04:13 »
Я свел на одну машину файлы sudoers с альтовской машины и с сусевой машины и сравнил их с помощью Krusader. Если взять за основу файл с сусевой машины, то оказывается, что они (разрабы Альта) ни одной строки из этого файла не выкинули. Они или чисто вставляли новые строки, или одновременно с вставкой новых строк еще и изменяли существующие строки.

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

## In the default (unconfigured) configuration, sudo asks for the root password.
## This allows use of an ordinary user account for administration of a freshly
## installed system. When configuring sudo, delete the two
## following lines:
Defaults targetpw   # ask for the password of the target user i.e. root
ALL   ALL=(ALL) ALL   # WARNING! Only use this together with 'Defaults targetpw'!

Гугл-переводчик дает следующее:

В конфигурации по умолчанию (ненастроенной) sudo запрашивает пароль root.
Это позволяет использовать учетную запись обычного пользователя для администрирования свежеустановленной системы. При настройке sudo удалите две
следующие строки:

Разработчики Альта и sudo не настроили и эти две строки выкинули. В итоге имеем, что в дефолтной Альт Рабочая станция К 9.2 sudo не принимает пароль ни обычного пользователя, ни root.
Lenovo Z 50-70 openSUSE Tumbleewed

Онлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 153
Re: sudo и Athlon XP Barton
« Ответ #69 : 28.11.2021 19:36:35 »
Я свел на одну машину файлы sudoers с альтовской машины и с сусевой машины и сравнил их с помощью Krusader. Если взять за основу файл с сусевой машины, то оказывается, что они (разрабы Альта) ни одной строки из этого файла не выкинули. Они или чисто вставляли новые строки, или одновременно с вставкой новых строк еще и изменяли существующие строки.

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

## In the default (unconfigured) configuration, sudo asks for the root password.
## This allows use of an ordinary user account for administration of a freshly
## installed system. When configuring sudo, delete the two
## following lines:
Defaults targetpw   # ask for the password of the target user i.e. root
ALL   ALL=(ALL) ALL   # WARNING! Only use this together with 'Defaults targetpw'!

Гугл-переводчик дает следующее:

В конфигурации по умолчанию (ненастроенной) sudo запрашивает пароль root.
Это позволяет использовать учетную запись обычного пользователя для администрирования свежеустановленной системы. При настройке sudo удалите две
следующие строки:

Разработчики Альта и sudo не настроили и эти две строки выкинули. В итоге имеем, что в дефолтной Альт Рабочая станция К 9.2 sudo не принимает пароль ни обычного пользователя, ни root.
А с какого перепугу, вы решили, что Альты взяли файл sudoers  у Suse ?
И почему именно Suse вы считаете образцом для подражания?

В исходниках sudo (https://www.sudo.ws/repos/sudo/file/tip) в примере файла sudoers (https://www.sudo.ws/repos/sudo/file/tip/examples/sudoers) флаг targetpw даже не упоминается

В мануале (man sudoers) про этот флаг написано следущее (привожу перевод на русский, но и в английском варианте в исходниках аналогично)
"targetpw"
              Если  этот  флаг  установлен,  sudo  будет  запрашивать  пароль  пользователя,  указанного  при  помощи флага -u (по умолчанию супер-пользователь (root))  вместо пароля пользователя
              инициировавшего вызов команды. По умолчанию этот флаг выключен.

Т.е. по умолчанию флаг targetpw отключен. И то, что в дистрибутивах Suse его по умолчанию включают - это их личные проблемы.
Это возможно имеет смысл, если после установки дистрибутива нельзя явно залогиниться под root (доступ только по ssh, где парольный доступ root отключен по умолчанию) и нет возможности дать команду su - (вот тут не знаю, в каких случаях такое возможно сразу поле установки дистрибутива)
Но в любом случае, даже под suse, подразумевается, что этому обычному пользователю известен пароль root, и он после настройки sudo, должен привести его конфиг (удалив те две строчки) фактически в то же состояние, что и в Alt.
Что помешало дистрибутивостроителям suse использовать su для настройки sudo - непонятно. Но то, что пользователь в большинстве случаев оставит всё как есть, и sudo будет работать фактически аналогично su - это более вероятно. И всё это не есть хороший пример для подражания.
« Последнее редактирование: 28.11.2021 19:48:15 от Александр Ерещенко »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: sudo и Athlon XP Barton
« Ответ #70 : 28.11.2021 20:43:49 »
Я свел на одну машину файлы sudoers с альтовской машины и с сусевой машины и сравнил их с помощью Krusader. Если взять за основу файл с сусевой машины, то оказывается, что они (разрабы Альта) ни одной строки из этого файла не выкинули. Они или чисто вставляли новые строки, или одновременно с вставкой новых строк еще и изменяли существующие строки.

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

## In the default (unconfigured) configuration, sudo asks for the root password.
## This allows use of an ordinary user account for administration of a freshly
## installed system. When configuring sudo, delete the two
## following lines:
Defaults targetpw   # ask for the password of the target user i.e. root
ALL   ALL=(ALL) ALL   # WARNING! Only use this together with 'Defaults targetpw'!

Гугл-переводчик дает следующее:

В конфигурации по умолчанию (ненастроенной) sudo запрашивает пароль root.
Это позволяет использовать учетную запись обычного пользователя для администрирования свежеустановленной системы. При настройке sudo удалите две
следующие строки:

Разработчики Альта и sudo не настроили и эти две строки выкинули. В итоге имеем, что в дефолтной Альт Рабочая станция К 9.2 sudo не принимает пароль ни обычного пользователя, ни root.

Они их не выкинули. Они их закомментировали:
$ rpm2cpio ./sudo-1.9.7p2-alt1.x86_64.rpm | cpio -idmv
$ grep 'ALL ALL=' -B4 ./etc/sudoers

## Uncomment to allow any user to run sudo if they know the password
## of the user they are running the command as (root by default).
# Defaults targetpw  # Ask for the password of the target user
# ALL ALL=(ALL) ALL  # WARNING: only use this together with 'Defaults targetpw'


Пакет sudo входит и в состав образов с systemd, и в состав образов систем на sysvinit. В сборочном профиле образов с systemd, выкручивайте дефолты как хотите. Но не при каких условиях, в системах на UNIX System V init, sudo не должен быть активен по-умолчанию. Это запрещено правилами безопасности xfce-sysv. И если бы кто-то такой фортель отколол бы в пакете sudo, я бы наехал так жёстко, не оглядываясь на последствия, что многим бы здесь это не понравилось. Нехера мне дефолтами, систему на sysv превращать в решето. Этого говна в стартеркитах на systemd и без sudo хватает.
Считайте что так, это я ещё по головке погладил.
И когда речь идёт об угрозе безопасности системы, тут уже не до реверансов

Пакет sudo входит в состав образов xfce-sysv. Но правила безопасности xfce-sysv, запрещают держать sudo активным по-умолчанию.
Но политика безопасности например в pclinuxos, который тоже на sysvinit, ещё жёстче. Она запрещает включать sudo в состав образов pclinuxos:

Newbie to PCLInuxOS: Where is my sudo?
https://www.pclinuxos.com/forum/index.php/topic,106836.msg912541.html#msg912541

Концепция и политика безопасности в отношении sudo в pclinuxos:
SUDO - Use and Abuse.
http://www.pclinuxos.com/forum/index.php/topic,90479.0.html
В которой, вторым большим абзацем сверху, достаточно подробно, изложено целевое назначение sudo.
Желающие его использовать в pclinuxos, устанавливают его из репозитория самостоятельно. И так же самостоятельно его конфигурируют.

В образах xfce-sysv, это правило слегка смягчено:
Пакет sudo входит в состав xfce-sysv, но по-умолчанию не активен. И тем же умолчанием, активен быть не должен. Конфигурирование sudo, как собстно и ответственность за последствия этого, возлагается на системного администратора. Коим и является и домашний пользователь тоже.

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 600
  • Дмитрий/Dmitry/德米特里/दिमित्री
Re: sudo и Athlon XP Barton
« Ответ #71 : 28.11.2021 22:02:50 »
Но политика безопасности например в pclinuxos, который тоже на sysvinit, ещё жёстче. Она запрещает включать sudo в состав образов pclinuxos:
Если бы я создавал свой дистрибутив Linux, то строил бы безопасность системы именно по такому принципу. Нужно sudo? Ставьте и настраивайте его сами.
Иначе получается, что если систему поломать можно и от имени пользователя через sudo, то зачем тогда вообще нужен root (su)? Плюс, как упоминал выше, считаю sudo, а точнее выполнение функций Суперпользователя обычным пользователем, уязвимостью.

С Александром согласен в одном: команду sudo создавали для определённых задач. Но используют-то её для всего подряд.
На простой домашней системе она вообще не нужна. Установить, удалить или обновить пакеты можно и из-под root с помощью команды su-. Главное не нарушать базовые правила и система не пострадает.
« Последнее редактирование: 28.11.2021 22:32:27 от gosts 87 »

Оффлайн Арбичев

  • Завсегдатай
  • *
  • Сообщений: 502
    • Email
Re: sudo и Athlon XP Barton
« Ответ #72 : 29.11.2021 19:30:01 »
Но не при каких условиях, в системах на UNIX System V init, sudo не должен быть активен по-умолчанию.
Это ваше мнение. Имеете право. А вот другое мнение:
https://web.archive.org/web/20090105205116/http://bappoy.pp.ru/2008/11/10/su-vs-sudo.html
В этом материале мне очень понравилась фраза "Затем появилась команда sudo, и это был прорыв".
Они хотят сказать, что в дистрибутивах линукс команда sudo имеет большое значение для обеспечения безопасности.
Lenovo Z 50-70 openSUSE Tumbleewed

Онлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 153
Re: sudo и Athlon XP Barton
« Ответ #73 : 29.11.2021 20:52:35 »
Но не при каких условиях, в системах на UNIX System V init, sudo не должен быть активен по-умолчанию.
Это ваше мнение. Имеете право. А вот другое мнение:
https://web.archive.org/web/20090105205116/http://bappoy.pp.ru/2008/11/10/su-vs-sudo.html
В этом материале мне очень понравилась фраза "Затем появилась команда sudo, и это был прорыв".
Они хотят сказать, что в дистрибутивах линукс команда sudo имеет большое значение для обеспечения безопасности.
Согласен, что "sudo имеет большое значение для обеспечения безопасности". НО! Обязательно приписать - правильно и безопасно настроенный sudo. В каждом конкретном случае это будет выглядеть по разному. Нет универсальной безопасной настройки sudo на все случаи жизни, которую можно прописать по умолчанию. Поэтому безопасней по умолчанию будет как раз или не настраивать или вообще отключить sudo.
А вот тот пример по умолчанию от suse - это и неправильно и небезопасно.

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 600
  • Дмитрий/Dmitry/德米特里/दिमित्री
Re: sudo и Athlon XP Barton
« Ответ #74 : 29.11.2021 22:03:25 »
Нет универсальной безопасной настройки sudo на все случаи жизни, которую можно прописать по умолчанию.
На все случаи жизни, может и нет, но безопасные настройки по-умолчанию вполне могут быть. Выше писал какие, но могу повторить.
1. Строго определённый перечень команд, которые можно выполнять с помощью sudo. Здесь могут быть различия, но важно, чтобы ни одна из этих команд не могла обрушить систему.
2. Обязательный запрос пароля при выполнении sudo и никаких таймаутов в течении которых пароль не запрашивается. Идеальная настройка (в плане безопасности) на каждую команду sudo - запрос пароля (даже в течении одного сеанса в терминале).