トップ 一覧 置換 検索 ヘルプ RSS ログイン

smbをマウントの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!準備
環境によってイは
 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}}