2009年2月21日土曜日

Ubuntuをsambaサーバーにする

KRAKENBEAL RECORD: UbuntuでSAMBA3を使いWindowsとファイル共有する
http://krakenbeal.blogspot.com/2009/02/ubuntusamba3windows.html
上記の方が2009年的に新しいsamba3的なRecordです

以下の情報は2009年的に古くsamba2的な情報です



[したいこと・しりたいこと]
ubuntuでsambaserverを立てる
user01はwindowsからubuntuのホームディレクトリにアクセスできる
user01はwindowsから共有フォルダshareにアクセスできる


[環境]
Ubuntu Hardy 8.04
username:user01
USB 104Key (US)

Windows XP SP3
username:user01
USB 104Key (US)


[したこと]

1. 共有フォルダの設定

共有フォルダshareの作成
$ sudo mkdir /var/samba/share

グループshareの作成
$ sudo groupadd share

共有フォルダshareのアクセス権の設定
$ sudo chown -R root:share /var/samba/share
$ sudo chmod -R 755 /var/samba/share




2. sambaの設定

パッケージリストを更新する
$ sudo apt-get update

sambaをインストールする
$ sudo apt-get install samba

smb.confを編集する
$ sudo vi /etc/samba/smb.conf

[global]
unix charset = UTF-8
display charset = UTF-8 #SWATの文字コード
dos charset = CP932 #Windowsの文字コード(SJIS)
workgroup = WORKGROUP #workgroup名の確認
hosts allow = 192.168.1. 127.  #追加(内部からのみアクセスできるようにする)

[homes]
browseable = no #行頭の;をとり有効にする yesにしない
writable = yes  #追記してuser01が書き込みできるようにする

[share] # ネットワーク上での共有名
path = /var/samba/share # 共有するサーバ上のディレクトリ
browseable = yes #
writable = yes # 書き込み許可
create mask = 0664 # 作成されるファイルのパーミッションマスク
force create mode = 0664 # 作成されるファイルのパーミッション
directory mask = 0775 # 作成されるディレクトリのパーミッションマスク
force directory mode = 0775 # 作成されるディレクトリのパーミッション
valid users = user01, user02 # アクセスできるユーザ(スペース区切りで複数指定可能)
valid group = @share #@shareにするとグループshare全員になる


sambaの再起動
$ sudo /etc/init.d/samba restart


3. 共有フォルダにアクセスするユーザーの設定

sambaにユーザーの登録
$ sudo smbpasswd -a user01

user01をグループshareに登録
$ sudo adduser user01 share


[注意]
user01がグループshareを含めた複数のグループに所属するひつようがある場合
 $ sudo /usr/sbin/usermod -G share user01
としない
その場合はidで確認したuser01のグループをすべてとグループshareを列挙しなければならない
$ sudo /usr/sbin/usermod -G user01,group01,group02....share user01

usermodを使うという説明でこのことを付記していないものがある。
誤ったコマンドを実行した場合、sudoできない、gnomeメニューからsynaptic,login画面,アプリケーションの追加と削除などが消えるなど不都合が起きる



[参考]
http://park15.wakwak.com/~unixlife/linux/de-user.html