Ubuntu 24.04 Samba アクセス権付の共有フォルダー作成方法

環境
Ubuntu 24.04
Node.js

概要
Samba によるファイルサーバーの構築です。
ユーザー認証が必要なアクセス権付の共有フォルダーを設定します。

使用例
[smbgroup12] というグループを作成し、
共有フォルダー [/home/share12] へはそのグループに属するユーザーのみが
認証してアクセスできるようにします。

1.sambaをインストールします
# apt -y install samba

2.グループを作成します
# groupadd smbgroup12

ディレクトリを作成します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# mkdir /home/share12
# chgrp smbgroup12 /home/share12
# mkdir /home/share12 # chgrp smbgroup12 /home/share12
# mkdir /home/share12
# chgrp smbgroup12 /home/share12

パーミッションを設定します
# chmod 770 /home/share12

3.設定ファイルを編集します
# vi /etc/samba/smb.conf

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[global]
# 25行目 : 追記 (文字コードを設定)
unix charset = UTF-8
dos charset = CP932
# 39行目 : コメント解除してバインドするインターフェース名変更
interfaces = 127.0.0.0/8 enp1s0
# 46行目 : コメント解除
bind interfaces only = yes
  
 中略
# 最終行に追記
# 任意の共有名を設定
[share12]
# 認証を要求する
security = user
# 共有フォルダーを指定
path = /home/share12
# 書き込みを許可する
writable = yes
# ゲストユーザー (nobody) を許可しない
guest ok = no
# [smbgroup12] グループのみアクセス許可する
valid users = @smbgroup12
# ファイル作成時のグループを [smbgroup12] とする
force group = smbgroup12
# ファイル作成時のパーミッションを [770] とする
force create mode = 770
# フォルダー作成時のパーミッションを [770] とする
force directory mode = 770
# 上位フォルダーのパーミッションを継承する
inherit permissions = yes
[global] # 25行目 : 追記 (文字コードを設定) unix charset = UTF-8 dos charset = CP932 # 39行目 : コメント解除してバインドするインターフェース名変更 interfaces = 127.0.0.0/8 enp1s0 # 46行目 : コメント解除 bind interfaces only = yes     中略 # 最終行に追記 # 任意の共有名を設定 [share12] # 認証を要求する security = user # 共有フォルダーを指定 path = /home/share12 # 書き込みを許可する writable = yes # ゲストユーザー (nobody) を許可しない guest ok = no # [smbgroup12] グループのみアクセス許可する valid users = @smbgroup12 # ファイル作成時のグループを [smbgroup12] とする force group = smbgroup12 # ファイル作成時のパーミッションを [770] とする force create mode = 770 # フォルダー作成時のパーミッションを [770] とする force directory mode = 770 # 上位フォルダーのパーミッションを継承する inherit permissions = yes
[global]
   # 25行目 : 追記 (文字コードを設定)
   unix charset = UTF-8
   dos charset = CP932

   # 39行目 : コメント解除してバインドするインターフェース名変更
   interfaces = 127.0.0.0/8 enp1s0
   
   # 46行目 : コメント解除
   bind interfaces only = yes
  
 中略

# 最終行に追記
# 任意の共有名を設定
[share12]
   # 認証を要求する
   security = user
   # 共有フォルダーを指定
   path = /home/share12
   # 書き込みを許可する
   writable = yes
   # ゲストユーザー (nobody) を許可しない
   guest ok = no
   # [smbgroup12] グループのみアクセス許可する
   valid users = @smbgroup12
   # ファイル作成時のグループを [smbgroup12] とする
   force group = smbgroup12
   # ファイル作成時のパーミッションを [770] とする
   force create mode = 770
   # フォルダー作成時のパーミッションを [770] とする
   force directory mode = 770
   # 上位フォルダーのパーミッションを継承する
   inherit permissions = yes

5.Samba ユーザーを登録する
# adduser ubuntu

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# smbpasswd -a ubuntu
New SMB password: # パスワード設定
Retype new SMB password:
Added user ubuntu.
# smbpasswd -a ubuntu New SMB password: # パスワード設定 Retype new SMB password: Added user ubuntu.
# smbpasswd -a ubuntu
New SMB password: # パスワード設定
Retype new SMB password:
Added user ubuntu.

グループにユーザを追加する
# usermod -aG smbgroup12 ubuntu

IT

Posted by arkgame