Dịch vụ systemd tới được proxy nhưng không đọc được tệp CA
Kiểm tra quyền truy cập tệp của tài khoản dịch vụ và hạn chế hệ thống tệp systemd khi cấu hình chứng chỉ proxy chỉ chạy trong shell tương tác.
Bạn đã cài gói CA được chấp thuận và yêu cầu chạy trong terminal. Dịch vụ vẫn báo lỗi nạp chứng chỉ. Trước khi thay IP proxy, kiểm tra tiến trình đó có mở được cùng tệp hay không.
Dịch vụ có thể chạy bằng người dùng Unix khác, bắt đầu ở thư mục khác hoặc thấy hệ thống tệp bị hạn chế. Đường dẫn hợp lệ cho phiên đăng nhập của bạn không tự động hợp lệ với nó.
Bắt đầu bằng đường dẫn tuyệt đối
Kiểm tra đường dẫn được cấu hình trong client thực tế. Với curl, chẳng hạn, --cacert chọn gói CA của đích; proxy HTTPS có tùy chọn CA proxy riêng. Client khác dùng khóa cấu hình hoặc biến môi trường riêng.
Kiểm tra cả tệp lẫn các thư mục dẫn tới nó.
namei -l /home/alex/certs/approved-ca.pem
systemctl show example.service -p User -p Group -p ProtectHome -p RootDirectory
Đây là ví dụ chẩn đoán, không phải hướng dẫn cho mọi người quyền ghi tệp. Quyền đi qua thư mục quan trọng như quyền đọc tệp cuối.
Quyền có thể chưa phải toàn bộ vấn đề
Với ProtectHome=yes, systemd khiến các vị trí thư mục home tiêu chuẩn không thể truy cập từ dịch vụ đó. Đổi chế độ tệp chứng chỉ không gỡ hạn chế không gian tên. Thư mục gốc đã cấu hình cũng có thể đổi thứ mà đường dẫn tuyệt đối trỏ tới trong dịch vụ.
Dùng vị trí cấu hình dịch vụ phù hợp, như thư mục dưới /etc dành cho ứng dụng đó, và chỉ cấp quyền đọc cần thiết. Cập nhật đường dẫn CA của client tới đây. Đừng gỡ hạn chế hệ thống tệp không liên quan chỉ vì bản sao đầu ở thư mục home cá nhân.
Đọc lỗi hữu ích đầu tiên
«Không thể nạp tệp CA» và «chuỗi chứng chỉ không được tin cậy» là hai lỗi khác nhau. Lỗi đầu có thể xảy ra trước mọi xác minh. Lỗi sau có thể nghĩa là gói đọc được chứa sai cơ quan chứng thực hoặc đang áp dụng cho sai kết nối TLS.
Sau khi sửa quyền truy cập, thử lại trong ngữ cảnh dịch vụ. Lệnh thành công ở terminal vẫn là so sánh hữu ích, nhưng không chứng minh dịch vụ thấy tệp nào hay client của nó dùng cấu hình tin cậy nào.