SUID
Липкий бит применяется к исполняемым программам слабеющой системы , чтобы сохранить образ программы в памяти после того, как программа закончит работу.
Но я не знаю, что хранится в памяти. И как я могу их видеть, в этом случае.?
SUID
Липкий бит применяется к исполняемым программам слабеющой системы , чтобы сохранить образ программы в памяти после того, как программа закончит работу.
Но я не знаю, что хранится в памяти. И как я могу их видеть, в этом случае.?
Ответы:
Это, наверное, одна из моих самых утомительных вещей, которые люди все время путают. Бит SUID / GUID и бит закрепления - это две совершенно разные вещи.
Если вы сделаете это, man chmod
вы можете прочитать о SUID и sticky-битах. Страница man также доступна здесь .
выдержка
Буквы rwxXst выбирают биты режима файла для затронутых пользователей: чтение (r), запись (w), выполнение (или поиск каталогов) (x), выполнение / поиск только в том случае, если файл является каталогом или уже имеет разрешение на выполнение для некоторых пользователь (X), установка идентификатора пользователя или группы при выполнении (ях) , ограниченный флаг удаления или фиксированный бит (t) .
Вышеприведенная справочная страница пытается сказать, что позиция, которую бит x занимает в rwxrwxrwx для восьмеричного пользователя (1-я группа от rwx) и восьмеричная группа (2-я группа для rwx), может принять дополнительное состояние, когда х становится с. Когда это происходит, этот файл при запуске (если это программа, а не просто скрипт оболочки) будет запускаться с разрешениями владельца или группы файлов.
Таким образом, если файл принадлежит пользователю root и бит SUID включен, программа будет работать от имени пользователя root. Даже если вы выполните его как обычный пользователь. То же самое относится и к биту GUID.
выдержка
SETUID И SETGID БИТЫ
chmod очищает бит set-group-ID обычного файла, если идентификатор группы файла не совпадает с эффективным идентификатором группы пользователя или одним из идентификаторов дополнительной группы пользователя, если только у пользователя нет соответствующих привилегий. Дополнительные ограничения могут привести к игнорированию битов set-user-ID и set-group-ID в MODE или RFILE. Это поведение зависит от политики и функциональности основного системного вызова chmod. В случае сомнений проверьте поведение системы.
chmod сохраняет биты set-user-ID и set-group-ID каталога, если вы явно не укажете иное. Вы можете установить или очистить биты с помощью символических режимов, таких как u + s и gs, и вы можете установить (но не очистить) биты с помощью числового режима.
нет suid / guid - только биты rwxr-xr-x установлены.
$ ls -lt b.pl
-rwxr-xr-x 1 root root 179 Jan 9 01:01 b.pl
suid & исполняемый бит пользователя включен (строчные буквы s) - биты rwsr-xrx установлены.
$ chmod u+s b.pl
$ ls -lt b.pl
-rwsr-xr-x 1 root root 179 Jan 9 01:01 b.pl
suid включен и исполняемый бит отключен (верхний регистр S) - биты rwSr-xr-x установлены.
$ chmod u-x b.pl
$ ls -lt b.pl
-rwSr-xr-x 1 root root 179 Jan 9 01:01 b.pl
Включен исполняемый бит guid & group (строчные буквы s) - биты rwxr-sr-x установлены.
$ chmod g+s b.pl
$ ls -lt b.pl
-rwxr-sr-x 1 root root 179 Jan 9 01:01 b.pl
guid включен и исполняемый бит отключен (верхний регистр S) - биты rwxr-Sr-x установлены.
$ chmod g-x b.pl
$ ls -lt b.pl
-rwxr-Sr-x 1 root root 179 Jan 9 01:01 b.pl
Липкий бит с другой стороны обозначается как t
, например, с /tmp
каталогом:
$ ls -l /|grep tmp
drwxrwxrwt. 168 root root 28672 Jun 14 08:36 tmp
Этот бит всегда должен был называться «бит ограниченного удаления», учитывая, что это действительно означает. Когда этот режим включен, он делает каталог таким, что пользователи могут удалять только те файлы и каталоги в нем, владельцами которых они являются.
выдержка
ОГРАНИЧЕННЫЙ ФЛАГ УДАЛЕНИЯ ИЛИ КЛЕЙКА
Ограниченный флаг удаления или закрепленный бит - это один бит, интерпретация которого зависит от типа файла. Для каталогов это
предотвращает удаление или переименование файла в каталоге непривилегированным пользователям, если они не владеют файлом или каталогом; это называется флагом ограниченного удаления для каталога и обычно встречается в каталогах, доступных для записи во всем мире, таких как / tmp. Для обычных файлов в некоторых старых системах этот бит сохраняет текстовое изображение программы на устройстве подкачки, поэтому при запуске он загружается быстрее; это называется липким битом.
ls
. Очевидно, что только суперпользователь может установить бит закрепления для файла. Это стало менее важным после появления виртуальной памяти и общих библиотек, особенно когда пейджеры стали умнее и могут динамически решать, какие страницы сохранять резидентными.
ed
липкими.
«Закрепленный бит применяется к исполняемым программам, помечающим систему, чтобы сохранить образ программы в памяти после завершения работы программы».
Я думаю, что это довольно устаревшая информация, сегодня большинство современных Unixes игнорируют это. В Linux залипание относится только к каталогам. Смотрите здесь и довольно информативную статью в Википедии .
В любом случае, в этом старом поведении изображение (только «код», а не данные) сохранялось только в виртуальной памяти - обычно заменялось, а не в реальной памяти, чтобы в следующий раз запустить его быстрее.
Что такое липкие биты?
Липкий бит - это бит разрешения, который устанавливается в каталоге и позволяет только владельцу файла в этом каталоге или пользователю root удалять или переименовывать файл. Ни один другой пользователь не имеет необходимых прав для удаления файла, созданного другим пользователем.
Это мера безопасности, позволяющая избежать удаления важных папок и их содержимого (подкаталогов и файлов), хотя другие пользователи имеют полные разрешения.