Tùy thuộc vào người dùng của bạn, đó có thể là một ý tưởng tốt hay xấu.
Người sudùng thông thường có thể sử dụng lệnh này để đăng nhập vào bất kỳ tài khoản nào khác, không chỉ siêu nhân, miễn là họ biết mật khẩu của tài khoản.
Điều này rất hữu ích, ví dụ khi hai người dùng đang hợp tác trong một dự án, một trong số họ (userA) đã đăng nhập và họ cần đọc một tệp chỉ có thể truy cập đối với người dùng khác (userB). Đơn giản là chạy
su -c 'cat /home/userB/file' userB >file
có thể được sử dụng để sao chép tệp vào thư mục chính của người dùng đã đăng nhập, nhưng điều đó chỉ có thể nếu userA được phép chạy sulệnh.
Trên các máy chủ cơ sở dữ liệu PostgreSQL, người quản trị cơ sở dữ liệu thường có thể chuyển sang postgresngười dùng để thực hiện một số tác vụ bảo trì không thể thực hiện được trong khi máy chủ cơ sở dữ liệu đang hoạt động; để làm việc này, họ cần có khả năng chạy su - postgres.
Các cân nhắc tương tự áp dụng cho sudolệnh (khác biệt và phức tạp hơn so với su- đó chỉ là cấu hình mặc định làm cho lệnh chủ yếu hữu ích cho sudoersnhóm, vì nhóm đó được phép chạy bất kỳ lệnh nào root. Tuy nhiên, nếu bạn thêm bất kỳ quy tắc tùy chỉnh nào, ví dụ: cho phép bất kỳ người dùng nào chạy updatedbmà không có đối số, sau đó người dùng bên ngoài sudoersnhóm cần có quyền thực thi sudo.
Ngoài ra, không chỉ có suđó là setuid - còn có
sg (cho phép tạm thời tham gia nhóm nếu có mật khẩu nhóm)
passwd (cho phép thay đổi mật khẩu)
chfn (cho phép thay đổi thông tin người dùng)
chsh (cho phép thay đổi shell mặc định)
và một số người khác. Các công cụ này chia sẻ rất nhiều mã với sulệnh, vì vậy việc thay đổi chế độ /bin/sumột mình sẽ không mua cho bạn nhiều và việc thay đổi chế độ của tất cả chúng chắc chắn sẽ gây khó chịu cho người dùng của bạn, đặc biệt là trong trường hợp passwd.