samba
Netatalk
備忘録
centos7

CentOS7環境構築備忘録

ゴール

CentOS7がインストールされたマシンにUSB接続HDDを接続し
Windows10、macOSを定期的にバックアップしファイル共有も行う

前提条件

下記項目は設定済として話を進めます

  • 一般ユーザの追加
  • 固定IP設定
  • IPv6無効化
  • SELinux無効化
  • USB接続HDDのマウント

Samba設定

Sambaインストール

# yum -y install samba

例としてserverグループを作成

# groupadd server

Windows10をバックアップするディレクトリを作成
作成したディレクトリのグループ情報をserverに変更
所有者とグループにのみフルアクセスの権限を与える

# mkdir /mnt/sdb/win10_bk
# chgrp server /mnt/sdb/win10_bk
# chmod 770 /mnt/sdb/win10_bk

ファイル共有を行うディレクトリを作成
作成したディレクトリのグループ情報をserverに変更
所有者とグループにのみフルアクセスの権限を与える

# mkdir /mnt/sdb/filesrv
# chgrp server /mnt/sdb/filesrv
# chmod 770 /mnt/sdb/filesrv

設定ファイルバックアップ

# cp /etc/samba/smb.conf /etc/samba/smb.conf.org

設定ファイル編集

# vi /etc/samba/smb.conf

設定ファイルの内容についてはまだ勉強中です
理解できたところからコメントを追記していこうと思います

[global]
        unix charset = UTF-8
        dos charset = CP932

        workgroup = WORKGROUP

        hosts allow = 127. 192.168.

        security = user
        passdb backend = tdbsam

        vfs objects = catia fruit streams_xattr
        ;fruit:locking = netatalk
        fruit:encoding = native
        streams_xattr:prefix = user.
        streams_xattr:store_stream_type = no
        ea support = yes

        hide files = /.DS_Store/Network Trash Folder/TheFindByContentFolder/TheVolumeSettingsFolder/Temporary Items/.TemporaryItems/.VolumeIcon.icns/Icon?/.FBCIndex/.FBCLockFolder/

[filesrv]
        path = /mnt/sdb/filesrv
        writable = yes
        create mode = 0770
        directory mode = 0770
        guest ok = no
        valid users = @server

[win10_bk]
        path = /mnt/sdb/win10_bk
        writable = yes
        create mode = 0770
        directory mode = 0770
        guest ok = no
        valid users = @server

smb nmbサービスを起動する

# systemctl start smb nmb

冒頭で作成した一般ユーザをSambaに登録

# smbpasswd -a hoge
# usermod -G server hoge

firewalldを有効にしている場合、Sambaサービスの許可が必要

# firewall-cmd --add-service=samba --permanent
# firewall-cmd --reload

Netatalkインストール

インストールに必要なライブラリ

# yum -y install rpm-build gcc make wget

# yum -y install avahi-devel bison cracklib-devel dbus-devel dbus-glib-devel docbook-style-xsl flex libacl-devel libattr-devel libdb-devel libevent-devel libgcrypt-devel libxslt krb5-devel mysql-devel openldap-devel openssl-devel pam-devel quota-devel systemtap-sdt-devel tcp_wrappers-devel libtdb-devel tracker-devel

Netatalkをダウンロードするディレクトリを作成し移動

# mkdir /home/netatalk
# cd /home/netatalk

Netatalkダウンロード

# wget http://www003.upp.so-net.ne.jp/hat/files/netatalk-3.1.11-0.1.1.fc27.src.rpm

SRPMファイルをインストール

# rpm -ivh netatalk-3.1.11-0.1.1.fc27.src.rpm

rpmbuildディレクトリへ移動してRPMファイルを作成

# cd ~/rpmbuild
# rpmbuild -bb SPECS/netatalk.spec

rpmbuildが作成したゴミを削除

# rpmbuild --clean SPECS/netatalk.spec

インストールに必要なライブラリ

# yum -y install dconf perl perl-IO-Socket-INET6

インストール

# rpm -ivh RPMS/x86_64/netatalk-3.1.11-0.1.1.el7.centos.x86_64.rpm

Netatalk 設定

設定ファイルバックアップ

# cp /etc/netatalk/afp.conf /etc/netatalk/afp.conf.org

設定ファイル編集

# vi /etc/netatalk/afp.conf

設定ファイルの内容についてはまだ勉強中です
理解できたところからコメントを追記していこうと思います

[Global]
    spotlight = yes
    vol preset = my default values
    uam list = uams_guest.so

[my default values]
    ea = samba

[Homes]
    basedir regex = /home

[filesrv]
    path = /mnt/sdb/filesrv
    file perm = 0660
    directory perm = 0770

[win10_bk]
    path = /mnt/sdb/win10_bk
    file perm = 0660
    directory perm = 0770

[mac_bk]
    path = /mnt/sdb/mac_bk
    time machine = yes
    vol size limit = 256000
    spotlight = no
    rwlist = nobody

iptablesの設定

# iptables -I INPUT -p tcp --dport afpovertcp -j ACCEPT

netatalkサービスを起動する

# systemctl start netatalk

備忘録終わり