Câu trả lời:
su
có nghĩa là người dùng thay thế và nếu nó được gọi mà không có bất kỳ đối số nào, bạn sẽ trở thành siêu người dùng. Do đó bạn phải nhập mật khẩu root.
Đây là một số điều không hài lòng nếu nhiều người cần sử dụng các lệnh cho quản trị hệ thống hoặc các công cụ tương tự với quyền người dùng mở rộng. Bạn không muốn mọi người có quyền không giới hạn bằng cách chia sẻ tất cả mật khẩu gốc.
Giải pháp cho loại vấn đề này là sudo
(" người dùng thay thế làm "). Điều này sẽ cho phép bạn chỉ định các lệnh mà ai đó có thể gọi và xác định các quyền. Đối với sudo
bạn không phải nhập mật khẩu gốc, nhưng mật khẩu của người dùng cố gắng gọi lệnh sudo.
Một số bản phân phối có người dùng root bị vô hiệu hóa vì lý do bảo mật. Đây có thể là một lời giải thích tại sao bạn không thể sử dụng su
. Trong trường hợp đó, để có được một trình bao với quyền sử dụng quyền root sudo -s
;-)
$ script
và $ sudo script
không? Người dùng giống nhau trong cả hai trường hợp.
sudo allows a permitted user to execute a command as the superuser or another user, as specified in the sudoers file.
- từ người đàn ông sudo. Thông thường tập lệnh sẽ được gọi với quyền root. Đó là sự khác biệt.
Lệnh su không có tùy chọn, sẽ mặc định cho phép bạn trở thành người dùng root. Nó không yêu cầu mật khẩu của bạn, mà là mật khẩu gốc.
Lệnh sudo luôn yêu cầu mật khẩu của bạn.
sudo su -
đó khi dấu gạch ngang có nghĩa là đặt môi trường theo hồ sơ đăng nhập của người dùng (trong trường hợp này là root). Điều này thường làm tăng nhẹ bảo mật PATH nhưng vẫn không bảo vệ chống lạiecho hi > /dev/my_critical_filesystem