После прочтения списка всех пользователей-людей я заметил, что в моей системе Ubuntu есть учетная запись с именем «nobody».
Также я заметил, что могу войти в эту учетную запись с терминала, используя следующую команду и мой пароль:
sudo su nobody
Меня это не волнует, но я хочу знать, какова цель этого пользователя? Он создается по умолчанию при новой установке Ubuntu или создается путем установки определенного пакета?
users
username
switch-user
Раду Рэдяну
источник
источник
sudo su nobody
Возврат Этот аккаунт в настоящее время недоступен. потому что оболочка для пользователяnobody
установлена в/usr/sbin/nologin
(getent passwd nobody
).root_squash
этом на удаленных системах root никому не сопоставляется . Это более или менее точно противоположно тому, что говорится в этом ответеОтветы:
Он там для запуска вещей, которые не требуют каких-либо специальных разрешений. Обычно он зарезервирован для уязвимых сервисов (httpd и т. Д.), Так что если они будут взломаны, они нанесут минимальный ущерб остальной системе.
Сравните это с выполнением чего-либо в качестве реального пользователя, если бы эта служба была скомпрометирована (веб-серверы иногда используются для запуска произвольного кода), она работала бы как этот пользователь и имела бы доступ ко всему, что имел пользователь. В большинстве случаев это так же плохо, как получение root.
Вы можете прочитать немного больше о пользователе nobody в Ubuntu Wiki:
Чтобы ответить на ваши последующие действия:
Почему я не могу получить доступ к этой учетной записи
su nobody
?sudo grep nobody /etc/shadow
покажет вам, что никто не имеет пароля, и вы не можетеsu
без пароля учетной записи. Самый чистый способ -sudo su nobody
вместо этого. Это оставит вас в довольно пустыннойsh
раковине.Можете ли вы привести конкретный пример, когда указано использовать этот аккаунт?
Когда разрешения не требуются для операций программы. Это особенно заметно, когда на диске никогда не будет никаких действий.
Реальный мир пример этого
memcached
(ключ-значение в памяти кэша / базы данных / вещь), сидя на моем компьютере , и мой сервер работает под никому счета. Почему? Потому что ему просто не нужны никакие разрешения, и предоставить ему учетную запись, у которой есть доступ на запись к файлам, будет просто ненужным риском.источник
su nobody
и 2) можете ли вы привести конкретный пример, когда указано использовать эту учетную запись?su
как обычный пользователь, вы должны указать пароль целевого пользователя. Попробуйтеsudo -i
тогдаsu nobody
из корневой оболочки (для которой не требуется пароль).Network File System
сопоставленияroot
сnobody
локальным корнем не могут получить доступ ко всему, как удаленный корень.nobody
что на самом деле / главным образом используется NFS в качестве состояний linuxstandardbase .Информация взята с http://en.wikipedia.org/wiki/Nobody_(username) .
источник
nobody
строго для NFS и не должен использоваться другими службами и, конечно, не системными администраторами. Благодарю.Пользователь никто не зарезервирован только для NFS.
Ответы выше довольно неправильны, потому что они предполагают, что
nobody
это «общий» идентификатор пользователя в стиле анонимного / гостевого стиляВ модели управления доступом UNIX / Linux идентификаторы анонимных / гостевых пользователей не существуют, и это плохие предложения:
nobody
, особенно серверы, чтобы ограничить ущерб, который может нанести злонамеренный пользователь, который получил над ним контроль». Из-за этого следует: « Однако полезность этого метода снижается, если более один демон запускается так, потому что тогда получение контроля над одним демоном обеспечит контроль над всеми ними ».memcached
(кэш / база данных / вещи в ключе-значении), сидящий на моем компьютере, а мой сервер работает подnobody
учетной записью. Почему? Потому что ему просто не нужны какие-либо разрешения и давать ему учетная запись, у которой есть доступ на запись к файлам, будет просто ненужным риском ».Имя
nobody
пользователя с идентификатором пользователя 65534 было создано и зарезервировано для определенной цели и должно использоваться только для этой цели: в качестве заполнителя для «несопоставленных» пользователей и идентификаторов пользователей в экспорте дерева NFS.То есть, если для экспорта дерева NFS не настроено отображение user / id, все файлы в экспорте будут принадлежать
nobody
. Цель этого состоит в том, чтобы запретить всем пользователям в импортирующей системе доступ к этим файлам (если у них нет «других» разрешений), поскольку ни один из них (кромеroot
) не может быть / статьnobody
.Поэтому это очень плохая идея использовать
nobody
для каких-либо других целей, потому что его цель - быть именем пользователя / идентификатором пользователя для файлов, которые не должны быть доступны никому.Запись в вики тоже очень неправильная.
Практика UNIX / Linux заключается в создании новой учетной записи для каждого «приложения» или области приложения, для которой требуется отдельный домен контроля доступа, и никогда не использовать повторно
nobody
за пределами NFS .источник
root_squash
on,root
отображается на пользователяnobody
, поэтому файлы, имеющие владельца,nobody
не имеют никакого смысла. Кроме того, утверждение о том, что файлы, которыми никто не владеет, никому не предназначен, не имеет особого смысла, так как права доступа к файлам отделены от владения в UNIX. Я не говорю, что все в ответе неверно, только то, что его элементы не имеют никакого смысла или не имеют никакого смысла для меня :)nobody
. Он говорит вам, чтоnobody
NFS следует использовать при сопоставлении разрешений, и это самое важное для меня. Как NFS используетnobody
менее интересно , чем тот факт , что он делает использованиеnobody
. Благодарю.man exports
, он может быть очень смущен.nobody
Пользователя по умолчанию создается на новой установке (проверено на Ubuntu Desktop 13.04).источник
никто не является специальной учетной записью пользователя и группы. Поскольку это фактическое имя пользователя (и имя группы) и может использоваться процессами и даже пользователями, это буквально никто . Например, в некоторых конфигурациях Apache никто не является пользователем / группой, которой принадлежат файлы и каталоги веб-сайта. Проблема возникает, когда несколько процессов могут использовать пользователя nobody, например каталоги NFS и веб-сервер.
источник
Незначительное исправление: «Пользователь никто не зарезервирован только для NFS. ' ответ. В настоящее время
nobody
пользователь также используется для непривилегированных контейнеров с привязными креплениями.Это взято из systemd-nspawn, в частности, опция монтирования --bind:
Systemd-nspawn
источник