トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF 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になる

※注意
ユーザ名が数字だけの場合(ユーザ名が 100001とか)は
ユーザ名指定ではなく、uid 指定のほうが良い。
数字だけのユーザ名を指定すると、chmod などをした時にパーミッションエラーが出たりすることがある。

文字コードについて

http://d.hatena.ne.jp/tkng/20090204/1233710552
古いバージョンではcodepageが使えていたが、新しいバージョンはcodepageが効かなくなっている。
なので、文字コードが異なる共有をマウントする場合は、convmvfsを使うと良い。

 ダウンロード

http://sourceforge.net/projects/fuse-convmvfs/files/
からダウンロード
fuse-convmvfs-0.2.6.tar.gz(246)

 インストール

./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

などでインストールする。


[カテゴリ: OS > Linux]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2018年08月22日 19時56分02秒