
Ubuntu日本語フォーラム

ログインしていません。
sambaを使ってwindowsXP機からUbuntu12.04機へファイルを送ると、
Ubuntu側では所有者:グループが「nobody:nogroup」となってしまいます。
ただファイルを送るだけならいいのですが、たとえばubuntu側にあるファイルを上書きしたい時がありますよね。
そういう場合、たとえばそのファイルのowner:groupが「madc:madcgroup」でパーミッションが774だったりすると、nobodyさんは他人なので、上書きできませんよね。
これを、上書きするには、XP側のユーザーをmadcにするか、あるいはXP側のユーザーのグループをmadcgroupにしなくてはいけないわけですが、XP側のユーザー&グループを変更するには、どうしたらできますか?
ちゃんと、XP機からubuntu機へ、sambaでファイルを送ったときに、owner:groupが「madc:madcgroup」になるようにしたいわけです。
これは、できないのでしょうか?
それとも、やり方があったら教えてください。
オフライン
madc による投稿:
XP機からubuntu機へ、sambaでファイルを送ったときに、owner:groupが「madc:madcgroup」になるようにしたいわけです。
MS-Windows XP(以下 XP)は、詳しくないので、推測の域を出ませんが、そもそも、XPに、owner:group という概念は無かったように思われます。
また、誰でも接続できるサーバは、セキュリティの面から、標準では、権限が制限されたユーザ(例えば、nobody)で接続するようになっているのではないかと思います。
通常、特定のユーザで接続するのには、暗号化された通信で行う ssh を使い、ユーザのホームにログイン、転送するのが良いのではないかと思います。
オフライン
madc 様へ.
Samba の設定を変えてみてはいかがでしょうか?
Samba で共有する際,/etc/samba/smb.conf を書き換えていると思いますが,
"force user","force group" を共有ディレクトリの設定に加えておけば,
Windows 側から送られたデータの所有者,所有グループが設定したものになるはずです.
Samba サーバのタイプと smb.conf ファイル <http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-ja-4/s1-samba-servers.html>
オフライン
Ubuntu側で所有者とグループが「nobody:nogroup」になるのは、Windowsにログインしているユーザーと同じユーザー名がsambaのユーザーに存在していないのが原因でしょう。
Ubuntu側にユーザーmadcが存在し、グループがmadcgroupであれば、sambaユーザーにmadcを登録し、Windowsにmadcでログインして操作すればファイルの所有者とグループはmadc:madcgroupになるはずです。
smb.confの設定以前の問題のような気がします。
オフライン
みなさまありがとうございます
si様
そうなのですよ。WindowsXPにはowner:groupという概念は無いのです。
そしてXPからUbuntuへファイルを移動すると、nobody:nogroup扱いになってしまいます。
そうするとつまり、たとえば、madc:madcgroup等のように、明確に所有者とグループが決まっているもので、かつパーミッションが744とかだたりすると上書きできません。
これを上書きできるようにしたいのです。
hellfire様
やってみました。
smb.conf
[/var/www]
comment = www
path = /var/www
read only = no
force user = madc
force grpup = madcgroup
sudo /etc/init.d/smbd restart
XPからubuntuの/var/wwwへ「test.txt」を移動
再びubuntuに戻り
ls -l /var/www
(略)
-rwxr--r-- 1 nobody nogroup 4 11月 2 01:00 test.txt
できてませんでした。どうやってもnobody nogroupになってしまいます。
なにか間違っていますか?
jackalope
sambaユーザーに登録する、というのは、どういうことですか?
上記のようにforce userに書くということでしょうか?
それと、XPのユーザー名は別の名前にしています。
名前をmadcに変えれば大丈夫というわけでもないようです。
とりあえずftpでファイルやりとりはできますが、sambaのほうが気軽で便利なので是非使えるようにしたいです。
オフライン
madc 様へ。
Samba の問題は、共有の方法により様々な要因が絡みます。
どのように共有しているか(共有方法は何か)やアカウントの取り扱い等も示してもらえませんか?
私の環境では、
[Public] path = /home/hellfire/Public force user = hellfire force group = hellfire create mode = 0664 directory mode = 0755 writeable = yes map archive = yes map system = yes map hidden = yes browsable = yes guest ok = yes guest only = yes
で、Windows 側からアカウント、パスワードを尋ねられることなく、
ファイルを転送し、その先で hellfire の所有者、所有グループになっていることを確認しました。
また、
[Public] path = /home/hellfire/Public force user = hellfire force group = hellfire create mode = 0664 directory mode = 0755 writeable = yes map archive = yes map system = yes map hidden = yes browsable = yes
この状態だと、Windows 側でパスワードを尋ねられますが、
Ubuntu 側のアカウント、パスワードでアクセス可能になります。
もちろん、この場合はファイルを転送すれば、Ubuntu 側の所有者、所有グループになります。
なお、事前に
$ sudo smbpasswd -a hellfire
で、Samba 用のパスワードを設定しています。
なお、その他の Samba の設定は、ほぼデフォルトで以下の内容を [global] に追加したぐらいです。
dos charset = CP932 unix charset = UTF-8 display charset = UTF-8 dos filemode = yes dos filetimes = yes dos filetime resolution = yes wide links = yes follow symlinks = yes unix extensions = no
オフライン
hellfire様
できました!!!!!
今までだと、unityからGui操作で、「このフォルダを共有する」にチェックを入れて、というやりかたでしたが、
いったんそれをやめて、改めてsmb.confファイルに書いてrestartしたらできました!!!
ありがとうございました。
オフライン