Ну, если Вы знаете, что foobar всегда является первым словом или строкой, затем можно использовать сокращение. Как так:
grep "foobar" test.file | cut -d" " -f2
Когда /sbin/nologin
установлен как оболочка, если пользователь с той оболочкой войдет в систему, то они получат вежливое сообщение, говоря, что 'Эта учетная запись в настоящее время не доступна'. Это сообщение может быть изменено с файлом /etc/nologin.txt
.
/bin/false
просто двоичный файл, который сразу выходит, возвращая false, когда это называют, поэтому когда кто-то, кто имеет false
поскольку оболочка входит в систему, они сразу выходятся из системы когда false
выходы. Установка оболочки к /bin/true
имеет тот же эффект не разрешения кому-то войти в систему, но false
вероятно, используется в качестве конвенции true
так как это намного лучше в передаче понятия, что у человека нет оболочки.
Взгляд на nologin
страница справочника, это говорит, что было создано в 4.4 BSD (в начале 1990-х), таким образом, это прибыло намного позже false
был создан. Использование false
поскольку оболочка является, вероятно, просто конвенцией, перенесенной с первых лет UNIX.
nologin
более удобная для пользователя опция, с настраиваемым сообщением, данным пользователю, пытающемуся входить в систему, таким образом, Вы теоретически хотели бы использовать это; но оба nologin
и false
будет иметь тот же конечный результат кого-то не наличием оболочки и неспособностью к ssh в.
Некоторые FTP-серверы предоставят Вам доступ FTP, только если у Вас есть допустимая оболочка. /sbin/nologin
рассматривается как допустимая оболочка, тогда как /bin/false
не.
(Я думаю "допустимый", означает, что его статус выхода 0, но /etc/shells
может также войти в него, это, вероятно, зависит от системы, программного обеспечения FTP и Вашей конфигурации.)
/etc/shells
. Просто предположение... Я мог быть неправым.
– xenoterracide
08.04.2011, 00:43
/bin/false
системная команда, которая используется каждый раз, когда необходимо передать команду программе, которая должна сделать не что иное как выход с ошибкой. Это - компаньон к /bin/true
. Оба из них являются очень старыми и стандартными утилитами POSIX и никаким продуктом любой вывод по определению. верный иногда используется для сценария оболочки, который должен циклично выполниться неограниченно долго, как:
while true; do
...
# Waste time
if [ $wasted_time -gt 100000 ]; then
exit 0
fi
...
done
/usr/sbin/nologin
специально предназначено для замены оболочки и производит вывод, жалуясь, что Вы не можете войти в систему. Прежде чем это существовало, было распространено использовать /bin/false
для фиктивных пользователей, но могло сбивать с толку, так как пользователь не знает, почему они начаты.
/bin/true
и /bin/false
не всегда, что Вы войдете в сценарий оболочки. В zsh
true
и false
создаются-ins, где bash
использование /bin/*
Прохладные версии
– xenoterracide
08.04.2011, 16:04
На моей машине, nologin
дисплеи всегда то же сообщение, на английском языке, игнорируя аргументы. /bin/false
отвечает на --version
и --help
на языке, обозначенном $LC_CTYPE
. Кроме этих косметических различий, они имеют тот же эффект.
Мудрый удобством использования, nologin
лучше, если это используется на учетной записи живого человека, который говорит на английском языке. Мудрый безопасностью, нет никакого различия.
false
больше для системных учетных записей, которые не имеют никакого реального пользователя, и nologin
для отключенных учетных записей.
– xenoterracide
07.04.2011, 23:26
nologin
версия не берет аргументов, но может прочитать сообщение из /etc/nologin.txt
.
– Alexander Gonchiy
20.10.2017, 10:04
На Linux, /sbin/nologin
прибывает из проекта util-linux, в то время как /bin/false
часть GNU Coreutils. Они выполняют различные роли, и nologin имеет опцию печати сообщения для людей, у которых есть он как их оболочка, кто входит в систему. Команды Linux прибывают из BSD, где у них, кажется, есть долгая история того, чтобы быть отличающимся. FreeBSD false
просто возвраты 1, в то время как nologin
проверки для проверки это работает на TTY и отправляет сообщение в системный журнал во время попыток входа в систему. Версии Linux немного более сложны (false
делая все виды забавного материала с интернационализацией для вывода - справка, я принимаю), но по существу выполните тот же путь.
/bin/false только задание состоит в том, чтобы выйти с ненулевым кодом выхода.
Попробуйте его в командной строке:
$:> /bin/false
$:> echo $?
1
$:>
Некоторые учреждения используют/bin/false в поле оболочки файла паролей. Если пользователь пытается войти в систему, оболочка является/bin/false, таким образом, из них выходят сразу же
Они могли быть той же программой, но у них есть различные значения. Название программы говорит все это.
Оба выполняют более или менее одинаковую работу, но / bin / false
полезен для непривилегированных пользователей. С другой стороны, / sbin / nologin
предназначен для привилегированных пользователей.
/usr/sbin/nologin
поскольку Debian основывал дистрибутивы. – Diemo 31.12.2017, 07:51