Điểm:0

Làm cách nào để tạo người dùng và cấp quyền đọc cho tệp/etc/shadow?

lá cờ in

Tôi muốn cấp cho người dùng máy chủ web của mình (nginx) quyền đọc vào tệp /etc/shadow và tôi muốn xác nhận các bước mà tôi đang thực hiện để thực hiện việc này. Hệ thống tôi đang sử dụng là CentOS 7.

  1. Đầu tiên tôi tạo một nhóm gọi là bóng tối: nhóm thêm bóng
  2. Sau đó, tôi đã thêm người dùng máy chủ web (nginx) vào bóng nhóm: usermod -aG bóng nginx
  3. Sau đó, tôi đã thay đổi chủ sở hữu thành root và thay đổi chủ sở hữu nhóm tệp thành nhóm bóng: chown root:shadow /etc/shadow
  4. Sau đó, tôi đã cấp quyền đọc cho tất cả người dùng trong nhóm bóng để đọc tệp /etc/shadow: chmod g+r /etc/shadow

Sau khi tiến hành các bước đó, tôi đã chạy ls -l /etc/shadow và tôi thấy đầu ra sau

-----r-----. 1 bóng gốc 1390 ngày 30 tháng 8 12:51 /etc/shadow

Các bước tôi đang làm có đúng không? Vui lòng cho tôi biết và tôi có thể cung cấp thêm thông tin nếu cần.

Điểm:3
lá cờ za

Việc thay đổi nhóm chủ sở hữu của tệp quan trọng như vậy thậm chí có thể làm hỏng một số thứ, đó là nguy hiểm.

Cách an toàn thích hợp để đạt được điều đó là sử dụng ACL POSIX:

setfacl -m u:special_user:r /etc/shadow

Một vấn đề khác ở đây là bạn đã trao quyền này cho Nginx, một máy chủ web. Mà, tôi cho rằng, chạy một số ứng dụng web. Và thật là một ý tưởng tồi nếu có quyền truy cập trực tiếp vào /etc/shadow từ ứng dụng web.

Điều này có vẻ phản tác dụng, nhưng đây là cách tất cả các hệ thống nghiêm túc làm những việc như vậy: chúng bao gồm dịch vụ proxy an toàn riêng tư tất cả các kiểm tra bảo mật và giao diện người dùng web chỉ có thể nói chuyện với dịch vụ proxy này để có một số quyền truy cập vào dữ liệu nhạy cảm hoặc làm những việc nhạy cảm khác. Ví dụ: đây là cách Proxmox VE được xây dựng: có pvedaemon thực hiện những việc nguy hiểm và pveproxy (máy chủ web) chỉ nói chuyện với pvedaemon khi nó cần làm những việc như vậy.

Vấn đề thứ ba là bạn hoàn toàn truy cập vào tệp này. Bạn định làm gì? Tệp này là một phần của bộ PAM.Điều gì sẽ xảy ra nếu một số xác thực hệ thống bị sửa đổi để nó không sử dụng tệp ẩn hoặc nó bị di chuyển? Bạn nên sử dụng các cuộc gọi thư viện PAM sẽ thực hiện tất cả những thứ đó cho bạn.

Nebek avatar
lá cờ in
Cảm ơn Nikita. Tôi biết các mối lo ngại về bảo mật với tệp /etc/shadow. Lý do tại sao tôi cho phép Nginx có quyền truy cập đọc vào tệp /etc/shadow là vì tôi muốn được xác thực bằng PAM để truy cập vào ứng dụng web mà tôi đang chạy. Điều này chỉ để xác minh rằng tôi đã tích hợp PAM và Nginx đúng cách, tiếp theo tôi sẽ sử dụng BoK.
Nikita Kipriyanov avatar
lá cờ za
Sau đó, không cần cho phép truy cập trực tiếp vào tệp bóng. PAM tồn tại một phần vì điều này là không cần thiết.
Điểm:0
lá cờ vn

Trông giống như đầu ra của

chmod g=r /etc/shadow

và không

chmod g+r /etc/shadow

aka. bạn dường như đã vô tình sử dụng dấu bằng thay vì dấu cộng.

Chỉnh sửa: Tôi vừa kiểm tra lại hệ thống của mình và các quyền đối với /etc/shadow tập tin trông như thế này:

`----------. 1 gốc gốc 1183 20 tháng 8 11.53 /etc/shadow`

Vì vậy, có vẻ như quyền của bạn sẽ được mong đợi!

Nebek avatar
lá cờ in
Thật thú vị, tôi đã kiểm tra lịch sử các lệnh mà tôi đã chạy và tôi đã sử dụng đúng lệnh, 'chmod g+r /etc/shadow'.
BitGen01100000 avatar
lá cờ vn
@Nebek Bạn có thấy bản chỉnh sửa của tôi không? :)
Nebek avatar
lá cờ in
Oh xin lỗi, chỉ nhìn thấy nó cảm ơn!
djdomi avatar
lá cờ za
Trên thực tế, `ls -la /etc/shadow -rw-r----- 1 root shadow 1050 Aug 28 18:14 /etc/shadow` là mặc định trên Debian
BitGen01100000 avatar
lá cờ vn
@djdomi Tôi đã kiểm tra điều này trên hệ thống CentOS (Phiên bản 7.7.1908) mà tôi đang chạy. Và tôi chưa thực hiện bất kỳ thay đổi nào đối với tệp này. Vì vậy, trừ khi bạn thay đổi bất cứ điều gì, nó dường như là một sự khác biệt giữa các bản phân phối. Tuy nhiên, OP đã tuyên bố rằng anh ấy/cô ấy sử dụng CentOS, vì vậy tôi khuyên anh ấy/cô ấy nên sử dụng cấu hình tiêu chuẩn cho bản phân phối đó làm cấu hình cơ sở thay vì trộn và kết hợp giữa các bản phân phối khác nhau. :)
djdomi avatar
lá cờ za
@BitGen01100000 không thành vấn đề, nó thậm chí còn có cùng một ý tưởng đằng sau, hơn nữa, người đóng góp của anh ấy có thể đi đầu: [câu hỏi này đã được trả lời](https://unix.stackexchange.com/questions/549464/etc-shadow-permissions-security- best-practice-000-vs-600-vs-640)

Đă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.