GNU/Linux >> Linux の 問題 >  >> Debian

Debian 9StretchLinuxでSambaサーバー共有を設定する方法

目的

目的は、Debian 9 Stretch LinuxでSambaサーバーの基本構成を実行して、MSWindowsクライアントマシンを介してSamba共有へのアクセスを提供することです。

オペレーティングシステムとソフトウェアのバージョン

  • オペレーティングシステム: –Debian9ストレッチ
  • ソフトウェア: – Samba4.5.8-Debian

要件

Debianシステムへの特権アクセスが必要になります。

難易度

簡単

規約

  • –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudoを使用して、root権限で実行する必要があります。 コマンド
  • $ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります

シナリオ

以下の構成手順は、次のシナリオと事前構成された要件を前提としています。

  • サーバーとMSWindowsクライアントは同じネットワーク上にあり、ファイアウォールが2つの間の通信をブロックしていません
  • MS Windowsクライアントは、ホスト名samba-serverによってsambaサーバーを解決できます。
  • MSWindowsクライアントのワークグループドメインはWORKGROUP

手順

インストール

Sambaサーバーのインストールから始めましょう:

# apt install samba

さらに、テストの目的で、sambaクライアントをインストールすることもお勧めします:

# apt install smbclient

これで、Sambaサーバーがシステム上で稼働しているはずです:

# systemctl status smbd
● smbd.service - Samba SMB Daemon
   Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2017-06-13 10:35:34 AEST; 3min 32s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 1654 (smbd)
   Status: "smbd: ready to serve connections..."
   CGroup: /system.slice/smbd.service
           ├─1654 /usr/sbin/smbd
           ├─1655 /usr/sbin/smbd
           ├─1656 /usr/sbin/smbd
           └─1659 /usr/sbin/smbd

デフォルトのSamba構成

メインのSamba構成ファイルは/etc/samba/smb.confと呼ばれます 。 smb.confの編集を開始する前に 構成ファイル、元の構成ファイルのバックアップを作成し、現在の構成に関連する行を新しいsmb.confに抽出しましょう。 ファイル:

# cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
# grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf

新しい/etc/samba/smb.conf これで次のものが含まれるはずです:

# cat /etc/samba/smb.conf
[global]
   workgroup = WORKGROUP
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   server role = standalone server
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = bad user
   usershare allow guests = yes
[homes]
   comment = Home Directories
   browseable = no
   read only = yes
   create mask = 0700
   directory mask = 0700
   valid users = %S
[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700
[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no

sambaサーバーを再起動し、SMBクライアントを使用してエクスポートされたすべてのsambaグループを確認します。

# systemctl restart smbd
# smbclient -L localhost
WARNING: The "syslog" option is deprecated
Enter root's password: 
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian]

        Sharename       Type      Comment
        ---------       ----      -------
        print$          Disk      Printer Drivers
        IPC$            IPC       IPC Service (Samba 4.5.8-Debian)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian]

        Server               Comment
        ---------            -------
        LASERPRINTER         
        LINUXCONFIG          Samba 4.5.8-Debian

        Workgroup            Master
        ---------            -------
        WORKGROUP            LINUXCONFIG

ユーザーの追加

Sambaには独自のユーザー管理システムがあります。ただし、sambaユーザーリストに存在するユーザーは、/etc/passwd内にも存在する必要があります。 ファイル。このため、useraddを使用して新しいユーザーを作成します 新しいSambaユーザーを作成する前にコマンドを実行します。一度あなたの新しいシステムユーザー例えば。 linuxconfig 終了するには、smbpasswdを使用します 新しいSambaユーザーを作成するコマンド:

# smbpasswd -a linuxconfig
New SMB password:

Sambaホームディレクトリ共有

デフォルトでは、すべてのホームディレクトリは読み取り専用でエクスポートされ、browseableではありません。 。このデフォルトの構成設定を変更するには、現在のhomesを変更します 定義を共有する:

[homes]
   comment = Home Directories
   browseable = yes
   read only = no
   create mask = 0700
   directory mask = 0700
   valid users = %S

/etc/samba/smb.confに変更を加えるたびに 構成ファイルは、Sambaサーバーデーモンを再起動することを忘れないでください:

# systemctl restart smbd

Samba Public Anonymous Share

次のSamba定義により、すべてのユーザーが/var/samba/の下のSamba共有にデータを読み書きできるようになります。 ディレクトリ。まず、新しいディレクトリを作成し、誰でもアクセスできるようにします。

# mkdir /var/samba
# chmod 777 /var/samba/

次に、/etc/samba/smb.conf内に新しいSamba共有定義を追加します Samba構成ファイル:

[public]
  comment = public anonymous access
  path = /var/samba/
  browsable =yes
  create mask = 0660
  directory mask = 0771
  writable = yes
  guest ok = yes

sambaサーバーデーモンを再起動します:

# systemctl restart smbd

マウントサンバシェア

これで、MSWindowsマシンとネットワークマップに注意を向けて新しいSamba共有ディレクトリを作成する準備が整いました。 \\\samba-serverで利用可能なすべての共有を一覧表示することから始めます コマンドの実行:


すべてがうまくいけば、閲覧可能なすべてのSamba共有のリストが表示されます。


次に、共有を右クリックしてMap Network Drive...を選択し、共有ディレクトリのいずれかをマップします。 オプション。チェックマーク、Connect using different credentials オプションを選択し、前の手順で作成したユーザー資格情報を入力して、ネットワークドライブマッピングを完了します。

付録

Sambaユーザーのリスト:

# pdbedit -w -L

Sambaユーザーを削除します:

# pdbedit -x -u username

Debian
  1. Debian 9StretchLinuxにLAMPサーバーをインストールする方法

  2. Debian 9StretchLinuxでSambaサーバー共有を設定する方法

  3. MySQLコミュニティサーバーをDebian9StretchLinuxにインストールする方法

  1. Debian 9StretchLinuxにTeamViewerをインストールする方法

  2. Debian 9StretchLinuxでNFSを設定する方法

  3. Debian 9StretchLinuxにJenkinsをインストールする方法

  1. Debian 9StretchLinuxでFTPサーバーを構成する方法

  2. Debian 9StretchLinuxでNTPサーバーとクライアントをセットアップする方法

  3. Debian 9StretchLinuxにNodeJSをインストールする方法