RHEL9で作る自宅サーバ:ファイルサーバの構築 その1

RHEL9パソコンファイルサーバ自宅サーバ

今回は、ファイルサーバのプログラムsambaをインストールします。こちらはWindows用です。

まずは、インストール

[root@ace ~]# rpm -qa| grep samba
[root@ace ~]# dnf install samba
サブスクリプション管理リポジトリーを更新しています。
メタデータの期限切れの最終確認: 2:56:20 前の 2024年02月08日 11時27分34秒 に実施 しました。
依存関係が解決しました。
================================================================================
 パッケージ        Arch   バージョン        リポジトリー                  サイズ
================================================================================
インストール:
 samba             x86_64 4.18.6-101.el9_3  rhel-9-for-x86_64-baseos-rpms 982 k
依存関係のインストール:
 avahi-libs        x86_64 0.8-15.el9        rhel-9-for-x86_64-baseos-rpms  71 k
 cups-libs         x86_64 1:2.3.3op2-21.el9 rhel-9-for-x86_64-baseos-rpms 265 k
 libicu            x86_64 67.1-9.el9        rhel-9-for-x86_64-baseos-rpms 9.6 M
 libnetapi         x86_64 4.18.6-101.el9_3  rhel-9-for-x86_64-baseos-rpms 143 k
 libtirpc          x86_64 1.3.3-2.el9       rhel-9-for-x86_64-baseos-rpms  96 k
 libwbclient       x86_64 4.18.6-101.el9_3  rhel-9-for-x86_64-baseos-rpms  45 k
 samba-client-libs x86_64 4.18.6-101.el9_3  rhel-9-for-x86_64-baseos-rpms 5.1 M
 samba-common      noarch 4.18.6-101.el9_3  rhel-9-for-x86_64-baseos-rpms 153 k
 samba-common-libs x86_64 4.18.6-101.el9_3  rhel-9-for-x86_64-baseos-rpms 104 k
 samba-common-tools
                   x86_64 4.18.6-101.el9_3  rhel-9-for-x86_64-baseos-rpms 462 k
 samba-dcerpc      x86_64 4.18.6-101.el9_3  rhel-9-for-x86_64-baseos-rpms 691 k
 samba-ldb-ldap-modules
                   x86_64 4.18.6-101.el9_3  rhel-9-for-x86_64-baseos-rpms  30 k
 samba-libs        x86_64 4.18.6-101.el9_3  rhel-9-for-x86_64-baseos-rpms 127 k

トランザクションの概要
================================================================================
インストール  14 パッケージ

ダウンロードサイズの合計: 18 M
インストール後のサイズ: 62 M
これでよろしいですか? [y/N]: y
:
省略
:
インストール済み:
  avahi-libs-0.8-15.el9.x86_64
  cups-libs-1:2.3.3op2-21.el9.x86_64
  libicu-67.1-9.el9.x86_64
  libnetapi-4.18.6-101.el9_3.x86_64
  libtirpc-1.3.3-2.el9.x86_64
  libwbclient-4.18.6-101.el9_3.x86_64
  samba-4.18.6-101.el9_3.x86_64
  samba-client-libs-4.18.6-101.el9_3.x86_64
  samba-common-4.18.6-101.el9_3.noarch
  samba-common-libs-4.18.6-101.el9_3.x86_64
  samba-common-tools-4.18.6-101.el9_3.x86_64
  samba-dcerpc-4.18.6-101.el9_3.x86_64
  samba-ldb-ldap-modules-4.18.6-101.el9_3.x86_64
  samba-libs-4.18.6-101.el9_3.x86_64

完了しました!
[root@ace ~]#

パッケージからなら簡単ですね。

設定変更

設定ファイルは/etc/samba/smb.confとなります。これを直しましょう。

[root@ace ~]# cp -p /etc/samba/smb.conf /etc/samba/smb.conf.orig
[root@ace ~]# vi /etc/samba/smb.conf
[root@ace ~]# cat /etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.
#
# Note:
# SMB1 is disabled by default. This means clients without support for SMB2 or
# SMB3 are no longer able to connect to smbd (by default).

