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」が表示される。
ログイン時には、先ほど設定したユーザとパスワードが求められる。