Добавление нового пользователя в solaris

Вот вам отправная точка:

#!/bin/bash

PHONEFILE=/path/to/your/file

# Prompt for search and replace numbers
# and simply exit if either is empty
# (in your actual script, you'll need to flesh this out with
# proper validation of phone number formats, error messages etc.!)
read -p "Number to search for: " oldnum
if [ ! "$oldnum" ]; then exit; fi

read -p "Replace with number: " newnum
if [ ! "$newnum" ]; then exit; fi

# Search and replace, change the phone file directly
# and create a backup of the previous version with .bak extension
# This assumes a file containing one phone number per line
sed -i .bak 's/^'"$oldnum"'$/'"$newnum"'/' $PHONEFILE
2
25.03.2011, 05:46
4 ответа

Если вы получили эту ошибку, это потому, что пользователь, которого вы хотели добавить, уже существовал и был удален. И поскольку он существовал в файле /etc/passwd, система автоматически создала зашифрованный passwd в /etc/shadow для этого пользователя. Поэтому, когда пользователь был удален из /etc/passwd, зашифрованный passwd должен был быть удален из файла /etc/shadow.

Проще говоря, вы не можете добавить пользователя командой useradd, если пароль для этого пользователя уже существует в файле /etc/shadow.

Перейдите в файл /etc/shadow и удалите строку пароля для этого пользователя, после чего вы сможете добавить пользователя.

0
29.04.2021, 01:00

Скорее всего, ваш сервер является клиентом NIS и поэтому добавление локальных пользователей может быть запрещено. Просто проверьте, является ли он частью домена NIS.

-1
29.04.2021, 01:00

Проверьте целостность /etc/passwd и связанных с ним файлов с помощью pwck. Сделайте то же самое для файлов, связанных с группами, с помощью grpck.

1
29.04.2021, 01:00

Проверить файл /etc/user _атрибут. Если есть запись для оракула, выделите ее и запустите команду useradd. Пользователь будет создан, а затем активируется запись в /etc/user _attr. Это сработало для меня.

0
29.04.2021, 01:00

Теги

Похожие вопросы