オフィス菜のブログ

Sambaを設定しました-Ubuntu編

とりあえず設定しました

諸々の書物を閲覧しているとSamba なるものを見かけます。
私自身、Samba の意味すら分かりませんが、とりあえず設定し、その設定に関する内容などを備忘録的に投稿します。
尚、今回の設定に関する内容は、ファイアウォール (ufw) の設定変更も含み、全て、端末を利用しました。

書物によると、Samba とは、下記のようなものらしい。
Samba は Unix システムでの SMB/CIFS プロトコルの実装です。
ファイルやプリンタを Microsoft Windows、OS X や他の Unix システムとクロスプラットフォームに共有できるようにします。
Samba は NT4 ドメインのドメインコントローラとして機能するほか、NT4 ドメインや Active Directory のレルムにメンバサーバとして参加することもできます。

シナリオ

現在、私が利用しているパソコンは、電源投入後、GNU GRUB (Version 2.04) にて、起動させる OS を選択することができます。
昔流でいうと、Windows 側にて、パーティションを区切り空の領域を作成し、この領域に Ubuntu を入れました。
今回、このUbuntu 20.04 LTS に Samba を設定しました。

OS
Ubuntu 20.04 LTS 64Bits版
GNOME
3.36.8
パソコン
Gateway Model SX2885 (タワー型のディスクトップです)
メモリ
8 GB
4 GB 増設し、7.6 GB 認識しているみたいです。
プロセッサー
Intel® Core™ i3-4130 CPU @ 3.40GHz × 4
グラフィック
Intel® HD Graphics 4400 (HSW GT2)

 

手順

今回、Ubuntu 20.04 LTS にSambaを設定した手順を紹介します。
尚、これらの内容は、数多くの方々のブラグなどを参照させて頂きました。

  1. Samba のインストール
  2. ディレクトリの作成
  3. 設定ファイルの編集
  4. ファイアウォールの編集
  5. Samba のパスワードの設定
  6. クライアント側のツールの設定
  7. 確認

 

Samba のインストール

サーバー側の設定ということで、端末を利用して、sudo apt install samba で、Samba を設定します。
設定時に端末に表示された具体的な内容を紹介します。

~$ sudo apt install samba
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  attr ibverbs-providers libcephfs2 libibverbs1 librados2 librdmacm1 python3-crypto python3-dnspython python3-gpg python3-ldb python3-markdown
  python3-packaging python3-pygments python3-pyparsing python3-samba python3-tdb samba-common samba-common-bin samba-dsdb-modules samba-vfs-modules
  tdb-tools
提案パッケージ:
  python-markdown-doc python-pygments-doc ttf-bitstream-vera python-pyparsing-doc bind9 bind9utils ctdb ldb-tools ntp | chrony smbldap-tools winbind
  heimdal-clients
以下のパッケージが新たにインストールされます:
  attr ibverbs-providers libcephfs2 libibverbs1 librados2 librdmacm1 python3-crypto python3-dnspython python3-gpg python3-ldb python3-markdown
  python3-packaging python3-pygments python3-pyparsing python3-samba python3-tdb samba samba-common samba-common-bin samba-dsdb-modules
  samba-vfs-modules tdb-tools
アップグレード: 0 個、新規インストール: 22 個、削除: 0 個、保留: 0 個。
9,970 kB のアーカイブを取得する必要があります。
この操作後に追加で 66.4 MB のディスク容量が消費されます。
続行しますか? [Y/n] 
・
・ 省略
・
Done
samba (2:4.11.6+dfsg-0ubuntu1.10) を設定しています ...
Samba is not being run as an AD Domain Controller: Masking samba-ad-dc.service
Please ignore the following error about deb-systemd-helper not finding those services.
(samba-ad-dc.service masked)
Created symlink /etc/systemd/system/multi-user.target.wants/nmbd.service → /lib/systemd/system/nmbd.service.
Failed to preset unit: Unit file /etc/systemd/system/samba-ad-dc.service is masked.
/usr/bin/deb-systemd-helper: error: systemctl preset failed on samba-ad-dc.service: No such file or directory
Created symlink /etc/systemd/system/multi-user.target.wants/smbd.service → /lib/systemd/system/smbd.service.
samba-ad-dc.service is a disabled or a static unit, not starting it.
ufw (0.36-6) のトリガを処理しています ...
systemd (245.4-4ubuntu3.11) のトリガを処理しています ...
man-db (2.9.1-1) のトリガを処理しています ...
libc-bin (2.31-0ubuntu9.2) のトリガを処理しています ...
~$ 

 

ディレクトリの作成

好きな場所 (ディレクトリ) に共有対象とするディレクトリを作ります。
今回は、home の username (各位のusernameです) の直下に、SambaShare というディレクトリを作成しました。

~$ mkdir /home/username/SambaShare
~$

 

設定ファイルの編集

root 権限にて、/etc/samba/smb.conf ファイルを編集します。
私は、端末を利用して Emacs で編集しました。(vi でも編集できると思いますが、利用するエディターは、趣味の問題と思います。)

