raspberry pi 3Bでsambaを立てる

やりたいこと
 diskの暗号化
 特定のユーザのみ閲覧できるフォルダとシェアフォルダの作成


外付けUSBのSSDを指してて暗号化をしてしまう

apt install cryptsetup
cryptsetup -q luksFormat /dev/sda
cryptsetup luksOpen /dev/sda encrypted-disk
mkfs.ext3 /dev/mapper/encrypted-disk
mkdir /mnt/encrypted-disk0
mount /dev/mapper/encrypted-disk /mnt/encrypted-disk0

パーティション切ったらエラーとなった
cryptsetup -q luksFormat /dev/sda1 これは -qがないとエラーになる
フォーマットもext3だとエラーになる

再起動時に自動マウントさせる

dd if=/dev/urandom of=/boot/luks_key bs=1 count=1024
chmod 600 /boot/luks_key
cryptsetup luksAddKey /dev/sda /boot/luks_key
Enter any passphrase: ←最初の設定したパスワード入力
echo "luks /dev/sda /boot/luks_key luks,timeout=5" > /etc/crypttab

/etc/rc.localに追加

mount /dev/mapper/encrypted-disk /mnt/encrypted-disk0

参考:https://jehupc.exblog.jp/19078309/


apt install samba


valid usersで指定するlinuxアカウントを作成する

useradd -m your_account
pdbedit -a your_account

/etc/samba/smb.confを書き換える
share -> アカウントなしでファイルのやりとりができる
work -> 特定のアカウントしか利用できない
               valid usersで制御
    adduser your_account  でlinuxアカウントを作り、
              pdbedit -a your_account  でsambaにアカウントを追加する

[global]
  workgroup = WORKGROUP
  interfaces = 192.168.10.0/24 eth0
  bind interfaces only = yes
  log file = /var/log/samba/log.%m
  max log size = 1000
  logging = file
  panic action = /usr/share/samba/panic-action %d
  server role = standalone server
  obey pam restrictions = yes
  unix password sync = yes
  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



[share]
  path = /mnt/encrypted-disk0/share
  browseable = yes
  writable = yes
  create mask = 0700
  directory mask = 0700
  guest ok = yes
[work]
  path = /mnt/encrypted-disk0/work
  browseable = no
  writable = yes
  create mask = 0777
  directory mask = 0777
  valid users = your_account



iptablesに設定を流し込んでセーブし、restart

iptables -A INPUT -i eth0 -p udp --dport 137 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 138 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 445 -j ACCEPT
sh -c "iptables-save" > /etc/iptables.ipv4.nat


/etc/init.d/smbd restart


この記事が気に入ったらサポートをしてみませんか?