Ubuntu PCを10.04から12.04にアップグレードしました。
問題は、ホームフォルダーに対するすべてのアクセス許可が間違っていたことです。
だから、私は次のことをしました:
Sudo chown -R james:james /home/james/*
Sudo chown -R james:james /home/james/.*
Sudo chown -R htpc:htpc /home/htpc/*
Sudo chown -R htpc:htpc /home/htpc/.*
ただし、コマンドを実行する方法に応じて、james:jamesまたはhtpc:htpcの両方のフォルダーにすべてのファイルが作成されます。
どのようにリンクされ、どのように修正できますか?
要求どおり:
james@htpc:~$ ls -l /home
total 8
drwxr-xr-x 41 james james 4096 May 20 19:32 htpc
drwxr-xr-x 31 james james 4096 May 20 20:04 james
james@htpc:~$ ls -l /home/htpc
total 236
drwxr-xr-x 4 james james 4096 Nov 25 13:19 Desktop
drwxr-xr-x 2 james james 4096 Mar 13 2011 Documents
drwxr-xr-x 5 james james 4096 Dec 22 2010 Downloads
-rw-r--r-- 1 james james 179 Nov 18 2010 examples.desktop
-rwxr-xr-x 1 james james 85 Dec 27 2010 goback
-rw-r--r-- 1 james james 425 Nov 28 2010 modelines
drwxr-xr-x 5 james james 4096 Dec 27 2010 Music
drwxr-xr-x 22 james james 4096 Oct 29 2012 Pictures
drwxr-xr-x 2 james james 4096 Nov 18 2010 Public
drwxr-xr-x 2 james james 4096 Nov 18 2010 Templates
-rwxr-xr-x 1 james james 251 Dec 27 2010 testmode
drwxr-xr-x 2 james james 4096 Dec 23 2010 Videos
-rwxr-xr-x 1 james james 190672 Nov 6 2010 winetricks
james@htpc:~$
これは、シェルが「。*」を「..」または1つ上のディレクトリに展開しているためです。
この場合、IMO、findを使用するのが最善です
ルートになる
Sudo -i
検索を実行
find /home/$user -exec chown $user:$user {} \;
$ userを適切なユーザー名に変更します
理論的には、chownは-Rを使用し、ワイルドカードを使用せずに動作するはずです
Sudo chown -R $user:$user /home/$user
しかし、これは隠しファイルや.filesを見逃していると思うので、RoboJ1Mが問題を引き起こした「。*」を試したのはそのためです。
EC2ホストでこれを使用して、ホームフォルダーのアクセス許可を修正します。
#fix home directories
cd /home/
for i in *; do
useradd $i
chown -R $i:$i /home/$i
done
-Rを実行する場合、ワイルドカードを使用する必要はありません。最上位レベルでのみ、残りはそのままにしておきます。そして、他の人が言ったように。*が一致する..