Alpine LinuxにSambaをインストールしファイル共有

September 15, 2020

linuxAlpineLinuxsamba

はじめに

本記事は、Alpine LinuxにSambaをインストールした際の手順の備忘録です。

sambaのインストール

sambaはdockerで動かすことも可能ではありますが、そうすると細かな資格情報制御がややこしいので直入れします。

sambaのインストール

# apk add samba

共有フォルダー”larkbox”とタイムカプセル用サーバ”TimeCapsule”の2つの公開領域を作成します。 ゲストアカウントは設けず、自分のアカウントを入力して接続する設定とします。

サーバ上の公開領域はあらかじめ作成しておきます。

# mkdir /home/samba
# mkdir /home/samba/share
# chmod 777 /home/samba/share
# chown nobody:nobody /home/samba/share
# mkdir /home/samba/timecapsule
# chmod 777 /home/samba/timecapsule
# chown nobody:nobody /home/samba/timecapsule

/etc/samba/smb.conf設定

/etc/samba/smb.conf
[global]
   unix charset = UTF-8
   dos charset = CP932
   workgroup = WORKGROUP
   server string = %h server (Samba, Alpine)
   dns proxy = no
   interfaces = 127.0.0.0/8 192.168.1.0/24
   bind interfaces only = yes
   map to guest = Bad User
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   server role = standalone server
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = no
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = bad user
   usershare allow guests = yes
   fruit:metadata = netatalk
   fruit:encoding = native

[larkbox]
   path = /home/samba/share/
   writable = yes
   browseable = yes
   guest ok = no
   guest only = no
   create mode = 0664
   directory mode = 0775
   valid user = 自分のアカウント

[TimeCapsule]
   comment = Backup for Mac Computers
   path = /home/samba/timecapsule
   writable = yes
   browsable = yes
   guest ok = no
   fruit:time machine = yes
   uit:time machine max size = 500M
   valid user = 自分のアカウント

ユーザ登録

sambaのアカウントはログインアカウントとは別物なので、pdbeditで設定する必要があります。

# pdbedit -a -u 自分のアカウント

samba再起動

# rc-service samba restart

起動設定

# rc-update add samba

ホスト名の名前解決ができるよう設定

avahiをインストールしておくと、hostsファイルを入れなくても、LAN内でサーバを見つけてくれます。

# apk add avahi
# apk add dbus
# rc-update add dbus
# rc-update add avahi-daemon
# rc-service avahi-daemon restart

/etc/avahi/services/smb.service 設定

/etc/avahi/services/smb.service
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
    <name replace-wildcards="yes">%h</name>
    <service>
        <type>_smb._tcp</type>
        <port>445</port>
    </service>
</service-group>

サービス再起動

# rc-service avahi-daemon restart

Written by questions6768 who lives in Uji, Kyoto.