Ubuntu 12.04 LTSを再インストールする前に、/ homeディレクトリをアンマウントしました。クリーンな再インストールの後、一部のユーザーを再作成し、ubuntu-desktopパッケージをインストールしてから、古い/ homeディレクトリを再マウントしました。すべてのドキュメントが復元され、シェルでログインしている限り問題ありません。ただし、GUIにログインしようとすると、ログイン画面が再ロードされます。これは、/etc/fstab
に古い/ homeディレクトリを含めて以来ずっと発生しています。
解決策を追おうとして here 、私はすべてのユーザーの/home
ディレクトリで.Xauthorityファイルを探し、奇妙なことに気づきました。ユーザーは混乱しているようです。たとえば、ls -lah | grep Xauthority
の/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
注:アカウントが不要になったため、OSの再インストール後にユーザーalice
は再作成されませんでした。
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
には、さまざまなディスクとパーティションでドキュメントが粉砕されています。
ln -n
は、filesytemがユーザーの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人である場合は、Sudo su
を開始してからすべてをルートとして実行します。安全がオフになっていることを覚えておいてください。このプロセスの途中で取得して、Sudo特権をバグアウトしたくはありません。
/ home /のユーザー名がUIDと一致するまで(ls -ln /home
に示すように)この種のバレエを演奏する必要があります。あるいは、いくつかのfind
コールですべてのファイルを変更することもできますが、個人的にはこれは大きな時間の無駄だと思います。これをユーザーシステムを介して一元的に修正する方が簡単、迅速、潜在的に破壊的ではありません。
次回は、UIDを事前に確認することを忘れないでください。adduser
の--uid nnn
引数は、これを簡単にします。