web-dev-qa-db-ja.com

ホームディレクトリを復元する手順は? (ユーザーIDなど)

home.tgzがあり、それを新しくインストールしたubuntuボックスにドロップするとします。

ファイルを展開する前に何をする必要がありますか?ユーザーを作成しますか?ユーザーIDはどうですか?グループ?暗号化はどうですか?

6
Martin
  1. オプションで以前と同じUIDとGIDを使用し、同じ場所にホームディレクトリを含むユーザーアカウントを作成します(例:/home/sid
  2. パスワードを設定する
  3. ファイルをユーザーのホームディレクトリに展開します。
  4. 以前と同じUIDとGIDを使用しなかった場合、所有権を変更します
  5. 必要な他のグループにユーザーを追加します

プロセスを簡素化する場合は、いくつかのことを行う必要があります。以下では、ユーザーがmarkと呼ばれると仮定します。

  1. ユーザーのグループメンバーシップを記録します:cd ~mark && id mark > mark.identity
  2. ホームディレクトリを親からバックアップします-たとえば、/home/markの場合、cd /home && tar jcpf mark.tar.bz2 markにしたい
  3. 新しいホストで/ homeに復元します(cd /home && tar xjpf mark.tar.bz2
  4. グループおよびユーザー名とグループメンバーシップを特定し、それらを復元します。これはかなりスクリプト化可能である必要があります。
#!/ bin/bash 
 USER = "$ {1}" 
 if [! -e "$ {USER}"。identity]; then 
 echo "IDファイルなし" 
 exit 
 fi 
 
 Gd = `awk '{print $ 2" $ {USER} "。identity } '| sed -e "s /.*(// g" -e "s /).*// g" `
 GLIST =` awk '{print $ NF "{USER}"。identity}' | sed -e "s/[az] * = // g" -e "s/[0-9] *(// g" -e "s /)// g" `
 
 $ {Gd}のグループの場合$ {GLIST}; do 
 getent group $ {GROUP}>/dev/null 
 STATUS = $ {?} 
 if [$ {STATUS} -ne 0]; then 
 groupadd $ {GROUP} 
 fi 
 done 
 
 useradd -g "$ {Gd}" -G "$ {GLIST}" 「$ {USER}」

ここに書いたばかりで、テストはしていないことに注意してください。


はい、すべてのグループが存在することを前提としています。スクリプトを拡張して、各グループが存在するかどうかを確認し、存在しない場合は作成するのは難しくありません。上記の変更がそれを処理するはずです。

また、これはSudoを介して取得した特権を処理しないことに注意してください。また、ローカルの電子メールなどを受け取ったとしても役に立ちません。それは、ユーザーを以前と同じグループに設定するだけです。また、ディレクトリが既に存在する場合は、上書きされるため、注意が必要です。

4
Cry Havok

テストvmでは、bob(1001)とalice(1002)を追加しました。ボブを削除し、ジョー(1001)を追加しました。ごめんなさい、私が悪かった。各ユーザーのホームフォルダーの所有者とグループを各ユーザーに再割り当てする必要があります。

これは退屈に思えるかもしれませんが、3つのステップの詳細な説明にすぎません。

これらのメンテナンスタスクを実行するにはスーパーユーザー権限が必要なので、各コマンドの前にSudoを付けて、これらの権限を付与します。

新しいUbuntuのインストール:

  • #1ユーザーアカウントを作成します:Sudo adduser alice
  • #2バックアップしたファイルを彼女の新しいホームディレクトリに展開します。
  • #3 aliceをファイルの所有者にします:Sudo chown -R alice\:alice /home/alice

コマンドを説明するには:

  • #1 adduserは(とりわけ)私たちのために/ home/aliceディレクトリを作成します
  • #3オプション-Rは所有権を再帰的に適用することを意味し、alice \:aliceはファイルに新しいowner\:groupを指定する方法であり、/home/aliceでこのタスクを実行するようにchownに指示します。

これで、/ home/aliceの下のすべてのファイルが彼女に属し、彼女はファイルへのアクセスに問題がないはずです。もっと理にかなっていることを願っています。

同じ名前で新しいユーザーアカウントを作成すると、古いユーザーアカウントと同じUIDになります。どこかでメーリングリストでそれについて読んだことを覚えていますが、それを読んでいるソースを見つけることができません。

0
invert