it-swarm-vi.com

Làm cách nào để chạy lệnh với tư cách quản trị viên hệ thống (root)

Tôi cần phải chạy một lệnh với các đặc quyền hành chính. Có người nói tôi nên chạy một lệnh với quyền root. Làm thế nào để tôi làm điều này?

66
Stefan

Sử dụng su:

$ su -c command

hoặc là

$ su
# command
# exit

Trong cả hai trường hợp, bạn sẽ được nhắc nhập mật khẩu root. Để biết thêm thông tin, xem trang hướng dẫn .

8
Steven D

Hoặc bạn có thể cung cấp cho một số lệnh một siêu năng lực. Tôi đang nói về các quyền đặc biệt trong đó các lệnh được thực thi với sự cho phép của chủ sở hữu.

Nhận đường dẫn lệnh bằng #which <command> và đặt SUID hoặc SGID cho đường dẫn đó.

P.S. - Nên cẩn thận các bit SUID và SGID. Họ có thể làm cho hệ thống của bạn không an toàn.

3
Ayush Goyal

Vì câu hỏi không dành riêng cho Linux, nên đây là cách bạn đạt được mục tiêu tương tự trong Solaris 9+ (hoặc Trusted Solaris 8):

Solaris, kể từ phiên bản 9, đã bao gồm một bộ công cụ được gọi một cách trìu mến là RBAC hoặc Kiểm soát truy cập dựa trên vai trò.

Điểm chính của RBAC là thông qua việc cấp Cấp phép và Quyền, cho Người dùng và/hoặc Vai trò hoặc cấp Vai trò cho Người dùng, bạn có thể tạo các mô hình chi tiết cực kỳ tốt cho những ai có thể chạy những đặc quyền nào.

Về cơ bản, bạn xác định ủy quyền trong/etc/security/auth_attr, sau đó cấp chúng cho người dùng hoặc vai trò trong/etc/user_attr.

Bạn xác định hồ sơ trong/etc/security/prof_attr. Sau đó, bạn liên kết các lệnh với các cấu hình đó trong/etc/security/exec_attr, sau đó bằng cách gán các cấu hình đó cho người dùng trong tệp/etc/user_attr.

Khi những điều đó được thực hiện, bạn thực sự chạy pfexec <command> để thực thi lệnh với đặc quyền hoặc ủy quyền được cấp cho mà người dùng cho rằng lệnh.

Điều thú vị về RBAC là không có đặc quyền bổ sung nào được cấp cho chính lệnh hoặc người dùng, chỉ cho sự kết hợp của lệnh user +. Vì vậy, an toàn hơn là tạo nhị phân + hoặc chỉ sử dụng Sudo để khiến người dùng có thể thực hiện khá nhiều thứ. (Tôi biết rằng bạn có thể khóa Sudo, nhưng theo kinh nghiệm của tôi, hầu hết mọi người đều không)

Một ưu điểm khác của RBAC là bạn có thể tạo tài khoản root và gán vai trò đó cho người dùng có khả năng trở thành root bằng lệnh 'su' và mật khẩu gốc. Người dùng root cũng sẽ có thể đăng nhập ở Chế độ một người dùng, điều này tốt hơn (theo ý kiến ​​của tôi) so với mô hình Linux nơi bạn có thể vô hiệu hóa mật khẩu gốc passwd -d root hoặc khóa tài khoản root passwd -l root, cả hai đều làm cho việc đăng nhập bằng root khá khó khăn khi có sự cố.

Ben Rockwood có một bài đăng blog tuyệt vời về RBAC có thể được đọc tại Sử dụng RBAC trên (Mở) Solaris .

3
Tim Kennedy