Как реальные и эффективные идентификаторы пользователей работают?

Я нахожу, что использование объема плазмы этим способом работает хорошо с этой целью

pv -p file1 > file2

-p переключитесь показывает прогресс передачи файлов. Для наблюдения скорости передачи добавьте -r переключатель. Если Вы хотите видеть среднюю скорость передачи со временем, можно использовать -a переключатель.

pv -pra file1 > file2
13
09.02.2018, 19:51
4 ответа

Вы не можете изменить другие пароли, потому что программа не позволит Вам. Программа имеет системные полномочия изменить любой пароль, который она хочет, потому что она работает как root, но программа была специально предназначена, чтобы не дать пользователю любой способ заставить это использовать те полномочия.

Это не совсем, что пользователь становится корнем временно, случается так что прогоны программы, которым доверяют, с корневыми полномочиями. Очевидно, только программы, которые специально предназначены для ограничения пользователей выполнением только, что им нужно разрешить сделать, могут безопасно быть сделаны setuid.

12
27.01.2020, 19:53
  • 1
    Таким образом в случае я открываю оболочку, устанавливающую uid на 0 (использующий setreuid), так, чтобы эффективный uid был корнем, но реальный uid - все еще я. Так как я не думаю оболочка конкретно, что-то создало, в котором предотвращают меня, это означает, что я получаю доступ к целой системе затем? –  starcorn 30.10.2011, 11:00
  • 2
    я задающийся вопросом в контексте стека, разбивающего метод нападения. Где злонамеренный хакер открывает оболочку с уровнем суперпользователя. –  starcorn 30.10.2011, 11:02
  • 3
    @starcron: Да. На самом деле могут нападения демонстрироваться путем показа, как использовать то нападение для создания корневой оболочки setuid. –  David Schwartz 31.10.2011, 01:08

Вам только разрешают изменить только Ваш пароль inspite наличия эффективного идентификатора пользователя корня, потому что во время изменения пароля идентификатор реального пользователя проверяется не эффективный идентификатор пользователя. Можно только изменить эффективный идентификатор пользователя а не идентификатор реального пользователя.
Только пользователь root может изменить идентификатор реального пользователя для запущения программы как непривилегированный пользователь. Идентификатор реального пользователя не может быть изменен, поскольку он установлен во время сессии, запускаются.
Вот почему только Ваш пароль может быть изменен, поскольку идентификатор реального пользователя не изменяется (поскольку это все еще Ваше не корень).

2
27.01.2020, 19:53
[116275] Ранним взломом в Unix было создание символической ссылки на скрипт оболочки setuid и вызов ссылки [116668]-i[116669]. В результате этого скрипт вызывается как [116670]sh -i[116671], который вместо выполнения скрипта с именем [116672]-i[116673], как и предполагалось, запускает интерактивную оболочку, которая затем дает полные права. Эффективный идентификатор пользователя может быть использован для изменения файла [116674]passwd[116675] для любого пользователя или самого root. Лучший способ защиты от этого - использовать SELinux, чтобы предотвратить модификацию доверенных скриптов или программ за пределами области, которую SELinux позволяет им выполнять.

Другой способ - это наличие неизменяемого бита в важных файлах, один набор которых не может быть модифицирован даже пользователем root (кроме как в однопользовательском режиме)

Как root, вы можете пригласить пользователей войти в систему без пароля и выглядеть как любой пользователь, но обычные привилегированные процессы изо всех сил стараются предотвратить это.

  1. Если вы используете сетевые файловые системы какого-то типа, то пользователь root будет считаться никем в этом файловом пространстве вместо root, что позволяет недоверенным компьютерам присоединиться к доверенной сети, такой как университетский кампус.[116282].

0
27.01.2020, 19:53

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

Потому что вы не можете изменить ваш реальный идентификатор пользователя, даже вызывая программу set-uid, программа может использовать его для реализации безопасности. Операционная система отказывается от защиты корневой программе set uid.

Примечание: программа set uid root может также изменить реальную идентификатор пользователя (но он не используется в данном случае).

Предупреждение: установка uid root считается вредной (что гораздо хуже, чем идеал). В наши дни мы должны использовать возможности (см. различные способы установки прав доступа к файлам и т. д. в gnu / linux и http://man7.org/linux/man-pages/man7/capabilities .7.html )

0
27.01.2020, 19:53

Теги

Похожие вопросы