目的
目的は、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