Cách thêm người dùng vào tệp Sudoers trong Mac OS X
Mục lục:
Người dùng nâng cao có thể cần thêm tài khoản người dùng vào tệp sudoers, tệp này cho phép người dùng đó chạy một số lệnh nhất định với quyền root.
Để đơn giản hóa rất nhiều điều đó có nghĩa là gì, những tài khoản người dùng mới được cấp đặc quyền này sau đó sẽ có thể thực thi các lệnh mà không gặp lỗi từ chối cấp quyền hoặc phải thêm tiền tố vào lệnh đầu cuối bằng sudo. Điều này có thể hữu ích (hoặc cần thiết) đối với một số tình huống phức tạp, nhưng nó gây rủi ro bảo mật cho những người khác, vì vậy đây không phải là điều nên thay đổi tùy tiện.
Nói chung, hầu hết người dùng nên sử dụng tài khoản quản trị viên, sử dụng sudo trên cơ sở mỗi lệnh hoặc bật người dùng root. Tuy nhiên, việc sửa đổi trực tiếp sudoers có nhiều tình huống sử dụng dành cho những người nâng cao có kiến thức chuyên sâu về dòng lệnh và đối với những tình huống phức tạp hơn đó, chúng tôi sẽ tập trung vào việc điều chỉnh tệp sudoers như được mô tả tại đây.
Tệp sudoers nằm ở /etc/sudoers, nhưng không giống như /etc/hosts và nhiều tệp cấu hình hệ thống khác, bạn không muốn trỏ trình soạn thảo văn bản chung vào tệp để sửa đổi. Thay vào đó, bạn sẽ muốn sử dụng một lệnh cụ thể có tên là 'visudo', lệnh này xác nhận cú pháp đúng trước khi lưu tài liệu.
Quan trọng: Điều chỉnh sudoers không dành cho hầu hết người dùng Mac OS X. Chỉ những người dùng nâng cao có lý do thuyết phục để làm như vậy mới nên sửa đổi tệp sudoers. Nếu bạn không biết mình đang làm gì và tại sao bạn lại làm việc đó, đừng chỉnh sửa tệp sudoers và đừng thêm bất kỳ người dùng nào vào tệp sudoers.Nó có thể gây rủi ro bảo mật hoặc bạn có thể làm hỏng thứ gì đó.
Thêm người dùng vào Sudoers trong Mac OS X
Thêm người dùng vào sudoers yêu cầu sử dụng vi, điều này có thể khá khó hiểu nếu bạn chưa quen với nó. Đối với những người không quen thuộc, chúng tôi sẽ phác thảo các chuỗi lệnh chính chính xác để chỉnh sửa, chèn và lưu tệp trong vi, hãy làm theo hướng dẫn một cách cẩn thận.
- Launch Terminal và gõ lệnh sau:
- Sử dụng các phím mũi tên để điều hướng xuống phần “Đặc tả đặc quyền người dùng”, nó sẽ giống như sau:
- Đặt con trỏ vào dòng trống tiếp theo bên dưới mục nhập %admin rồi nhấn phím “A” để chèn văn bản, sau đó nhập nội dung sau vào một dòng mới, thay thế 'tên người dùng' bằng tên người dùng ngắn tên của tài khoản bạn muốn cấp đặc quyền (nhấn tab giữa tên người dùng và TẤT CẢ):
- Bây giờ nhấn phím “ESC” (thoát) để dừng chỉnh sửa tệp
- Nhấn phím : (dấu hai chấm) rồi nhập “wq”, sau đó nhấn phím Return để lưu thay đổi và thoát vi
sudo visudo
Đặc tả đặc quyền người dùng root ALL=(ALL) ALL %admin ALL=(ALL) ALL
username ALL=(ALL) ALL
Đây là giao diện đại khái của nó, ảnh chụp màn hình ví dụ hiển thị tên người dùng 'osxdaily' đã thêm:
Bạn nên tiếp tục, bạn có thể gửi tệp sudoers để chắc chắn rằng tệp đã được sửa đổi:
cat /etc/sudoers
Sử dụng cat với grep để tìm nhanh tên người dùng nếu bạn không muốn quét qua toàn bộ tệp:
cat /etc/sudoers | tên người dùng grep
Bây giờ 'tên người dùng' đã được thêm vào tệp sudoers, bạn nên bắt đầu.
Giải quyết lỗi “/etc/sudoers busy, try again later”
Nếu bạn đang cố gắng sửa đổi sudoers và gặp lỗi 'visudo: /etc/sudoers busy, try again later', điều đó thường có nghĩa là tệp đã được mở bởi một người dùng khác hoặc bởi tai nạn, hoặc do đóng visudo không đúng cách. Nếu bạn đang sử dụng máy nhiều người dùng, hãy đảm bảo kiểm tra với những người dùng khác trước khi thực hiện thêm bất kỳ điều gì, nhưng nhìn chung điều này không nên xảy ra thường xuyên trên máy một người dùng. Điều quan trọng là phải phân biệt cả hai bởi vì nếu bạn làm hỏng tệp sudoers, bạn có thể gặp phải một thế giới đầy thất vọng, sự cố và cuối cùng là khôi phục hệ điều hành (hoặc tệp sudoers) từ các bản sao lưu, việc giải quyết nằm ngoài phạm vi của bài viết này .
Trên máy Mac của một người dùng, lỗi “sudoers busy” có thể xảy ra sau khi thoát khỏi ứng dụng Terminal mà không thoát vi hoặc nếu Terminal hoặc Mac OS X bị lỗi hoặc nếu tệp hiện đang mở trong một ứng dụng khác phiên họp. Giải pháp cho các trường hợp máy sử dụng một lần được mô tả sau khá đơn giản và bạn có thể giải quyết lỗi bằng cách xóa tệp tạm thời sudoers đóng vai trò là khóa:
sudo rm /etc/sudoers.tmp
Bạn sẽ chỉ muốn làm điều đó nếu bạn chắc chắn rằng một người dùng khác (hoặc chính bạn) không chủ động sửa đổi tệp, cục bộ hoặc từ xa. Vì việc điều chỉnh sudoers nói chung là khá tiên tiến, nên chúng tôi cho rằng bạn biết mình đang làm gì ở đây, nhưng nếu bạn không thể theo dõi cái gì hoặc tại sao sudoers được mở, bạn có thể thử sử dụng dtrace hoặc opensnoop để theo dõi việc sử dụng tệp.