こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

CentOS7で新規ユーザーを作成時に、

CentOS7で新規ユーザーを作成時に、ついでにフォルダを2,3個作成する事は出来ますか?


【現状】
CentOS7を別のADDCに参加させています。

ADDCのユーザーで初回にログインしようとすると、/homeの下にユーザーのフォルダを自動生成するようにしています。
ダウンロード
テンプレート
デスクトップ
ドキュメント
ビデオ
音楽
画像
公開
といったフォルダが自動生成されます。
これらのフォルダは自分で決めた訳ではなく、CentOS7が生成しています。



【やりたい事】
この、初回にログイン時にユーザーのフォルダが自動生成されるついでに、自分の決めたフォルダを作成したいです。
/home/sambaの下に
[ADDCのユーザーID] + 空白 + [ADDCのユーザー名称]
のフォルダを作成したい。


可能でしょうか?

投稿日時 - 2016-01-06 17:24:45

QNo.9107108

すぐに回答ほしいです

質問者が選んだベストアンサー

No1です。

> 新規作成されたユーザのホームディレクトリ内ではなく、別の場所に作りたいのですが無理ですか?

失礼しました。ログインしたときに所定の場所にディレクトリを作りたいということですね。
パッと思いついたやり方を参考に記載します。

.bashrcに以下の構文を入れておくと、ログインしたときにディレクトリの存在をチェックして、存在しなければそのディレクトリを作成する、といったことはできると思います。

===
if [ -d /home/samba/"$UID $USER" ]; then
mkdir /home/samba/"$UID $USER"
fi
===

または以下

===
if [ -e /home/samba/"$UID $USER" ]; then
mkdir /home/samba/"$UID $USER"
fi
===

"$UID $USER"でログインユーザの環境変数からそのユーザのユーザIDとユーザ名を取得できます。
/etc/skel 内の.bashrcに記述しておけば、今後作成するユーザのホームディレクトリにもその.bashrcがコピーされるので、手動で追記する必要はないと思います。

ログインのたびに毎回.bashrc内のディレクトリ存在チェック処理が行われるので(それによる不都合は無いかと思いますが)、ディレクトリ作成後はそのチェック処理が不要であれば、ディレクトリができた後に.bashrcから該当の処理を消す対応が必要になります。

投稿日時 - 2016-01-07 14:31:32

お礼

何度も有難うございます。

やりたい事は、
このCentOS7のユーザーたちが、各自のWindows端末でも読み書き可能な領域をSambaで確保するというものです。

/home/
+-user01
| +-画像
| +-デスクトップ
| :
+-user02
| +-画像
| +-デスクトップ
| :
+-user03
| +-画像
| +-デスクトップ
| :
+-samba ← ここからLAN内で共有
+-user01 川原 正一
| +-work
| +-backup
+-user02 下原 理
| +-work
| +-backup
+-user03 木村 健
| +-work
| +-backup


CentOS7を使うための領域は自動生成させるのですが、
共有領域側のフォルダもユーザー作成時に生成したいです。


.bashrcに関しては、調べてみます。

/home/samba/"$UID $USER" の部分ですが、やりたいのは
「user01 川原 正一」ですので
/home/samba/"$USER $謎の変数"となります。
$USERに関してはwhoamiで取得できるとも聞きました。

こちらは別途、質問を立てているのですが、よろしければお願いします。

CentOS7でユーザーを取得する方法を教えて下さ
http://okwave.jp/qa/q9107539.html



>/etc/skel 内の.bashrcに記述しておけば、今後作成するユーザのホームディレクトリにもその.bashrcがコピーされるので、手動で追記する必要はないと思います。
>ログインのたびに毎回.bashrc内のディレクトリ存在チェック処理が行われるので

あ、初回ログイン(ユーザー作成時)に走るのではなく、毎回ログイン時に走って、既にあったらスキップするという方式ですね。
linuxは同じアカウントで複数ログインできるのですが、それでも問題はなさそうですね。

問題は、
ログイン
→ユーザー作成
→/etc/skel 内の.bashrcを生成
の後、
/home/ユーザーの.bashrcが発動
→mkdir で作成
と続いてくれるのか

それとも
ログイン
→ユーザー作成
→/etc/skel 内の.bashrcを生成
で終わってしまって
/home/ユーザーの.bashrcが発動
→mkdir で作成
は次回のログインで発動するのかというところと

現状、生成されている.bashrcが上書きされておかしくならないかの2点が気になります。

やってみればわかるかもしれませんが。

投稿日時 - 2016-01-07 16:31:01

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.1

> CentOS7で新規ユーザーを作成時に、ついでにフォルダを2,3個作成する事は出来ますか?

CentOS のデフォルトでは、ユーザ作成時に /etc/skel 内のファイルやディレクトリが、新規作成されたユーザのホームディレクトリ内にコピーされて設置されます。

/etc/skel ディレクトリの中に、必要なファイルやディレクトリを設置しておくことで、次回ユーザ作成時から必要なフォルダが自動で設置されるようになるのではないかと思います。

投稿日時 - 2016-01-06 17:59:38

お礼

有難うございます。
新規作成されたユーザのホームディレクトリ内ではなく、別の場所に作りたいのですが無理ですか?

投稿日時 - 2016-01-07 02:08:55

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-