Для обзора конфигурации сервера Solaris 11, который я делаю, в моем файле / etc / passwd есть следующие строки:
root:x:0:0:Super-User:/root:/usr/bin/bash
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
sys:x:3:3::/:
adm:x:4:4:Admin:/var/adm:
lp:x:71:8:Line Printer Admin:/:
uucp:x:5:5:uucp Admin:/usr/lib/uucp:
nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico
.....
Последнее слово каждой строки означает оболочку, в которую они входят. Если ничего не сказано, по умолчанию это / usr / bin / bash? Сверху, могу ли я подтвердить, могут ли учетные записи daemon, bin, sys, adm, lp, uucp войти в систему или нет?
Обратите внимание, что я получил это как результат одного из сценариев, которые выполняла моя команда, и, следовательно, я не смогу найти любую запрашиваемую вами информацию, которая находится за пределами сценария. Но твоя помощь очень ценится.
Спасибо
Я считаю, что ответы, которые у вас есть, немного неточны или, по крайней мере, неполны.
Вы специально упомянули, что вопрос относится к Solaris 11, и это важно для ответа.
Если оболочка явно не указана в /etc/passwd
тогда это правильно, поскольку на странице руководства сказано, что /usr/bin/sh
будет использоваться, но это логическая ссылка на Korn 93 Shell. Другими словами: для тех аккаунтов, в которых не упоминается оболочка /etc/passwd
оболочка - это Korn 93, а не Bourne Shell, как вы могли подумать. Раньше Solaris имел сходство с оболочкой Korn (давным-давно), так что это причина, по которой /usr/bin/sh
указывает на Korn Shell.
Вот ссылка Oracle с дополнительной информацией: Новая оболочка в Oracle Solaris 11.
Дополнительная информация: Значит ли это, что оболочка Korn является «оболочкой по умолчанию» в Solaris 11? Нет! Когда вы создаете учетную запись в Solaris 11 с помощью useradd
и вы явно не указываете оболочку, а затем оболочку Bash (/usr/bin/bash
) будет использоваться. Следовательно, я бы сказал, что Bash - это оболочка по умолчанию в Solaris.
Надеюсь это поможет.
Нет, из вышесказанного вы не можете сказать, могут ли указанные учетные записи войти в систему или нет. Для этого вам нужно будет проверить запись для каждой учетной записи в файле / etc / shadow. В частности, вы должны посмотреть на поле пароля и, возможно, на поле срока действия.
Что касается оболочки по умолчанию, вам будет легко ее протестировать. Просто создайте учетную запись пользователя и проверьте, можете ли вы войти в нее. Отредактируйте файл / etc / passwd, чтобы удалить оболочку для тестовой учетной записи, затем войдите снова и посмотрите, что это за оболочка.
Итак, я раскрутил Solaris 11 Vm, и он оказался sh
.
# man -s 4 passwd
[...]
login-shell is the user's initial shell program. If this
field is empty, the default shell is
/usr/bin/sh.
[...]
# man -s 4 shadow
[...]
password An encrypted password for the user generated by
crypt(3C), a lock string to indicate that the
login is not accessible, or no string, which
shows that there is no password for the login.
The lock string is defined as *LK* in the first
four characters of the password field.
[...]