SambaでUnixユーザ認証のファイルサーバを。

Filed under Samba
Tagged as ,

Samba(今回はyumで入れた3.0.28-0.el4.9)を利用して、
各Unixアカウントのファイルサーバを作ろうと思ったわけですが、
かるくはまったので、メモしとく。

作りたい要件としては、
 ・Unixユーザ(/etc/passwd)のデータを利用する。
 ・IPでアクセス制限を行う。(自分のPCからのみ自分の領域に入れる)
 ・接続したら、自分のUnixユーザでファイル作成等ができる。
というあたりを考えてました。

で、最初にためして、ダメだったのが、以下のような書き方。

[test]
path = /home/test
guest account = test
writeable = Yes
guest ok = Yes
hosts allow = 192.168.0.200
hosts deny = ALL
security = SHARE

192.168.0.200からのみアクセスできて、
ゲストアカウントで入らせるけど、
ゲストアカウントは、testユーザですよ。
みたいにしたかったわけですが、
これでは、書き込みができませんでした。

なぜかというとglobal側で設定している(もしくはdefaultのnobody)で
処理を行おうとしてしまう為。

そこで、以下のような方法に切り替えました。

[test]
path = /home/test
force user = test
writeable = Yes
read only = No
guest ok = Yes
hosts allow = 192.168.0.200
hosts deny = ALL
security = SHARE

これでうまく成功したわけです。
簡単に説明しておくと、

[test]

これはWindowsのExplorerとかでアクセスしたときに表示される
TOPのフォルダ名になります。

path = /home/test

これは、SambaでアクセスできるTopディレクトリの指定になります。

force user = test

これは、この設定の領域にアクセスする際には、絶対testユーザでアクセスされる
という指定になります。

writeable = Yes
read only = No

この辺は、書き込み権限についてです。
書き込みを許可して、読み込みのみではない。と指定してます。

guest ok = Yes
hosts allow = 192.168.0.200
hosts deny = ALL
security = SHARE

あとは、接続元の制限・アカウントの制限になります。
ゲストユーザで接続でき、パスワードなしでいけます。
かつ、IP制限がかかってます。

という感じで、やりたいことを実装できたのでした。

おしまい。

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*