対象OS:CentOS6.5/samba Version 4.0.0rc4
ある程度限られたネットワーク環境でサーバを構築する場合、
昔はFTPやCD、DVDなどの媒体で資材をやり取りしていたが、
最近はFTPが主流ではないのか、FFFTPなどのフリーソフトの普及のせいか、
コマンドや使い方をわざわざ教える手間などを考え、今ではsambaを使っている。
但し、構築時の作業用としてインストール/設定しているので
実際に運用する必要がある場合、設定見直しが必要である。
sambaとは
Windowsとファイル、プリンタなどの共有に使うソフトウェア。
最近は色んな機能がついていてWindowsのActiveDirectory機能が使えそうだが、それはまた別の機会に。
sambaのインストール
既にsambaがインストールされている場合、一旦削除し、samba4をインストールする。
samba4のパッケージは、DVDからインストールを行う。
# yum --disablerepo=\* --enablerepo=c6-media -y remove samba-*
# yum --disablerepo=\* --enablerepo=c6-media -y install samba4-*
sambaの設定
1.共有フォルダ作成
Linux上で公開するフォルダを作成する。
今回使用するフォルダは「/home/pub」とする。
フォルダ作成
# mkdir /home/pub
# chmod -R 777 /home/pub
# chown -R nobody. /home/pub
SELinux コンテキストを変更
# chcon -R -t samba_share_t /home/pub
※SELinuxが無効、もしくは今後無効にする場合、設定不要
# sestatus -v
SELinux status: disabled
もしくは
# setenforce 0
フォルダの確認
# ls -Z /home
drwxrwxrwx . nobody nobody unconfined_u:object_r:
samba_share_t :s0 pub
2.ファイアウォールの設定
ファイアウォールが有効な場合、以下を追加する。
iptablesの設定変更
# iptables -I INPUT -p udp --dport 137:138 -j ACCEPT
# iptables -I INPUT -p tcp --dport 139 -j ACCEPT
# iptables -I INPUT -p tcp --dport 445 -j ACCEPT
iptablesの設定保存
# service iptables save
iptablesの設定確認
# /etc/init.d/iptables status
テーブル: filter
Chain INPUT (policy ACCEPT)
num
target
port
opt
source
destination
1
ACCEPT
tcp
--
anywhere
anywhere
tcp
dpt:445
2
ACCEPT
tcp
--
anywhere
anywhere
tcp
dpt:139
3
ACCEPT
udp
--
anywhere
anywhere
udp
dpts:137:138
3.サービス設定
サービスの自動起動の設定を行う
サービス起動設定
# chkconfig smb on
# chkconfig nmb on
サービス起動設定確認
# chkconfig | grep "mb"
nmb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
4.smb.confの設定変更
とりあえず、接続できることを目標としているため以下設定だけを実施する。
118,119行目のコメントアウトと認証設定の変更
118 | ;;
security = user
119 | ;;
passdb backend = tdbsam
120 |
121 | guest
account = nobody
122 | map to
guest = Bad User
guest account ゲストアカウントの設定
map to guest Bad User
存在するユーザーに対する不正なパスワードによるログイン要求は拒否する。
指定されたユーザーが存在しなかった場合はゲストログインとして扱い、
guest accountで指定されたアカウントにマッピングする。
共有フォルダの設定追加
smb.confの最終行に以下を追加する。
[pub]
comment = Work Directories
path = /home/pub
public = yes
writable = yes
create mode = 0777
directory mask = 0777
guest ok = yes
read only = no
※設定完了後「testparm」コマンドでエラーやワーニングが出てないことを確認する。
変更前の設定(有効行のみ)
# cat /etc/samba/smb.conf | grep -v -e '^\s*#' -e '^\s*;' -e
'^\s*$'
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
load printers = yes
cups options = raw
[homes]
comment = Home Directories
browseable = no
writable = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
変更後の設定(有効行のみ)
# cat smb.conf | grep -v -e '^\s*#' -e '^\s*;' -e '^\s*$'
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
guest account = nobody
map to guest = Bad User
load printers = yes
cups options = raw
[homes]
comment = Home Directories
browseable = no
writable = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
[pub]
comment = Work Directories
path = /home/pub
public = yes
writable = yes
create mode = 0777
directory mask = 0777
guest ok = yes
read only = no
5.サービス起動
設定が完了したら、sambaのサービスを起動する。
# /etc/init.d/smb start
SMBサービスを起動中: [OK]
6.設定確認
# smbclient -L localhost -N
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.0.0rc4]
Sharename
Type Comment
---------
---- -------
pub
Disk Work Directories
IPC$
IPC IPC Service (Samba Server Version
4.0.0rc4)
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.0.0rc4]
Server
Comment
--------- -------
Workgroup Master
--------- -------
ここまで確認できたら、クライアントPCのエクスプローラをひらき、
アドレスバーに「\\<ホスト名>」もしくは、「\\<IPアドレス>」を入力して
対象フォルダにアクセスできるか確認する。
補足
・エクスプローラへの表示が更新されない
SELinuxの設定が完了する前にクライアントPCからアクセスした後に、
SELinuxの設定変更を行うと、
更新ボタンやF5ボタンを押さないとフォルダが表示されない現象が発生する場合がある。
その場合、クライアントPCの再起動を行うことで正常になる場合がある
0 件のコメント:
コメントを投稿