Câu trả lời:
sukhông phải là người dùng , chương trình sẽ chạy các lệnh / chương trình tiếp theo dưới danh tính thay thế của người dùng khác thay vì người thực hiện lệnh. Nó rất giống với sudovấn đề đó.
Trừ khi người dùng khác được chỉ định, cả hai lệnh sẽ mặc định chạy lệnh dưới danh tính thay thế của rootngười dùng, siêu người dùng / quản trị viên.
Sự khác biệt chính giữa suvà sudolà:
su yêu cầu bạn biết mật khẩu của người dùng thay thế đó, ở đâusudosẽ nhắc nhập mật khẩu của người dùng đang chạy sudolệnh và yêu cầu thiết lập để người dùng được phép chạy các lệnh / chương trình được yêu cầu.(Khi rootchạy suhoặc sudokhông yêu cầu mật khẩu.)
Giống như bất kỳ tập lệnh init nào, /etc/rc.localtập lệnh được rootngười dùng thực thi và bạn không cần phải thêm trước suhoặc sudovào các lệnh / chương trình cần chạy dưới quyền root.
Bạn vẫn có thể cần phải sử dụng suhoặc sudotrong các tập lệnh init của mình nếu các lệnh đó cần được thực thi không phải nhưroot một tài khoản người dùng / dịch vụ khác ...
su -oracle/do/something/as/oracle/user
Có, tất cả các tập lệnh và chương trình được gọi trực tiếp bằng root.
Các /etc/rc.localtập tin được gọi trực tiếp bởi quá trình init.
sudotrước khi các lệnh trong /etc/rc.local?