====== sambashareグループでアクセス制限設定 ======
[[ubuntu:server:samba|Sambaでファイル共有]]では誰でもアクセスできる共有フォルダを設定しました。\\
このページでは、UbuntuにおいてはSambaをインストールすることによってsambashareグループが自動的に作成されるので、このグループに所属するユーザーがホームディレクトリやその他にアクセスできるファイルサーバーを設定します。
===== Sambaのインストール =====
端末から…
$ sudo apt install samba
\\
===== フォルダの作成 =====
共有するフォルダの作成、ここでは「/var/samba」としました。
$ sudo mkdir /var/samba/
パーミッションの変更
$ sudo chmod 777 /var/samba/
\\
===== フォルダの設定 =====
sambaの設定は「/etc/samba/smb.conf」に記述します。
エディタでファイルの末尾に以下を追記します。
[SambaShare]
path = /var/samba
writable = yes または「read only = no」
browseable = yes
valid users = @sambashare
force group = sambashare
force create mode = 0660
force directory mode = 0770
* [SambaShare] | Windowsに表示されるフォルダ名
* path | 共有フォルダのUbuntu上のパス
* writable | 書き込み可能かどうかの設定
* browseable | 表示設定、ここでは[SambaShare]の表示
* valid users | アクセス可能なユーザーの記述、@でグループ
* force group | 共有内のファイルの所有者、強制指定
* force create mode | 必ずファイルに適用されるパーミッション
* force directory mode | 必ずディレクトリーに適用されるパーミッション\\
[[ubuntu:server:memo:smb_conf|参考ページ:smb.confについて]]
===== ユーザーのホームにも接続する =====
* 「/etc/samba/smb.conf」175行目あたり「[homes]」の項を「;」を削除して有効化する。
* 「writable = yes」を追加記述した。
[homes]
comment = Home Directories
browseable = no
writable = yes
* [homes] | Windowsに表示されるフォルダ名
* comment | コメントを指定
* browseable | 表示設定、ここでは[homes]の非表示、ユーザーフォルダだけ表示
* writable | 書き込み可能かどうかの設定
===== ユーザーの設定 =====
ユーザーをsambashareグループに追加します。ここでは「peconet」
※ 自身を追加した場合、一度ログアウトしないと反映されません
$ sudo gpasswd -a peconet sambashare
sambaにもユーザー登録
$ sudo pdbedit -a -u peconet
\\
sambaを再起動して変更内容を反映します。
$ sudo systemctl restart smbd
\\
===== Windowsから接続 =====
**エクスプローラーに「\\IPアドレス」または「\\ホスト名」で接続。**\\
ユーザーフォルダ「peconet」と「SambaShare」に接続された。
{{:ubuntu:server:sambashare_01.png?400|Sambaへ接続}}\\
\\
ユーザーフォルダを開いてみる(隠しファイルも表示した状態)
{{:ubuntu:server:sambashare_02.png?400|ユーザーフォルダを開く}}\\
\\
===== ファイアーウォール =====
sambaは標準ではTCPの445番を使用するので、ポートを解放します。
$ sudo ufw allow 445/tcp
確認は…
$ sudo ufw status
再読み込み
$ sudo ufw reload
\\
===== その他 =====
sambaの自動起動設定
$ sudo systemctl enable smbd
sambashareグループへのユーザー追加
$ sudo gpasswd -a ユーザー名 sambashare
sambashareグループからのユーザー削除
$ sudo gpasswd -d ユーザー名 sambashare
sambaユーザーの登録
$ sudo pdbedit -a -u ユーザー名
sambaユーザーの削除
$ sudo pdbedit -x -u ユーザー名
sambaユーザーの確認
$ sudo pdbedit -L
sambaユーザーのパスワード変更
$ sudo smbpasswd -U ユーザー名