私は尋ねたメンバーパーティションのUUIDがすべて消去されたRAID 1パーティションの復元に関する以前の質問。。このスレッドから応答がないため、今度はOSパーティションにCentOSを再インストールしてシステムを再構築する必要があります。
再構築の主な作業の1つは、最近バックアップされていないユーザーデータベースを回復することです。私の目標は、UIDとユーザー名のリストにあるスクリプトを使用して、すべての人のアカウントを同じパスワードにし、ログイン時に変更できるようにしてユーザーデータベースを再作成することです。
/homeは別の場所にありますが、まだ存在するraid配列なので、そのパーティションにユーザーの完全なリストがあり、各ユーザーディレクトリのUIDを読み取り、各ユーザーの古いUIDも取得します。私が悩んでいるのは一対のスクリプトです。 1 つ目は /home を繰り返して一致する UID とユーザー名のペアを含むファイルを生成し、2 つ目は対応する出力ファイルを使用して新しいインストールでそのアカウントを作成します。 。現在のユーザー。これはSambaファイルサーバーなので、2番目のスクリプトは一致するSambaユーザー名も生成します。
ホイールを再作成しないように、これを行うために作成されたツールやスクリプトを知っている人はいますか?
ありがとうございます!
答え1
次のように、ホームディレクトリに「user:home:uid:gid」を含むcsvファイルを作成できます。
find /home -mindepth 1 -maxdepth 1 -type d -not -name "lost+found*" \
-printf "%f:%p:%U:%G\n" >/tmp/user.txt
次に、次のようにユーザーを再作成します。
cat /tmp/user.txt | while IFS=: read -r user home uid gid; do \
echo useradd -d "$home" -u "$uid" -g "$gid" "$user"
done
echo
出力が正しいと思われる場合は削除してください。useradd
これを必要に応じて調整し、正しいSambaコマンドをループに追加できる必要があります。