OSのクリーン再インストール後に古い/ homeディレクトリをマウントする方法は?


8

Ubuntu 12.04 LTSを再インストールする前に、/ homeディレクトリをアンマウントしました。クリーンな再インストール後、一部のユーザーを再作成してubuntu-desktopパッケージをインストールし、古い/ homeディレクトリを再マウントしました。すべてのドキュメントが復元され、シェルでログインしている限り問題はありません。しかし、GUIにログインしようとすると、ログイン画面が再ロードされるだけです。これは、古い/ homeディレクトリをに含めて以来ずっと続いてい/etc/fstabます。

ここで解決策を実行しようとしたところ、すべてのユーザーの/homeディレクトリで.Xauthorityファイルを探したところ、奇妙なことに気づきました。ユーザーが混同しているようです。たとえば、ls -lah | grep Xauthorityin /home/bobは次のように表示されます。

-rw-------  1 emily emily   53 Nov 29 10:19 .Xauthority

等々。私は、古い/homeディレクトリと同じ順序でユーザーを再作成しなかったため、古いディレクトリをマウントしたときに状況がおかしくなったと思います。しかしながら!古い/homeディレクトリファイルは数TBであり、あちこちに自由に転送するスペースがないため、そのままでもプラグインできる必要があります。また、何も削除することもできません。これを修正するにはどうすればよいですか?

古い各/home/userディレクトリのすべての隠しファイルを新しいものに置き換えるのは良い考えですか?

[追加情報]

ls -l /home(古いものをマウントした後/home)の内容; 注:lost+foundユーザーであることは想定されていませんでした。

total 36
drwxr-xr-x 22 bob   bob    4096 Mar 11 12:23 alice
drwxr-xr-x 44 marc  marc   4096 Mar 11 12:21 emily
drwxr-xr-x 23 1004  1004   4096 Jul 29  2013 bob
drwxr-xr-x  4 1005  1005   4096 Jul 30  2013 ken
drwx------  2 root  root  16384 Mar 27  2012 lost+found
drwxr-xr-r 40 emily emily  4096 Mar 11 12:49 marc

内容cat /etc/passwd(上記のユーザーに限定):

root:x:0:0:root:/root:/bin/bash
marc:x:1000:1000:marc,,,:/home/marc:/bin/bash
emily:x:1001:1001:emily,,,:/home/emily:/bin/bash
bob:x:1002:1002:bob,,,:/home/bob:/bin/bash
ken:x:1003:1003:ken,,,:/home:ken:/bin/bash

注:aliceアカウントが不要になったため、OSの再インストール後にユーザーは再作成されませんでした。

の出力lsblk

NAME        MAJ:MIN RM  SIZE        RO  TYPE    MOUNTPOINT
sda     8:0     0   931.5G  0   disk
+sda1   8:1     0   285M        0   part    
+sda2   8:2     0   1K      0   part
+sda5   8:5     0   18.6G       0   part
+sda6   8:6     0   93.1G       0   part    /home
+sda7   8:7     0   93.1G       0   part
+sda8   8:8     0   698.4G          0   part    /home/marc/Data
+sda9   8:9     0   9.3G        0   part    [SWAP]
+sda10  8:10        0   18.6G       0   part    /   
sr0     11:0        1   1024M       0   rom
sdb     8:16        0   1.8T        0   disk
+sdb1   8:17        0   1.8T        0   part    /home/marc/Data2
sdc     8:32        0   1.8T        0   disk
+sdc1   8:33        0   200M        0   part    
+sdc2   8:34        0   465.8G          0   part    /home/marc/USB_Disk/Disk1
+sdc3   8:35        0   465.8G          0   part    /home/marc/USB_Disk/Disk2
+sdc4   8:36        0   465.8G          0   part    /home/emily/Data
+sdc5   8:37        0   465.6G          0   part    /var/www
sdf     8:80        0   3.7T        0   disk
+sdf1   8:81        0   1.8T        0   part    /home/ken
+sdf2   8:82        0   1.8T        0   part    /home/bob
sde     8:64        1   29.8G       0   disk
+sde1   8:65        1   29.8G       0   part    [SWAP]

ご覧のように、ユーザーmarcはドキュメントをいくつかの異なるディスクとパーティションに分散しています。


ユーザーの.Xauthorityファイルの所有権が混同されている考えられる原因。この投稿を参照してファイルをバックアップし(最初に1人のユーザーで実行して)、システムを再起動してから、システムが新しい.Xauthorityファイルを作成する特定のユーザーでログインしてください。所有権を削除または変更せず、最初に移動して確認してください。:)
AzkerM 2014年

ありがとう。「xauth:ロックオーソリティファイル/home/user/.Xauthorityでタイムアウト」というメッセージが表示された後、フラッシュにたくさんのものが表示され、読む時間がなかったため、黒い画面が表示されました。ctrl+ alt+ delを押してからを押してみましたEnterが、何も起こりません。
バイオハザード

ホームディレクトリが適切に設定されているかどうかを確認するために、ユーザーの行のみを表示できるようにすることで、ls -l /home/可能であれば&の出力を要求できcat /etc/passwdますか。ユーザー名は、UID:GID間違いがない限り、通常1000 から始まります
AzkerM '11年

リクエストした情報を元の投稿に追加しました。関心をお寄せいただきありがとうございます:)すべてがめちゃくちゃに見えます。lost+found古いフォルダが何であるかはわかりません/homeが、確かにユーザーではありませんでした。しかし、現在はと表示されていrootます。
バイオハザード

心配ない。あなたが指定したエラーによると、私には設定がうまく見えるので、各ユーザーのホームフォルダーに再帰的にアクセス許可を再割り当てする方が良いと思います。それを行う前に、sudo blkid&の出力も要求する場合がありますcat /etc/fstab。:)
AzkerM 2014年

回答:


3

ln -nファイルシステムがユーザーのUIDとGIDをどのように考えるべきかを表示します。これが私のシステムの例です。

$ ls -ln /home/
total 12
drwxr-xr-x  5  111  120 4096 Mar 15 10:11 hts
drwxr-xr-x 11 1000 1000 4096 Mar 15 12:34 oli
drwxr-xr-x  4 1001 1001 4096 Mar 13 08:46 test

このシステムでoliは、正しいUIDは1000ですが、そうなるように何かを実行した場合、それを1001使用usermodして単純にパンチすることができます。スワップoliしたいのとtestのUID を考えてみましょう。2人のユーザーがUIDを共有できないため、これは3ホップのゲームです。グループを共有することもできます。

sudo usermod -u 1099 -g 1000 test
sudo usermod -u 1001 -g 1001 oli
sudo usermod -u 1000 test

1つの注意:現在のユーザーがチェンジアラウンドのユーザーの1人である場合は、sudo suすべてを起動してrootとして実行する前に。安全がオフになっていることを覚えておいてください。このプロセスの途中で、sudo権限をバグにさらしたくはありません。

/ home /のユーザー名がUIDと一致するまで(このように)、この種のバレエを演奏する必要がありますls -ln /home。あるいは、数回のfind呼び出しですべてのファイルを変更することもできますが、個人的には、これはかなりの時間の無駄です。ユーザーシステムを介してこれを一元的に修正する方が、簡単で迅速で、破壊の可能性が低くなります。

次回は、事前に UIDを確認することを忘れないでください上の--uid nnn議論adduserはこれを無痛にするでしょう。


これは私の問題を解決しました!UIDとGIDを修正した後、startxを実行できました。ありがとうございます:)
バイオハザード
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.