Samba用に構成された共有がいくつかあり(まだテスト中)、フルパス(\ testserver \ publicshareなど)を作成すると、Windowsコンピュータは共有にアクセスできますが、\ testserver \にアクセスすると権限エラーが発生します。そのSambaサーバーのすべての共有を見ることはできません。
何が問題なの?
これは私の設定ファイルです。
# Samba configuration -- Managed by Ansible, please don't edit manually
# vim: ft=samba
#
# Ansible managed
[global]
# Server information
netbios name = testserver
workgroup = WORKGROUP
server string = Fileserver %m
fruit:aapl = yes
# Logging
logging = syslog
# Authentication
security = user
passdb backend = tdbsam
map to guest = Never
guest account = server
# Name resolution: make sure \\NETBIOS_NAME\ works
wins support = yes
local master = yes
domain master = yes
preferred master = yes
# Don't load printers
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
# Fix for CVE-2017-7494 in Samba versions from 3.5.0 and before 4.6.4
# https://access.redhat.com/security/cve/cve-2017-7494
nt pipe support = no
## Make home directories accessible
[homes]
comment = Home Directories
browseable = no
writable = yes
## Shared directories
[publicshare]
comment = Public share, writeable by all members of group ‘users’
path = /home/server/samba/shares/public
public = yes
write list = +users
force group = users
browseable = yes
create mode = 0664
force create mode = 0664
directory mode = 0775
force directory mode = 0775
[TimeMachine]
comment = Share useable as a TimeMachine backup target on MacOS
vfs objects = fruit streams_xattr
fruit:time machine = yes
path = /home/server/samba/shares/tm
public = no
write list = server
force group = server
guest ok = no
browseable = no
create mode = 0664
force create mode = 0664
directory mode = 0775
force directory mode = 0775
私は実際にAnsibleを使ってSambaを配布しています。これは私のyamlファイルです。
---
# samba.yml
- name: Samba
hosts: localhost
connection: local
become: true
roles:
- role: "bertvv.samba"
tags: ["system"]
vars:
samba_apple_extensions: "yes"
samba_guest_account: "server"
samba_load_homes: true
samba_netbios_name: "testserver"
samba_shares:
- name: publicshare
comment: 'Public share, writeable by all members of group ‘users’'
public: 'yes'
write_list: +users
group: users
setype: public_content_t
browseable: 'yes'
path: /home/server/samba/shares/public
- name: TimeMachine
comment: 'Share useable as a TimeMachine backup target on MacOS'
vfs_objects:
- name: fruit
options:
- name: time machine
value: 'yes'
- name: streams_xattr
path: /home/server/samba/shares/tm
write_list: server
owner: server
group: server
public: 'no'
guest_ok: 'no'
browseable: 'no'
samba_map_to_guest: Never
samba_users:
- name: server
password: -----
編集する: それを発見!このパラメータは次のとおりです。
nt pipe support = no
答え1
問題は次のパラメーターにあります。
nt pipe support = no
これは私が使用しているAnsible Sambaの役割からのものです(https://galaxy.ansible.com/bertvv/samba)
CVE-2017-7494 リモートでコードが実行される脆弱性は Samba サーバーのインストールに影響を与える可能性があります。 Sambaバージョン3.5.0および4.6.4より前のバージョンが影響を受けます。システムでSELinuxが有効になっていると、脆弱ではありません。
この役割は、インストールされているSambaのバージョンが脆弱性の影響を受けていることを確認し、推奨される回避策を適用します。ntパイプサポートを追加=いいえ設定の[global]セクションに移動します。参考にしてください これにより、Windowsクライアントの共有ナビゲーションが無効になります。。
必要に応じて、役割変数samba_mitigate_cve_2017_7494をfalseに設定して、キャリブレーションを明示的に無効にできます。