末尾に、下記の内容を追記
尚、username と「共有対象するディレクトリ SambaShare 」は、各位が設定した値に合わせる必要があると思います。

# Samba の共有ディレクトリの追加 >> Sep. 6th, 2021                                                                                                                              
[SambaShare]
   comment = Samba on Ubuntu
   path = /home/username/SambaShare
   read only = no
   browsable = yes
# 下記も追記させる >> Sep. 6th, 2021                                                                                                                                            
  guest only = yes
  force create mode = 777
  force directory mode = 777

多分、文字コード関係と思いますが、[global] の下に、下記の内容を追加しました。

# S多分、文字コード関連と思う                                                                                                                            
dos charset = CP932
unix charset = UTF-8

一方、workgroup の値は、多分、自動的に WORKGROUP と思います。値が異なっていたら、変更したほうが良いと思います。
また、interfaces の部分は、頭の ; を取りました。
尚、変更、追加した私の [global] 部分を紹介します。

[global]

## Browsing/Identification ###                                                                                                                                                  

# September 6th 2021 追加 多分、文字コード関連と思う                                                                                                                            
dos charset = CP932
unix charset = UTF-8

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

# server string is the equivalent of the NT Description field                                                                                                                  
   server string = %h server (Samba, Ubuntu)

#### Networking ####                                                                                                                                                            

# The specific set of interfaces / networks to bind to                                                                                                                          
# This can be either the interface name or an IP address/netmask;                                                                                                               
# interface names are normally preferred                                                                                                                                        
# interfaces の値は、デフォルト値 レムを削除 >> Set.6th 2021                                                                                                                   
   interfaces = 127.0.0.0/8 eth0

# Only bind to the named interfaces and/or networks; you must use the                                                                                                           
# 'interfaces' option above to use this.                                                                                                                                        
# It is recommended that you enable this feature if your Samba machine is                                                                                                       
# not protected by a firewall or is a firewall itself.  However, this                                                                                                           
# option cannot handle dynamic or non-broadcast interfaces correctly.                                                                                                           
;   bind interfaces only = yes

 

ファイアウォールの編集

デーモンを再起動した後、Samba で利用するポートを開けるためと思いますが、ファイアウォールの設定を変更しました。
尚、ファイアウォールの設定変更は、端末を利用しました。

デーモンの再起動

~$ sudo service smbd restart

ファイアウォールの設定前の値

~$ sudo ufw status
状態: アクティブ
~$

~$ sudo ufw app list
利用可能なアプリケーション:
  CUPS
~$

sudo ufw allow samba にて、追加しました。

~$ sudo ufw allow samba
ルールを追加しました
ルールを追加しました (v6)
~$ 

~$ sudo ufw app list
利用可能なアプリケーション:
  CUPS
  Samba
~$ 

 

Samba のパスワードの設定

パソコンのログイン時などのパスワードと、Samba のパスワードとは、共有化できないそうです。
そして、各位が設定したusername は、Ubuntu のアカウントに属している必要があるらしいです。

~$ sudo smbpasswd -a 各位が設定したusername
New SMB password:  << samba のパスワード。尚、パスワードをタイプしても表示されません。
Retype new SMB password:
Added user osamuibushi.
~$

 

クライアント側のツールの設定

sudo apt install smbclient cifs-utils にて、設定しました。
尚、端末に表示された値の一部を紹介します。

~$ sudo apt install smbclient cifs-utils
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
提案パッケージ:
  keyutils winbind heimdal-clients
以下のパッケージが新たにインストールされます:
  cifs-utils smbclient
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
・
・(省略)
・
~$ 

 

確認

testparm コマンドを利用して、Samba の設定の確認が行え、Loaded services file OK.  と表示されれば問題がないそうです。
下記に、私が設定した後の端末の表示の一部を紹介します。
尚、Press enter to see a dump of your service definitions の後、エンターすると /etc/samba/smb.conf ファイルの文末の共有ディレクトー (今回は、[SambaShare]) の内容が表示されました。

~$ testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

その他として

Samba へのマウントについてですが、手動でマウントしただけでは、クライアント側サーバが再起動した際にマウントが外れてしまうらしいです。
そこで,fstab(file system table) に設定を記述しておくことで、クライアント側サーバ起動時に自動でマウントできるらしいです。
$ sudo mount.cifs -o username=USERNAME,password=PASSWORD '\\SAMBA_SERVER_IP\共有したディレクトリーの名称' MOUNT_DIR
SAMBA_SERVER_IP の値など、/etc/samba/smb.conf で設定した値を記載したりして、いくらガンバっても、「Couldn't chdir to MOUNT_DIR」と言われました。
このマウントに関する内容と思われる事項は、なにもいじらずそっとしています。
言われる。

この投稿の改定履歴

このページには、各種広告も掲示しています。
掲示した広告、及び、スタイルの変更については、履歴を記載しません。

2021年09月09日
新規投稿
−以 上−

,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

%d人のブロガーが「いいね」をつけました。