Lý lịch
Tôi biết sự khác biệt giữa su -
, sudo su -
và sudo <command>
:
su -
- chuyển người dùng sang root, yêu cầu mật khẩu rootsudo su -
- chuyển người dùng sang root, chỉ yêu cầu mật khẩu của người dùng hiện tạisudo <command>
- chỉ cấp quyền truy cập root cho một lệnh cụ thể; chỉ yêu cầu mật khẩu người dùng hiện tại
Câu hỏi của tôi là về việc có sử dụng hay không sudo su -
là một thực hành an toàn trong môi trường sản xuất.
Một vài suy nghĩ:
Có vẻ như cho phép
sudo su -
gây ra rủi ro bảo mật bằng cách truy cập vào tài khoản root phụ thuộc vào mật khẩu người dùng cá nhân. Tất nhiên, điều này có thể được giảm nhẹ bằng cách thực thi chính sách mật khẩu nghiêm ngặt. Tôi không nghĩsu -
là tốt hơn vì nó sẽ yêu cầu quản trị viên chia sẻ mật khẩu gốc thực sự.Việc cho phép người dùng hoàn toàn chuyển sang tài khoản root khiến việc theo dõi ai thực hiện thay đổi hệ thống trở nên khó khăn hơn. Tôi đã thấy các trường hợp trong công việc hàng ngày của tôi, nơi nhiều người dùng được cấp
sudo su -
quyền truy cập. Điều đầu tiên người dùng làm khi đăng nhập vào hệ thống là chạysudo su -
, trước khi bắt đầu công việc. Sau đó, một ngày nào đó một cái gì đó phá vỡ, và không có truy xuất nguồn gốc cho những người chạyrm -rf *
trong thư mục sai.
Câu hỏi
Với những mối quan tâm trên, có bao giờ là một ý tưởng tốt để cho phép người dùng sử dụng sudo su -
hoặc thậm chí su -
không?
Có bất kỳ lý do nào mà quản trị viên sẽ định cấu hình tài khoản người dùng sudo su -
hoặc su -
thay vì sudo <command>
(ngoài sự lười biếng) không?
Lưu ý: Tôi bỏ qua trường hợp người dùng đang chạy sudo su -
hoặc su -
Quản trị viên cần thực hiện thay đổi hệ thống, khi quyền truy cập ssh trực tiếp đã bị vô hiệu hóa cho người dùng root.
sudo bash
đơn giản để tránh một số chi phí đăng nhập. Tuy nhiên, theo phản ánh, điều đó có thể không tránh được nhiều như tôi tưởng tượng.
sudo -s
.
sudo su -
là khá ngớ ngẩn vìsudo -i
về cơ bản là điều tương tự, với ít lần nhấn phím hơn.