0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

今回は初心に帰って、簡単な構築を2025年の最新AWS環境で行います。恐らく中小企業で一番需要があるであろうファイルサーバの構築をEC2(AmazonLinux2023)とsambaというパッケージを使って行います。

今回のゴール

WindowsOSのPCから下記のような感じでEC2に設定した共有フォルダにアクセスできる環境を構築する。

image.png

前提状況

・利用するEC2 OSはAmazon Linux2023です。ちなみにAMIは「al2023-ami-2023.7.20250609.0-kernel-6.1-x86_64」です。
・EC2にグローバルIPを付与し、グローバルIP宛にPCからアクセスさせます。
・AWS上のEC2へPCからアクセス可能なNW環境が必要になります。※SecurityGroup設定など
・EC2からインターネットアクセス可能となるようにVPCの設定が必要になります。
・AWSのリソース利用に料金がかかります。(使い終わったらお片付けしましょう)
・今回共有フォルダには誰でもアクセスOKな状態にします。本番環境ではちゃんとセキュリティ設定しましょう。

実際にやってみた

EC2のデプロイについて他に素晴らしい記事がありますので、本記事では割愛します。とりあえず、インターネットアクセスができる環境(グローバルIPのアタッチ、Internet-GWのあるVPCにデプロイ)に設定してください。

デプロイまで完了した想定でOSの環境設定を初期状態から変更していきます。

環境設定

#アップデート
dnf -y upodate

#selinux設定確認
getenforce

disabldeになっていなければdisabledに変更

vim /etc/selinux/config
[SELINUX]の値をdisabledに修正

#ホスト名をわかりやすいものに変更(今回はtest-al2023に変更)
hostnamectl set-hostname test-al2023

#今の言語設定を確認
echo $LANG

#日本語に設定変更(日本語になっていなければ変更)
localectl set-locale LANG=ja_JP.UTF-8

#今のシステムクロック(時間設定)を確認
date

#タイムゾーンを日本時間に変更(日本時間になっていなければ変更)
timedatectl set-timezone Asia/Tokyo

#各設定変更反映のため再起動
 reboot
 

ここまででOSの環境設定は完了したので、samba機能をインストールしていきます。

samba機能インストールと設定



sambaインストール
dnf -y install samba

#sambaサービス起動確認 ※smbとnmbの2つ
systemctl status smb nmb


#sambaサービス自動起動設定
systemctl enable smb nmb

#共有フォルダにする予定のフォルダを作成
mkdir /home/share

#フォルダ権限変更
chmod -R 777 /home/share

#samba設定ファイル(samba.conf)を修正
vim /etc/samba/smb.conf

修正内容は下記
・[global]セクションにmap to guest = bad user を追記
・[share]セクションを追加し、各パラメータは下記を記載
       force create mode = 0777
       force directory mode = 0777
       guest ok = Yes
       guest only = Yes
       path = /home/share
       read only = No




記載内容の完成形はこんな感じ
ーーーー
#Global parameters
[global]
       workgroup = SAMBA
       security = user

       passdb backend = tdbsam

       printing = cups
       printcap name = cups
       load printers = yes
       cups options = raw

       # Install samba-usershares package for support
       include = /etc/samba/usershares.conf
   			#認証に失敗したユーザー (bad user) をゲストアカウント (guest) として扱う
       map to guest = bad user


[homes]
       comment = Home Directories
       valid users = %S, %D%w%S
       browseable = No
       read only = No
       inherit acls = Yes

[printers]
       comment = All Printers
       path = /var/tmp
       printable = Yes
       create mask = 0600
       browseable = No

[print$]
       comment = Printer Drivers
       path = /var/lib/samba/drivers
       write list = @printadmin root
       force group = @printadmin
       create mask = 0664
       directory mask = 0775

[share]
       # 共有フォルダーパスを指定
       path = /home/share
       # 書き込みを許可する
       writable = yes
       browseable = yes
       # ゲストユーザー (nobody) を許可する
       guest ok = yes
       # 全てゲストユーザーとして扱う
       guest only = yes
       # ファイル作成時のパーミッションを [777] とする
       force create mode = 777
       # フォルダー作成時のパーミッションを [777] とする
       force directory mode = 777
ーーーー

#共有フォルダーの所有者とグループをnobaody に変更
  chown -R nobody:nobody share

#アクセス権が変更されているかを確認
  ll

動作確認

PCのエクスプローラーで[¥¥{EC2のグローバルIP}]を検索します。設定が上手く行っていれば下記のように共有設定したshareフォルダが表示されます。

image.png

トラブルシューティング

上手くいかない場合、下記を参考に切り分けしていきましょう。
① EC2のグローバルIPにPCからPingは到達しない
 →できない場合、途中のNW機器かEC2のセキュリティグループでブロックされている可能性がある

② Pingは到達できるがエクスプローラーから共有フォルダが見れない
  →途中のNW機器かEC2のセキュリティグループでブロックされている
→EC2側でsambaのステータス確認(systemctl status smb nmb)を行い、Activeかを確認
 →Activeでない場合はActive化する(systemctl start smb nmb)
 →Active化できない場合はコンフィグファイル(samba.conf)の確認(文法はtestparmで確認可)
→testparmでエラーなしの場合、[share]セクションの値を確認

おわりに

以前に自分の書いた記事ですが、見直しするとポンコツですね...日々精進します!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?