# mount /dev/hdd1 /mnt # ls /mnt -l drwxr-xr-x 2 500 501 4096 2008-02-10 04:51 hoge -rw-r--r-- 1 500 501 55 2003-12-31 07:53 hoge.txt # touch /mnt/test.txt # echo test > /mnt/text.txt # ls /mnt -l drwxr-xr-x 2 500 501 4096 2008-02-10 04:51 hoge -rw-r--r-- 1 500 501 55 2003-12-31 07:53 hoge.txt -rw-r--r-- 1 root root 5 2009-02-10 18:39 test.txt # exit $ cd /mnt $ ls -l drwxr-xr-x 2 500 501 4096 2008-02-10 04:51 hoge -rw-r--r-- 1 500 501 55 2003-12-31 07:53 hoge.txt -rw-r--r-- 1 root root 5 2009-02-10 18:39 test.txt $ cat text.txt test $ touch test2.txt bash: mnt/test2.txt: Permission denied $ echo test > hoge.txt bash: mnt/hoge.txt: Permission denied
これは不思議なことではなく、HDDに収められたデータに対して読み書き実行権限のあるuidとgidが、読み書きしようとしているユーザと違うからだ。一つの方法としてrootになって収められているデータ全てのuidとgidを読み書きしようとしているユーザと同じにしてしまうという方法がある。
# cd /mnt # chown -R hoge:hoge /mnt $ ls -l /mnt drwxr-xr-x 2 hoge hoge 4096 2008-02-10 04:51 hoge -rw-r--r-- 1 hoge hoge 55 2003-12-31 07:53 hoge.txt -rw-r--r-- 1 hoge hoge 5 2009-02-10 18:39 test.txt
先ほど作成したtest.txtもhoge:hogeになったが、これで読み書き実行できるはずだ。