Ubuntu日本語フォーラム
ログインしていません。
初めてLinuxをインストールしています。
都合により、windows7とファイル共有を行い、その共有フォルダにubuntuから自由に書き込みしたいと思っています。
sambaで接続自体は成功し、ubuntuからアクセスも可能なのですが、接続が成立するまでやたら時間がかかります。
(こちらの場合はwinフォルダへの書き込みはできます)
あまりに遅いので、共有したいwindows7上のフォルダをubuntuへマウントする方法をみつけ、やってみました。
マウントも問題なく成功し、すぐにアクセスできるようになったのですが、
所有者がrootになっていて、書き込みさせてくれません。
目的を達成するには、
(1)sambaの接続を高速化する方法
(2)マウントしたフォルダの所有者をユーザにする方法
のどちらかが必要なのですが、どなたかご教授いただけないでしょうか。
希望としては、マウントしてしまうほうが、後の処理が楽そう(パス指定などしやすそうな気がする)だと思っているのですが・・・。
なお、マウントする時は、以下のコマンドを入れています。
sudo mount.cifs //IPアドレス/共有フォルダ /ubuntu側のマウントするフォルダ -o username=winのユーザ名, password=winのパスワード
色々調べて、マウントの仕方が悪そう(sudoでマウントしてはいけない?)、というところまではわかったのですが、
一般ユーザでマウントする方法がわかりません。
どうぞよろしくお願いいたします・・・。
オフライン
yuka_ubu 様へ.
マウントの際に,さらにオプションをつけてみてはいかがでしょうか?
$ sudo mount -t cifs -o username=<Sambaのユーザ>,passwd=<Sambaのパスワード>,uid=<アクセスしたいユーザ>,gid=<アクセスしたいユーザのグループ>,file_mode=<ファイルのパーミッション>,dir_mode=<ディレクトリのパーミッション> <接続先の共有名> <マウントしたいパス>
特に,uid と gid で問題は解決できると思います.
オフライン
私はUbuntu8.10から使い始めましたが当初は、yuka_ubuさんと同じようにWindowsXpで作り上げたDATA領域を共有出来ないものかと、同じようにSambaを導入し試行錯誤をしましたが、個人で利用する以上今は簡単な方法で
Ubuntu12.04(64Bit,32Bit)とWindows 7の両方からデーター領域を共有しています。構築の方法を現在のPCを例に提示します。参考にしてください。
① HDDとうドライブ構成を把握するため端末から下記コマンドを入力します。
sudo blkid
出力結果です
1204@T5500-32:~$ sudo blkid
/dev/sda3: UUID="1887777d-42ed-460d-b828-42b9bd54747e" TYPE="ext4"
/dev/sda4: UUID="3f145a6e-3712-41c0-b950-42c7674229cb" TYPE="swap"
/dev/sda5: UUID="3841e143-ddf3-45de-8b2c-a7156b36dcf4" TYPE="ext4"
/dev/sdc1: UUID="3FBEBA740CE33441" TYPE="ntfs"
/dev/sdb1: UUID="34D4B857599189FB" TYPE="ntfs"
/dev/sdb2: UUID="01A8E83D514D7D00" TYPE="ntfs"
/dev/sdd1: UUID="343092A50ADAEADB" TYPE="ntfs"
Sda3→Ubuntu12.04(32Bit) Sda5→Ubunt12.04(64Bit) Sdb1・Sdb2→データー用 Sdc1・Sdd1→Windows 7になっています。
② マウウトするフォルダをUbuntu側に作ります。(自分のフォルダのなかに)
sudo mkdir /home/1204/sdb1 /home/1024/sdb2 /1204は自分のフォルダになります Sdb1&Sdb2はご自由に日本語は避けた方が
③ 起動時に自動マウントするようにファイルを編集する。下記コマンドでファイルをオープンする。
gksudo gedit /etc/fstab
カラーで表示した部分が編集したところです、上部のカラー表示に対比しています。最下行に2行追加、マウントするパーティション、ドライブ1個の時は1行になります
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sda3 during installation
UUID=1887777d-42ed-460d-b828-42b9bd54747e / ext4 errors=remount-ro 0 1
# swap was on /dev/sda4 during installation
UUID=3f145a6e-3712-41c0-b950-42c7674229cb none swap sw 0 0
UUID=34D4B857599189FB /home/1204/sdb1 ntfs defaults 0 0
UUID=01A8E83D514D7D00 /home/1204/sdb2 ntfs defaults 0 0
注意点は=の後ろの「”」は付け無い事
編集は慎重に起動しなくなる場合もあります。もし不幸にも起動しない事態が発生した時はLiveCDを起動し修正可能です。
オフライン
hellfireさま、uotoraさま。ご教授ありがとうございます。
uotoraさんのおっしゃる方法は、同じパソコン上にubuntuとwinがデュアルブートの状態での共有、ということでしょうか。
今回私が行いたいのは、ネットワークで繋がった別のマシンへのアクセスなので、できないのかな、と思います。
(ただ、デュアル状態のPCも別に存在するので、そちらはそちらで試してみようと思います。まだ手が付けられていませんが・・・)
hellfireさんの教えてくださった方法を適用すればいいのだろう思うのですが、これがうまくいきません。
uidとgidを入れると、パーミッションで問題があるからマニュアルを見ろ、というようなエラーが返ってきます。
uidはubuntu側のアクセスしたいユーザ名で、gidはそのユーザが所属するubuntu側のグループ名、で合ってますよね・・・。
uidユーザ名自体は、win上のアクセス権など必要なのでしょうか。
win側にも同じ名前のユーザを作って許可を与えてみたり、win側のユーザ名をUbuntu上に作ってみたりしましたが、
どうにも同じエラーが返ってきます。
他、file_mode、dir_modeの数値の与え方のルールがわかりません・・・。
web上では0755とかいろいろ見かけるのですが、基本的な法則はどこを見ればわかるでしょうか。
もう少し、教えてください。
よろしくお願いいたします。
オフライン
yuka_ubu 様へ.
yuka_ubu による投稿:
uidとgidを入れると、パーミッションで問題があるからマニュアルを見ろ、というようなエラーが返ってきます。
uidはubuntu側のアクセスしたいユーザ名で、gidはそのユーザが所属するubuntu側のグループ名、で合ってますよね・・・。
エラーをかいつまんで説明されるとこちらとしては対処できなくなります.
エラーを貼り付けて説明してもらえると助かります.
uid,gid は ubuntu 側のアクセスしたいユーザで合っています.
uid=hoge,gid=hogegroup のように指定すればいいはずです.
yuka_ubu による投稿:
他、file_mode、dir_modeの数値の与え方のルールがわかりません・・・。
web上では0755とかいろいろ見かけるのですが、基本的な法則はどこを見ればわかるでしょうか。
file_mode,dir_mode は,Ubuntu 内のパーミッションの先頭に 0 を付けたものとなります.
端末で ls -l をして戴けると以下の内容が出力されます.
-rwxrw-r-- 1 User Group 0 6月 22 15:05 hogefile
最初の rwx が所有者,次の rw- が所有グループ,最後の r-- がその他のパーミッションを示しています.
r は読み込み,w は書き込み,x は実行権限を示しています.
これらの権限は r = 4,w = 2,x = 1 となっており,数字のパーミッションはこれを足しあわせたものが,
所有者,所有グループ,その他の 3 桁で表しているだけです.
なので,上記の場合,764 となります.Samba の場合,先頭に 0 が付くので,0764 となります.
Ubuntu (Linux) のデフォルトの状態におけるユーザの領域のパーミッションは,
ファイルが 644,ディレクトリが 755 となっています.
なので,Samba もこのパーミッションを与えるといいと思います.
オフライン
hellfireさま
パーミッションの数値、わかりやすく教えてくださり、ありがとうございました。
エラーメッセージですが、
mount error 13 = Permission denied
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)
というメッセージが出ます。マニュアルを見ても、webを調べても、どこが間違っているのかわかりませんでした。
ただ、いろいろやっているうちに、fstabに直接書き込むと、一般ユーザが所有者としてマウントできました。
書き込んだ内容は、
fstabの最後:
//IPアドレス/共有フォルダ /ubuntu側マウント用フォルダ cifs username=winのユーザ名,password=winのパスワード,
file_mode=0755,dir_mode=0755,rw,user,noauto,exec,utf8 0 0
これで、自動的にマウントされました。
noautoなのにどうして自動でマウントされてしまうのかわかりませんが・・・。
自動でマウントされたほうが便利なので今のところはこれで良しとしてしまいます。
環境をちょっと変えたらまた駄目になりそうな気もしますが、
これさえできれば設定関係をいじる予定はないので、素人の間はこれ以上触らないほうがよさそうですね。
ありがとうございました。
オフライン
yuka_ubu 様へ.
解決,おめでとうございます.
ただ,少し気になることがあります.
現在は問題なくても,将来的に問題(ログが HDD を逼迫したり,予期しない挙動になってしまう)に
なりますので,再度確認してみてください.
yuka_ubu による投稿:
fstabの最後:
//IPアドレス/共有フォルダ /ubuntu側マウント用フォルダ cifs username=winのユーザ名,password=winのパスワード,
file_mode=0755,dir_mode=0755,rw,user,noauto,exec,utf8 0 0
で,最後に utf8 だけ付けていますが,その前に何か付きませんか?
さらに蛇足ですが,
yuka_ubu による投稿:
エラーメッセージですが、
mount error 13 = Permission denied
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)
というメッセージが出ます。マニュアルを見ても、webを調べても、どこが間違っているのかわかりませんでした。
それは,オプションとかが間違ってないですか?
オフライン
yuka_ubuさんへ
マウント方法を#3の記述を参考にやってみてください。マウントを受けるフォルダは/home/**の中に作り、sambaで共有フォルダとして/homeを指定しアクセスは誰でもに設定してやればパスワードなしでいとも簡単に
接続できます。
オフライン
yuka_ubuさんへ
Samba導入に興味ありましたので、Pea to Pea 環境で結果WindowsからUbuntuのフォルダ、ファイル操作はいとも簡単でしたが
UbuntuからWindowsのフォルダ、ファイル操作はコピー、移動、保存全てキャンセルされました、結果はWindows 側での共有に対する
設定を見直すことで解決出来ました。
ここはUbuntuのフォーラムなのでWindowsに関する詳細は省きますが、階層は3層くらいしたにあります。
オフライン
丁寧なレスありがとうございます。
hellfireさま
utf8の前になにか、ということですが、Web上の情報では確かについていますね・・・。
私は、もともとのfstabに書かれている書式をそのままコピーしただけなので、
ネットワークフォルダをマウントする場合には不適切なのかもしれません??
もともと書かれていたのは、フロッピーディスクをマウントしておくための書式だろうと思います。
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
/dev/sr0 /media/floppy1 auto rw,user,noauto,exec,utf8 0 0
となっていたので、新しい行を作って、そのままユーザー名などのオプションを追加してみただけなのです。。。
知識なくやっているので不安になってきました・・・。
が、とりあえず動いているので、止まった時は止まった時かなあとも思ったり。
大事なデータは置けませんね・・・。うーん。
uotoraさま
sudo blkid
をしてみても、ネットワークフォルダは一覧に表示されません。(ネットワークを検索していくと、ちゃんといます)
ので、UUIDがわからず、マウントできない状態です。
なにか私の設定が悪いのかもしれません・・・。
でも、いつか使えるかもしれないので、ばっちりメモさせていただきました。
みなさま大変ご親切に、ありがとうございました。
とても助かりました!
オフライン
yuka_ubuさん こんにちは!
問題解決されていらっしゃるようなのでご参考までに。
『samba』についてですがいくつかもしよかったら確認してください。
1.Windows側の共有設定、『ネットワーク上での共有とセキュリティ』はできてらっしゃるでしょうか?
2.WindowsPCとUbuntuPCのIPアドレスの設定は正しくできているでしょうか?
例:WindowsPC:192.168.1.10、UbuntuPC:192.168.1.11
3.Windowsのワークグループの設定はどうなっていますか?当方はXPなのであれなんですがWin7でも変わっていなければデフォルトでは
「WorkGroup」?だったと思います。
4.Ubuntuにインストールされた『samba』のSambaサーバー設定のプレファレンス(P)→サーバー設定(S)の基本(B)タグの中にワークグループ名とWindows側のワークグループ名は同じですか?もし違っていたら同じにワークグループ名にしてみて下さい。
5.設定変更などおこなったらPCの再起動後に、Windowsのネットワーク、Ubuntuの『ネットワーク』を表示するで該当のPC名が表示されていればOKです。
私は、WinXPとUbuntuの環境を物理PC、VirtualBOX上の仮想PCとフォルダーの共有を行ってファイルの書き込みやフォルダ(ディレクトリ)
の作成など問題なくできています。
オフライン