useradd: ディレクトリを作成できません

useradd: ディレクトリを作成できません

CentOS 7サーバーは、次からインポートした特定のホームディレクトリとシェルを使用して新しいユーザーを作成する必要があります。このリンクのガイドライン:

sudo /usr/sbin/useradd --create-home --home-dir /opt/atlassian/bitbucket --shell /bin/bash atlbitbucket

ただし、CentOS 7 サーバーでコマンドを実行すると、次のエラーでコマンドが失敗します。

useradd: cannot create directory /opt/atlassian/bitbucket

同様に/opt/atlassian/bitbucket、ディレクトリを事前に作成すると、次のエラーが発生します。

useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.

atlbitbucket新しいユーザーを正常に作成するには、これらのコマンドに具体的にどのような変更が必要ですか?


フルターミナル出力:

以下は、CentOS 7端末の完全なコマンドと応答のシリーズです。

ディレクトリを手動で作成します。

login as: my_sudoer_user
[email protected]'s password:
Last login: Mon May 15 14:00:18 2017
[my_sudoer_user@localhost ~]$ sudo mkdir /opt/atlassian/
[sudo] password for my_sudoer_user:
[my_sudoer_user@localhost ~]$ sudo mkdir /opt/atlassian/bitbucket
[my_sudoer_user@localhost ~]$ sudo /usr/sbin/useradd --create-home --home-dir /opt/atlassian/bitbucket --shell /bin/bash atlbitbucket
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.

[my_sudoer_user@localhost ~]$ sudo rmdir /opt/atlassian/bitbucket
[my_sudoer_user@localhost ~]$ sudo rmdir /opt/atlassian/

推奨useradd構文:

[my_sudoer_user@localhost ~]$ sudo /usr/sbin/useradd --create-home --home-dir /opt/atlassian/bitbucket --shell /bin/bash atlbitbucket
useradd: user 'atlbitbucket' already exists

[my_sudoer_user@localhost ~]$ sudo userdel -r atlbitbucket
userdel: atlbitbucket home directory (/opt/atlassian/bitbucket) not found

[my_sudoer_user@localhost ~]$ sudo /usr/sbin/useradd --create-home --home-dir /opt/atlassian/bitbucket --shell /bin/bash atlbitbucket
useradd: cannot create directory /opt/atlassian/bitbucket
[my_sudoer_user@localhost ~]$

adduser変えるuseradd

それから試しました。他の投稿の@terdonの提案代わりに使用しましたが、adduser次のエラーが発生しました。

[my_sudoer_user@localhost ~]$ sudo userdel -r atlbitbucket
[sudo] password for my_sudoer_user:
userdel: atlbitbucket mail spool (/var/spool/mail/atlbitbucket) not found
userdel: atlbitbucket home directory (/opt/atlassian/bitbucket) not found
[my_sudoer_user@localhost ~]$ sudo adduser --create-home --home-dir /opt/atlassian/bitbucket --shell /bin/bash atlbitbucket
adduser: cannot create directory /opt/atlassian/bitbucket
[my_sudoer_user@localhost ~]$

より短い構文:

それから試しました。@rajcoumar 同じ投稿の他の投稿を提案しかし、次のような同じ結果を得ました。

[my_sudoer_user@localhost ~]$ sudo userdel -r atlbitbucket
userdel: atlbitbucket mail spool (/var/spool/mail/atlbitbucket) not found
userdel: atlbitbucket home directory (/opt/atlassian/bitbucket) not found
[my_sudoer_user@localhost ~]$ sudo useradd -m -d /opt/atlassian/bitbucket -s /bin/bash atlbitbucket
useradd: cannot create directory /opt/atlassian/bitbucket
[my_sudoer_user@localhost ~]$

次に昇格root

rootでコマンドを実行して問題を解決できるかどうかを確認するためにアップグレードも行いましたが、rootまだ次のエラーが発生します。

[my_sudoer_user@localhost ~]$ su -
Password:
Last login: Mon May 15 14:07:11 PDT 2017 on ttyS0
[root@localhost ~]# /usr/sbin/useradd --create-home --home-dir /opt/atlassian/bitbucket --shell /bin/bash atlbitbucket
useradd: cannot create directory /opt/atlassian/bitbucket
[root@localhost ~]#

ベストアンサー1

これユーザーがコードを追加しました。呼ぶ目次ライブラリ関数は指定されたディレクトリを作成しようとします。 useraddは戻りコードを確認しますが、ゼロ以外の場合にのみENOENT -- A directory component in pathname does not exist or is a dangling symbolic link親ディレクトリ(/opt/atlassian)が存在しないか、ユーザーの追加中に削除されたため、mkdirが返されると疑われます。

Kusalananda / roaimaが指摘したように、ここで最も簡単な解決策は、useraddを呼び出す前に親ディレクトリ構造を作成することです。

  1. sudo mkdir -p /opt/atlassian
  2. sudo /usr/sbin/useradd --create-home --home-dir /opt/atlassian/bitbucket --shell /bin/bash atlbitbucket

おすすめ記事