[global]
        workgroup = WORKGROUP
        server string = ZEKE's Samba Server
        netbios name = ace
        hosts allow = 192.168.1.0/24 2001:2c0:cd03:ca00::/64 fe80::/64
        map to guest = Bad User
        guest account = nobody
        server min protocol= NT1
        ntlm auth = ntlmv1-permitted
        max log size = 50

        security = user

        passdb backend = tdbsam

        local master = Yes
        os level = 33
        preferred master = Yes
        domain master = Yes

        wins support = Yes
        wins server = 192.168.1.1 2001:2c0:cd03:ca00::ace

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

        unix charset = UTF-8
        dos charset = CP932

        ea support = Yes
        vfs objects = catia fruit streams_xattr
        fruit:locking = netatalk
        fruit:encoding = native
        streams_xattr:prefix = user.
        streams_xattr:store_stream_type = No

        veto files = /:2eFBCLockFolder/.FBCLockFolder/:2eFBCIndex/.FBCIndex/TheVolumeSettingsFolder/TheFindByContentFolder/Temporary Items/Network Trash Folder/.AppleDB/:2eVolumeIcon.icns/.VolumeIcon.icns/Icon/.AppleDouble/.AppleDesktop/desktop.ini/RECYCLER/
        delete veto files = Yes

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

[public]
        comment = Public Directory
        path = /var/ftp/pub
        guest ok = Yes
        read only = Yes

[Music]
        comment = Public Music
        path = /home/zeke/StreamRipper/Music
        guest ok = Yes
        read only = Yes

[root@ace ~]#

MacOSのファイルサーバ(Netatalk)と連携させるために、HATさんのページを参考にさせていただきました。

また、LAN内にはWindows XPやWindows 2000など古い仮想マシンもあるので、古い認証方式も使えるようにしています。

        server min protocol= NT1
        ntlm auth = ntlmv1-permitted

設定の詳細は、こちらのページが参考になります。

サーバの自動起動設定

[root@ace ~]# systemctl is-enabled nmb
disabled
[root@ace ~]# systemctl enable nmb
Created symlink /etc/systemd/system/multi-user.target.wants/nmb.service → /usr/lib/systemd/system/nmb.service.
[root@ace ~]#  systemctl start nmb
[root@ace ~]# systemctl is-enabled smb
disabled
[root@ace ~]# systemctl enable smb
Created symlink /etc/systemd/system/multi-user.target.wants/smb.service → /usr/lib/systemd/system/smb.service.
[root@ace ~]# systemctl start smb
[root@ace ~]#

sambaはnmbとsmbの2つのサービスがあるので、両方とも自動起動設定を入れて、起動しておきます。

ユーザの作成変更

[root@ace ~]# pdbedit -a zeke
new password:
retype new password:
Unix username:        zeke
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-1683052457-2569387409-3830331783-1000
Primary Group SID:    S-1-5-21-1683052457-2569387409-3830331783-513
Full Name:
Home Directory:       \\ACE\zeke
HomeDir Drive:
Logon Script:
Profile Path:         \\ACE\zeke\profile
Domain:               ACE
Account desc:
Workstations:
Munged dial:
Logon time:           0
Logoff time:          木, 07  2月 2036 00:06:39 JST
Kickoff time:         木, 07  2月 2036 00:06:39 JST
Password last set:    木, 08  2月 2024 15:01:28 JST
Password can change:  木, 08  2月 2024 15:01:28 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@ace ~]#
[root@ace ~]# pdbedit -x zeke
[root@ace ~]# pdbedit -L
[root@ace ~]#

sambaで使うユーザのコマンドはpdbeditです。作成はpdbedit -a ユーザ名、削除はpdbedit -x ユーザ名、一覧表示はpdbedit -Lとなります。

エクスプローラで、フォルダを開ければOKです!

お勧めのKindle本です!

コメント