Ubuntu Samba Server Configuration
Ubuntu Samba Server Configuration
smb.conf
[global]## Browsing/Identification ###
workgroup = WORKGROUP → ワークグループ名の設定
dos charset = CP932 → Windowsマシンとの通信時に使用する文字コードの指定
unix charset = utf-8 → Unixマシンとの通信時に使用する文字コードの指定
unix extensions = no → Macから接続する場合には必要
hosts allow = 192.168.1.0/255.255.255.0 → sambaサーバへのアクセスを許可するIPアドレスの指定
### Debugging/Accounting ###
log level = 1 → 出力するログのレベルを指定。数値は0〜10まで指定可能。数値が大きいほど詳細なログを出力
log file = /var/log/samba/log.%m
→ ログの保存場所の指定。%mはアクセスしてきたユーザマシン名に 置き換わる変数。つまりこの場合はユーザマシン毎にログを出力する max log size = 1000 → ログファイルの最大サイズの指定。単位はキロバイト。 左の場合は最大1MB。1MBを越えると、ログファイル末尾に 「.old」が付けられて新しいログファイルが作成される。 すでに「.old」が存在していた場合は削除されて上書きされる
###### Authentication ######
map to guest = never → ゲスト認証の無効化。有効にする場合は「never」ではなく 「bad user」を記述
#============= Share Definitions =============#
[homes]
comment = Home Directories → ディレクトリの説明に記述されるコメント
browseable = no
→ ディレクトリを共有一覧に表示しないための設定。 例えばwindowsの場合は「ネットワーク」上に表示されない。 表示する場合は「yes」を記述
writable = yes
→ ファイルへの書き込み許可の指定。 書き込みを許可しない場合は「no」を記述
valid users = %S
→ ディレクトリにアクセス可能なユーザの指定。 この場合はアクセスしてきたユーザが各自のディレクトリならば アクセス可能で、自分以外のユーザはアクセス不可。 %Sはアクセスしてきたユーザ名に置き換わる変数。
[public] path = /home/public → 共有ディレクトリのパス
browseable = yes
writable = yes
valid users = @group1
→ ディレクトリにアクセス可能なユーザをグループで指定。 グループを指定する場合はグループ名に@を付けて指定する。 この場合はgroup1に属するユーザのみがpublicにアクセス可能になる。
[global]、[homes]セクションは特殊セクション(samba側で予約されたセクション)でありセクション名は変更できません。[global]にはsamba全体の設定を記述し、[homes]にはホームディレクトリの設定を記述します。
root@smb:~# groupadd security
root@smb:~# mkdir /home/security
root@smb:~# chgrp security /home/security
root@smb:~# chmod 770 /home/security
root@smb:~# vi /etc/samba/smb.conf
# 25行目:以下2行追記
unix charset = UTF-8
dos charset = CP932
# 30行目:必要があれば変更 (Windows側に合わせる)
workgroup = WORKGROUP
# 51行目:コメント解除しアクセス許可IP追記
interfaces = 127.0.0.0/8 10.0.0.0/24
# 58行目:コメント解除
bind interfaces only = yes
# 最終行に追記
# 任意の共有名を指定
[Security]
path = /home/security
writable = yes
create mode = 0770
directory mode = 0770
# ゲストは不許可
guest ok = no
# security グループのみアクセス許可
valid users = @security
# Samba にユーザー登録
root@smb:~# smbpasswd -a ubuntu
New SMB password: # パスワード設定
Retype new SMB password:
Added user ubuntu.
root@smb:~# usermod -G security ubuntu
root@smb:~# systemctl restart smbd
---Debug---
smb.confに記述ミスがないか
smb.confに記述ミスがある場合にはsambaが意図した動作をしません。そこでsmb.confに記述ミスがあるかを確認するために、以下のようにtestparmコマンドを使います。
$ testparm
References
https://www.virment.com/config-sambaserver/
https://www.server-world.info/query?os=Ubuntu_18.04&p=samba&f=2
Comments
Post a Comment