Điểm:0

Ansible nhận thời gian chờ xác thực khi sử dụng tài khoản miền trên máy chủ đang chạy winbind

lá cờ ge

Tôi đã cài đặt một bộ điều khiển miền mới được lưu trữ bởi Samba 4.11 trên Ubuntu 20.04 (sử dụng các gói ubuntu). Tôi đã định cấu hình xác thực hệ thống để sử dụng thông tin đăng nhập AD với việc sử dụng winbind. Trên các máy chủ (thành viên) khác, tôi thường sử dụng sssd thay vì winbind nhưng tôi hiểu là tôi không thể sử dụng sssd trên máy chủ chạy samba làm DC.

Lúc đầu, nó hoạt động tốt. Máy chủ hoạt động như một DC như bình thường. Tôi có thể đăng nhập bằng thông tin đăng nhập AD của mình vào máy chủ bằng SSH.

Vấn đề là khi tôi kết nối với máy này bằng Ansible. Ansible lần lượt thực hiện nhiều kết nối SSH (một kết nối cho mỗi tác vụ). Nó cũng nâng cao quyền root với Sudo hầu như mọi lúc. Khi chạy playbook của tôi, nó bị lỗi ở một tác vụ ngẫu nhiên do lỗi này Hết thời gian chờ (62 giây) chờ lời nhắc leo thang đặc quyền. Nếu tôi cố gắng kết nối thủ công với SSH vào lúc này, thì đây chỉ là thời gian chờ. Sau vài giây, tôi có thể đăng nhập lại.

Sự cố không xảy ra khi sử dụng tài khoản cục bộ thay vì tài khoản miền.

Nhật ký có liên quan duy nhất tôi tìm thấy là trong nhật ký.windbindd nhật ký:

[2021/10/12 16:06:57.312913, 5] ../../source3/winbindd/winbindd.c:1204(remove_timed_out_clients)
  Ứng dụng khách nhàn rỗi đã hết thời gian, tắt sock 38, pid 568531
[2021/10/12 16:07:09.933655, 3] ../../source3/winbindd/winbindd_getpwnam.c:59(winbindd_getpwnam_send)
  winbindd_getpwnam_send: [nss_winbind (567486)] getpwnam VÍ DỤ\myuserid
[2021/10/12 16:07:12.326288, 5] ../../source3/winbindd/winbindd.c:1204(remove_timed_out_clients)
  Máy khách nhàn rỗi đã hết thời gian, tắt sock 34, pid 568806
[2021/10/12 16:07:12.326413, 5] ../../source3/winbindd/winbindd.c:1209(remove_timed_out_clients)
  Yêu cầu của khách hàng đã hết thời gian chờ, tắt sock 39, pid 568806
[2021/10/12 16:07:12.326451, 1] ../../source3/winbindd/winbindd_dual.c:337(wb_child_request_cleanup)
  wb_child_request_cleanup: giữ subreq mồ côi[0x563394622e40]
[2021/10/12 16:07:14.044393, 3] ../../source3/winbindd/winbindd_misc.c:429(winbindd_interface_version)
  winbindd_interface_version: [nss_winbind(568806)]: yêu cầu phiên bản giao diện (version=31)
[2021/10/12 16:07:14.044847, 3] ../../source3/winbindd/winbindd_getpwnam.c:59(winbindd_getpwnam_send)
  winbindd_getpwnam_send: [nss_winbind (568806)] getpwnam VÍ DỤ\myuserid
^C

Tôi đã viết một tập lệnh nhỏ chỉ thực hiện sudo cứ sau 1000 mili giây, rồi 500 mili giây, rồi 100 mili giây để cố gắng mô phỏng những gì Ansible làm. Tôi nhận thấy rằng quá trình samba chiếm khoảng 30% cpu khi tập lệnh được đặt lặp lại sau mỗi 1000 mili giây, 50% khi tập lệnh chạy ở tốc độ 500 mili giây và 70% khi chạy ở tốc độ 100 mili giây. Thật không may, tôi không thể tái tạo thời gian chờ xác thực khi chạy tập lệnh.

#!/bin/bash

trong khi [ đúng ]; làm
  thời gian Sudo echo 1
  ngủ 0,1
xong

Cấu hình Samba:

[toàn cầu]
    tên netbios = DC4
    vương quốc = AD.EXAMPLE.CA
    nhóm làm việc = VÍ DỤ
    chuyển tiếp dns = 10.3.0.3
    vai trò máy chủ = bộ điều khiển miền thư mục hoạt động
    idmap_ldb: sử dụng rfc2307 = có

    thư mục pid =/run/samba
    thư mục trạng thái = /data/samba
    thư mục binddns = /data/samba/bind-dns
    thư mục socket ntp sign = /data/samba/ntp_signd
    thư mục riêng tư = /data/samba/private
    đường dẫn chia sẻ người dùng = /data/samba/usershares

    đã bật tls = có
    tệp khóa tls = tls/key.pem
    tls certfile = tls/cert.pem
    tls cafile = /usr/local/share/ca-certificates/internal_ca.crt

    cấp nhật ký = 5
    kích thước nhật ký tối đa = 1000000

    kiểm tra tập lệnh mật khẩu = python3 /usr/local/bin/check_password_hibpwnd.py

    cho phép cập nhật dns = không an toàn

    xác thực ntlm = có

    vỏ mẫu = /bin/bash
    mẫu homedir = /home/ad.example.ca/%u
    # đã thử cách này để giảm tải, không có tác dụng
    đăng nhập ngoại tuyến winbind = có
    người dùng winbind enum = không
    nhóm enum winbind = không    
    nhóm lồng nhau winbind = false

[netlogon]
    đường dẫn = /data/samba/sysvol/ad.example.ca/scripts
    chỉ đọc = Không

[sysvol]
    đường dẫn =/dữ liệu/samba/sysvol
    chỉ đọc = Không

nsswitch config (Tôi vừa thêm dây buộc gió cho mật khẩutập đoàn mục):

# /etc/nsswitch.conf
#
# Cấu hình ví dụ về chức năng Chuyển đổi dịch vụ tên GNU.
# Nếu bạn đã cài đặt các gói `glibc-doc-reference' và `info', hãy thử:
# `info libc "Name Service Switch"' để biết thông tin về tệp này.

passwd: tập tin systemd winbind
nhóm: tập tin systemd winbind
bóng tối: tập tin
gshadow: tập tin

máy chủ: tệp dns
mạng: tập tin

giao thức: tập tin db
dịch vụ: tập tin db
ête: tập tin db
rpc: tập tin db

nhóm mạng: nis

Cập nhật! Tôi thấy rằng việc định cấu hình sudo để không yêu cầu mật khẩu của người dùng để nâng cao đặc quyền hoạt động tốt. Đây không phải là một giải pháp thay thế có thể chấp nhận được, nhưng có lẽ điều này có thể nói lên điều gì đó với ai đó có thể giúp chẩn đoán sự cố.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.