外付けHDDをrootではなくログインユーザーでも使えるようにしてみた

2018年3月30日

ハードディスクからSSDに乗り換えてみました。また、RAMも4Gbyteから8Gbyteに増量してみました。

結果、非常にPCが快適になりました。というか、見違えるようになりました。今更ながら、初のSSDの使用なのですが、これほどまでにHDDと違うかと思いました。技術の進歩って偉大です。

で、外したHDDを外付けにするためにケースを買って接続したところ、rootでしかファイルアクセスができなくなって、ログインユーザーでアクセスするマウントにちょっと手こずってしまいました。色々と探して試したので、結果をメモとして残しておきます。

HDDのフォーマット

まず、Gpartedで全ての領域をXFSにフォーマットしなおしました。df -h で見ると、システムとしては/dev/sdb1として認識されていました。

外付けHDDとしてマウントできるか確認

まず、マウントがちゃんとできるかどうか試します。/mntの下にディレクトリを作成します。

$ sudo mkdir /mnt/hddrive
$ sudo mount /dev/sdb1 /mnt/hddrive

これでちゃんと問題なくマウントできているか確認します。

$ df -h
…色々…
/dev/sdb1 596G 641M 596G 1% /mnt/hddrive
…色々…

となるので、ちゃんとマウントできていることがわかりました。
試しに、a.txtというファイルを作成してみます。

$ cd /mnt/hddrive
$ touch a.txt

とやると「権限がありません」とでます。

$ sudo touch a.txt

とやるとa.txtというファイルが作成できました。

ログインユーザーではアクセスできませんが、HDD自体はマウントされています。

ローカルユーザーでアクセスできるか確認

次にローカルユーザーでアクセスできるようにします。一度アンマウントしてからやってます。

$ sudo umount /dev/hddisk
$ sudo chown user名:group名 /dev/hddisk

user名:group名 は各自置き換えてください。

これで再度マウントするとログインユーザーでアクセスできるようになります。

fstabに加えて自動マウントする

あとは、fstabに下記を加えるだけですね。

まず、HDDのUUIDを調べるためにblkidコマンドを実行します。

$ blkid /dev/sdb1
/dev/sdb1: UUID=”c42877d0-e1b8-4da1-b5aa-7d5c7ebd5f5d” TYPE=”xfs” PARTLABEL=”pc-name” PARTUUID=”045c8f10-5281-4549-b23b-28e0729df8fe”

というようになりますので、UUIDがわかります。あとは、fstabに下記のように書き加えると次からは自動でマウントしてくれます。

UUID=c42877d0-e1b8-4da1-b5aa-7d5c7ebd5f5d /mnt/hddisk xfs defaults 1 2

以上でログインユーザーで外付けHDDが利用できるようになりました。