CentOS7にSambaをインストール

Sambaは、Linuxでファイルサーバを作る際は必須と言ってもいいパッケージだ。
今回は、CentOS 7にSambaをインストールする方法について。

1.sambaのインストール

まずは必要なパッケージのインストール。
以下のコマンドを実行する。

yum install samba samba-client samba-common -y

2.sambaの初期設定

次に、sambaの設定ファイルである「smb.conf」をバックアップ、編集する。

mv /etc/samba/smb.conf /etc/samba/smb.conf.bk
vi /etc/samba/smb.conf

「smb.conf」の記述は、以下の設定例のようにすると良いだろう。

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos7
security = user
map to guest = bad user
dns proxy = no

#==========================================================

[Share]
#共有させるフォルダ
path = /samba/share/
#マイネットワークに表示させるか否か
browsable =yes
#書き込み可能かどうか
writable = yes
#ゲストユーザのログインが可能かどうか
guest ok = yes
#読込みのみとするか
read only = no

「smb.conf」の記述後、共有するフォルダを作成する。

mkdir -p /samba/share
chmod -R 0777 /samba/share
chown -R nobody:nobody /samba/share

sambaの起動設定を行うため、以下のコマンドを実行する。

systemctl enable smb.service
systemctl enable nmb.service
systemctl restart smb.service
systemctl restart nmb.service

Linux側でsambaの通信が行えるよう、firewallの設定を変更する。

firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload

SELinuxの設定を変更し、sambaの利用を許可する。

chcon -t samba_share_t /samba/share

3.アクセスしてみる

これで、設定が完了したLinuxにsamba経由でアクセス出来るようになった。

4.Samba利用時にパスワードを設定する

これでファイルサーバとして利用出来るようになったので、次は特定のユーザのみが編集出来るフォルダを作成してみよう。
ユーザはパスワードでログインする。

まずは、以下のコマンドでユーザやグループを作成する。

useradd test
groupadd testgroup
usermod -a -G testgroup test

次に、ユーザ「test」にsamba用のパスワードを設定する。

$ smbpasswd -a test
New SMB password: #パスワードを入力
Retype new SMB password: #パスワードを再度入力
Added user test.

以下のコマンドで、ユーザグループ「testgroup」がsambaで用いるためのフォルダを作成する。

mkdir /home/sectest
chown -R test:testgroup /home/sectest/
chmod -R 0777 /home/sectest/
chcon -t samba_share_t /home/sectest/

再度「smb.conf」を編集するため、viエディタを起動させる。

vi /etc/samba/smb.conf

以下の内容を「smb.conf」の末尾に付け加える。

[SecTest]
path = /home/sectest
valid users = @testgroup
guest ok = no
writable = yes
browsable = yes

最後に、sambaのサービスを再起動させる。

systemctl restart smb.service
systemctl restart nmb.service

これで、セキュリティ設定をされているフォルダ「SecTest」が表示される。

ログイン時には、先ほど設定したユーザとパスワードが求められる。