LoginSignup
5
7

More than 3 years have passed since last update.

Linuxファイルサーバー構築(Ubuntu & Samba)

Last updated at Posted at 2020-09-26

Windowsにvirtualboxを使ってLinux(Ubuntu20.04.1)を入れたので、
試しにファイルサーバー構築をやってみました。のメモです。

共有するディレクトリの作成

$sudo mkdir /home/share
$sudo chmod 0777 /home/share

homeの下にshareディレクトリを作り、そのディレクトリのアクセス権限を許可しました。
このディレクトリの中身を共有します。(名前は任意、shareの部分は好きに決めてください)

mkdir→ディレクトリ作成
chmod→アクセス権限の変更

Sambaのインストール

$ sudo apt-get -y install samba

ファイルサーバーの設定

$ sudo vim /etc/samba/smb.conf

上記のコマンドで開き、smb.confを編集していきます。
22行目くらいに以下のような記述があると思います。

smb.conf
#======================= Global Settings =======================

[global]

## Browsing/Identification ###

以下の記述を追加します。

unix charset = UTF-8
dos charset = CP932

こんな感じにします。

smb.conf
#======================= Global Settings =======================

[global]
unix charset = UTF-8
dos charset = CP932

## Browsing/Identification ###

必要であれば以下を編集します。僕のでは編集の必要ありませんでした。

smb.conf
#Change this to the workgroup/NT-domain name your Samba server will part of
  workgroup = WORKGROUP

Winodwsのワークグループの値をWORKGROUPのところに記述します
 workgroup = <ここ>
確認は以下でできます
コントロールパネル->システムとセキュリティ->システム
->コンピュータ名、ドメインおよびワークグループの設定

38行目付近に以下の記述があります。

smb.conf
#### Networking ###

このの項目は接続元IPアドレスの制限などに使用するみたいです。
今回は編集しませんでした。

ファイルの最後に以下を追加します。

smb.conf
[Share]
   path = /home/share
   writable = yes
   guest ok = yes
   guest only = yes
   create mode = 0777
   directory mode = 0777

[Share] には、共有する際のフォルダ名を任意の名でつけます。
path には最初に作った共有したいディレクトリのパスを入れます。

ファイルサーバーを再起動します

$ sudo systemctl restart smbd
$ sudo systemctl enable smbd

サーバー名の確認

linuxでサーバー名の確認をします。

$ hostname
サーバー名

Windowsでファイルにアクセス

Windowsでエクスプローラーを開き、ネットワークドライブの割り当てから
ネットワークドライブの割り当てをクリックします。

フォルダーの欄に「¥¥サーバー名¥共有フォルダ名」と指定します。

サーバー名は先程、Linuxで確認したものです。
フォルダ名は、先程指定した[Share]の部分です。(この場合、share)

ユーザー認証の画面が出てきて入力します。
これでファイルにアクセスできるはずです。

おまけ

グループでユーザーのアクセス制限をする方法です。

グループの作成

$ sudo groupadd share

shareグループが作成されました。

ファイルサーバーの設定

smb.confの最後に追加したものを編集します。

smb.conf
[Share]
   path = /home/share
   writable = yes
   guest ok = no
   create mode = 0777
   directory mode = 0777
   valid users = @share

valid users で認証できるグループ名を指定します。
今回はshareのグループに所属しているユーザーがアクセスできます。

ユーザーを追加

新しくユーザを作りたい場合のみです。
元から作ってあるユーザでも大丈夫です。

$sudo useradd -m ユーザ名
$sudo passwd ユーザ名

この後、パスワードを2回入れたらユーザーが作成されます。
ユーザは同じ名前にしてください。
useradd のオプションの -m をつけることで、ホームディレクトリが作成されます。
(-m は無くてもいいです)

ユーザーをグループに追加

$ sudo usermod -aG share ユーザ名

これでグループにユーザが登録できます。

sambaにユーザ追加

$ sudo pdbedit -a ユーザ名

パスワードを2回入力したら、追加完了です。
(pdbeditではなく、smbpasswdでも同様にアクセスできました。)

これでWindowsからアクセスするときの認証でアクセス制限できるようになりました。

参考記事

https://qiita.com/k-Mata/items/8bee9e02e74565b6c147
https://qiita.com/msrks/items/1385cf13258dd1a0da08
https://www.server-world.info/query?os=Ubuntu_16.04&p=samba
https://linuxfan.info/ip-address
https://www.server-world.info/query?os=Ubuntu_18.04&p=samba&f=2
https://renoji.com/IT.php?Contents=OS_CentOS/Server_File/Samba_UserRegistration.html
https://qiita.com/orangain/items/056db6ffc16d765a8187
https://eng-entrance.com/linux-user-add

5
7
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
5
7