Можно ли создать пользователя без домашнего каталога?

Я хочу создать пользователя для запуска tomcat в моей системе, и мне было интересно, можно ли создать пользователя без домашнего каталога, как это возможно в Linux.

Ответы (1)

Да, вы можете, используя следующий код. Обратите внимание, что уникальный идентификатор, если он меньше 501, может не указывать пользователя на панели «Учетные записи» системных настроек, в зависимости от версии ОС. Будьте осторожны, чтобы он еще не был назначен другой учетной записи пользователя.

sudo dscl . -create /Users/ThisUserName
sudo dscl . -create /Users/ThisUserName UserShell /bin/bash
sudo dscl . -create /Users/ThisUserName UniqueID 505
sudo dscl . -create /Users/ThisUserName PrimaryGroupID 20
sudo dscl . -passwd /Users/ThisUserName Pa55w0rd

Вы можете назначить домашнюю папку вне обычной иерархии /Users/ с помощью:

sudo dscl . -create /Users/ThisUserName NFSHomeDirectory /path/to/your/home

Если вы хотите, чтобы в настройках учетных записей отображалось более понятное имя:

sudo dscl . -create /Users/ThisUserName RealName "This User Name"

Если вы su для нового пользователя без установки NFSHomeDirectory, $HOME по умолчанию имеет значение /var/empty.

Если вы хотите создать учетную запись для запуска tomcat, я бы посоветовал не давать ей пароль, оболочку /usr/bin/false, присвоить ей идентификатор = 80 (ниже 500) и имя _tomcat(чтобы следовать правилам MacOS X) .
@danielAzuelos, использующий /bin/false в качестве домашнего каталога, не позволяет мне подать иск пользователю.
→ Дарк: Я предложил сделать ему оболочку, а /usr/bin/falseне дом. Это стандартный способ _users, которым все настроены в MacOS X. Это не запрещает любой доступ через файлы sudo. Проверить с помощью: dscl& sudoon _sandbox.