Samba CentOS7
Table of Contents
概要
CentOS7でSambaを動作させる方法の事例
インストール
確認
samba-common は既に入っている・・・がこれは本体ではないらしい
$ sudo yum list installed | grep samba Repository google-chrome is listed more than once in the configuration samba-client.x86_64 4.4.4-12.el7_3 @updates samba-client-libs.x86_64 4.4.4-12.el7_3 @updates samba-common.noarch 4.4.4-12.el7_3 @updates samba-common-libs.x86_64 4.4.4-12.el7_3 @updates
install
$ sudo yum install samba
設定
smb.conf
workgroup は SAMBA から WORKGROUP にする
[global] # workgroup = SAMBA workgroup = WORKGROUP
最後に下記を追記
[share] comment = Share Directory path = /home/share public = yes writable = yes printable = no create mask = 0775 directory mask = 0775 write list = @family [temp] comment = Temporary file space path = /home/temp public = yes writable = yes printable = no create mask = 0775 directory mask = 0775 write list = @family
起動
systemctl
起動するにはこれ
$ sudo systemctl start nmb.service $ sudo systemctl start smb.service $ sudo systemctl is-active smb.service active $ sudo systemctl is-active nmb.service active
有効化(再起動時起動されるようにするにはこれ)
$ sudo systemctl enable nmb.service Created symlink from /etc/systemd/system/multi-user.target.wants/nmb.service to /usr/lib/systemd/system/nmb.service. $ sudo systemctl enable smb.service Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
firewall
firewall
ファイアウォールの設定が必要
マシンに直接ログインして操作
- 諸ツールの 「ファイアウォールの設定」から
- 設定:”永続”を選択し
- サービスのうち samba にチェック
- メニューのオプション から、”Firewalldの再読み込み”をクリック
パスワード設定
smbpasswd
最初にユーザ権限で行うと怒られる
$ smbpasswd Old SMB password: New SMB password: Retype new SMB password: Could not connect to machine 127.0.0.1: NT_STATUS_LOGON_FAILURE
sudo で -a ユーザ名で行えばOK
(familyグループの全員分やる)
$ sudo smbpasswd -a wurly [sudo] password for wurly: New SMB password: Retype new SMB password: Added user wurly.
$ sudo mkdir /home/share $ sudo chown -R wurly.family /home/share $ sudo chmod 2775 /home/share
$ sudo mkdir /home/temp $ sudo chown -R wurly.family /home/temp $ sudo chmod 2775 /home/temp
SELinux
SELinux
SELinux により、ホームディレクトリへのアクセスは制限されているようだ。
$ sudo getsebool -a | grep samba [sudo] password for wurly: samba_create_home_dirs --> off samba_domain_controller --> off samba_enable_home_dirs --> off samba_export_all_ro --> off samba_export_all_rw --> off samba_load_libgfapi --> off samba_portmapper --> off samba_run_unconfined --> off samba_share_fusefs --> off samba_share_nfs --> off sanlock_use_samba --> off tmpreaper_use_samba --> off use_samba_home_dirs --> off virt_use_samba --> off
下記設定を行えばOK
$ sudo setsebool -P samba_enable_home_dirs true
後にわかったが、tempセクションでも、ディレクトリは存在するがファイルが見えない現象に遭遇。 下記の設定が必要。
setsebool -P samba_export_all_rw true
その他の設定
homesセクション
いろいろやったが少なくとも下記設定でOK
[homes] comment = Home Directories valid users = %S, %D%w%S # valid users = %S browseable = No # browseable = yes # read only = No writable = yes # inherit acls = Yes create mask = 0775 directory mask = 0775 # path = /home/%S