!!!準備 環境によってイは cifs-utils が必要 !!!マウント mount -t cifs -o username=<ユーザー名> //<マシン名>/<共有フォルダ名>,soft /mnt/win mount -t smbfs -o codepage=cp932,iocharset=utf8,username=<ユーザー名> //<マシン名>/<共有フォルダ名> /mnt/win smbmount //<マシン名>/<共有フォルダ名> /mnt/win -o username=<ユーザー名> オプションに soft を付けると、相手サーバがクラッシュしてもハングアップしない。 !ユーザ名の指定について マウント元がADに参加しているLinuxのsambaの場合、ユーザ名の指定に注意。 winbind separator winbind use default domain の値に関係なく、 -o username=ドメイン\\ユーザ名 のように区切りを「\\」として、ドメイン名を指定しないとダメらしい。 !パーミッション 以下のように、file_mode、dir_modeでパーミッションを設定できる。 sudo mount -t cifs -o username=test,file_mode=0700,dir_mode=0700 //192.168.38.155/share /mnt/smb !!!fstabの書き方 http://www.measure-zero.jp/blog/linux/2006-10-08-023821.html //srv/public /mnt/public cifs rw,soft,credentials=/etc/cred.file 0 0 または //srv/public /mnt/public cifs rw,credentials=/etc/cred.file,domain=GROUP,iocharset=utf8 0 0 credentialsでユーザーIDとパスワードを書いたファイルを指定する。 cred.file username=hogehoge password=fugafuga credential で指定するファイルのパーミッションには注意。 mount -a -t cifs とやってテスト。 !!!UID の設定について http://mitpage.seesaa.net/article/295164833.html マウントする際に -o uid=ユーザ名 OR uid などのように、 uid を指定したほうが良い。 例: mount -t cifs //IPアドレス/共有フォルダ名 マウント先 -o username=Sambaのユーザー名,password=パスワード,uid=所有者名 uidを省略するとuid=0が指定される。uid=0はrootになる {{word ※注意,red}} ユーザ名が数字だけの場合(ユーザ名が 100001とか)は ユーザ名指定ではなく、uid 指定のほうが良い。 数字だけのユーザ名を指定すると、chmod などをした時にパーミッションエラーが出たりすることがある。 !!!文字コードについて http://d.hatena.ne.jp/tkng/20090204/1233710552 古いバージョンではcodepageが使えていたが、新しいバージョンはcodepageが効かなくなっている。 なので、文字コードが異なる共有をマウントする場合は、convmvfsを使うと良い。 !!ダウンロード http://sourceforge.net/projects/fuse-convmvfs/files/ からダウンロード {{ref fuse-convmvfs-0.2.6.tar.gz}} !!インストール ./configure make make install !!使い方 convmvfs /path/to/mountpoint -o icharset=cp932,srcdir=/mnt/samba これで/path/to/mountpointにアクセスすると、/mnt/samba以下にあるファイル名がUTF-8で見えるようになる。 使い終わったら umount /path/to/mountpoint でアンマウントする。 !!!日本語のパスがマウントできない場合 http://infrase.jpn.org/?p=54 vagrantやdockerなど最低限のパッケージのみの環境では nls_utf8 が含まれていないため、日本語のパスがマウントできなかったり、日本語が化けたりすることがある。 nls_utf8が含まれていない場合は apt install linux-image-extra-virtual などでインストールする。 {{category2 OS,Linux}}