- 締切済み
sambaで共有ホルダーの書込みについて。
CentOS5.2・samba3.2でファイルサーバを構築しています。 WindowsXpから共有に対して書込み出来るのですが Linux上で書込みしたファイルを見るとroot:rootと なっています。 ログインしたユーザでの表記にするにはどうしたらよいのでしょうか? [CAD Data] comment = CAD Data Area path = /pub/cad writable = yes read list = @staff write list = @staff force create mode = 0666 force directory mode = 0777 hide unreadable = yes hide unreadable = yes で [root@]# ls -al 合計 8 drwxrwxrwx 1 root root 0 3月 21 00:09 . drwxr-xr-x 25 root root 4096 3月 20 23:41 .. drwxrwxrwx 1 root nogroup 0 3月 21 00:23 cad としています。 ご教示頂きたいと存じます。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- 小田 力(@ricky-oda)
- ベストアンサー率55% (46/83)
>この手順で間違っているのでしょうか? 特に間違いはないと思います. >Linux上で書込みしたファイルを見るとroot:rootとなっています。 cadディレクトリの上位のディレクトリ,下位のディレクトリについて SUID,SGID を調査すれば手掛かりが得られるかも知れませんね.
- 小田 力(@ricky-oda)
- ベストアンサー率55% (46/83)
WindowsマシンからSambaサーバーにアクセスする際に,Sambaサーバー側で ユーザー認証を行い,UNIX の uid とのマッピングを行えば,アクセス者は UNIX の uid で UNIX上のリソースにアクセスします. SambaユーザーとUNIXユーザーとは別々に管理されています. WindowsマシンからSambaサーバー上のリソースにアクセスする際には,smbpasswdファイルなどに格納されているSambaユーザーの情報を用いて実際の認証を行った上で,認証に成功したSambaユーザーに対応するUNIXユーザーの uid を用いて Linux上の各種リソースにアクセスするという処理が行われます. UNIXパスワードをSambaパスワードに同期させる設定例 [global] : encrypt passwords = Yes unix password sync = Yes passwd program = /usr/bin/passwd %u passwd chat timeout = 2 以上の説明で UNIX は Linux に置き換えても同じです. 図書「Sambaのすべて」を入手することをお薦めします.
お礼
ご教示ありがとうございます。 最後に一点だけお教え頂きたいと存じます。 sambaユーザは 1.useraddでUnixユーザを作成 2.pdbeditでPWを設定しております。 またsmb.confでは # sets the path to the encrypted smbpasswd file. smb passwd file = /usr/bin/smbpasswd # Samba attempts to synchronize the UNIX password with the SMB password # when the encrypted SMB password in the smbpasswd file is changed. unix password sync = yes # program that can be used to set UNIX user passwords. passwd program = /usr/bin/passwd %u # This string controls the "chat" conversation that takes places between smbd # and the local password changing program to change the user's password. #passwd chat = *old*password* %o\n *new*password* %n\n *new*password* %n\ passwd chat = *new*password* %n\n *new*password* %n\n *succes*fully* # Backend to store user information in. # passdb backend = ldapsam:ldap://localhost # passdb backend = smbpasswd passdb backend = tdbsam と設定しております。 この手順で間違っているのでしょうか?
- 小田 力(@ricky-oda)
- ベストアンサー率55% (46/83)
force user と force group を使えば出来そうです. ユーザとグループを強制的に ftp:ftp にする設定例 [global] : : [share1] : : force user = ftp force group = ftp 複数人でファイル共有するための共有設定例 [project1] path = /home/project1 write list = @project1 monyo (valid users = @project1 @project2) read only = yes create mask = 644 directory mask = 775 force group = project1 参考図書 「Samba のすべて」高橋基信著 翔泳社 ISBN4-7981-0854-5 \3,980
お礼
ricky-oda様。ご教示ありがとうございます。 本来なら書籍購入し調べるのが本筋なのですが。。。 質問内容に不備があり申し訳ありません。 アクセスするユーザ及びグループは数種類ありまして そのユーザが書き込みを行った際に、書込みをしたユーザで samba共有ホルダーで表示させたいと思っています。 ご指摘頂きました force指定だとどんなユーザが書込しても全てforceで指定した パラメーターになってしまいます。 質問内容に不備があり申し訳ありません。 よろしくお願い致します。
お礼
ありがとうございます。 今回/pubはNASをmountしております。 mount -t cifs -o user=*****,password=***** //192.168.1.11/pub /pub でmountしておりますが mountする度に属性が戻ってしまっております。 それが原因かもしれませんが対策が全く解らない状態です。 またumount・mountをしなくてもsmbを起動し Windows client上で\\192.168.1.11\を実行すると [root@ pub]# ls -al 合計 8 drwxrwxrwx 1 root root 0 3月 21 00:09 . drwxr-xr-x 25 root root 4096 3月 22 10:16 .. drwxrwxrwx 1 root root 0 3月 22 11:28 cad と属性が777と変わってしまいます。 どうもLinux側の問題で無い様な気が致します。