CIFS を mount する際には「パーミッション」と「uid」と「gid」に注意する

結論

CIFS なストレージを mount する際には、「パーミッション」と「uid」と「gid」に特に注意する必要があります。たいていのトラブルの原因はこれらの値が適切に設定されていないために起きると思います*1

具体例

CIFS を mount する際には、以下のマウントオプションを全て必須として指定するほうがいいでしょう*2

  • username
  • password
  • file_mode
  • dir_mode
  • uid
  • gid

上記のオプションを全て指定した場合のコマンド例は次のとおりです。

$ sudo mount -t cifs -o username=foobar,password=hogefuga,file_mode=0644,dir_mode=0755,uid=123,gid=456 //192.168.0.123/hogehoge /mnt/fugafuga

uidgid/etc/passwd を見ると分かります。例えば以下のような記述があった場合には、ユーザー redisuid114 で、gid122 となります。

$ sudo cat /etc/passwd
redis:x:114:122::/var/lib/redis:/usr/sbin/nologin

注意点

CIFS を mount した場合には、仕様上、パーミッションや owner はマウント時に定めた一意のものになります。これも CIFS をマウントしたときにハマりやすい点かと思います。

*1:私が見てきた限りでは、そうでした

*2:省略することもできるが

Powered by はてなブログ