Người dùng nào chạy các lệnh được xác định trong /etc/rc.local?


13

Các lệnh trong /etc/rc.localchạy sutheo mặc định?
Tôi có cần phải cụ thể sudotrước mỗi lệnh hay chúng sẽ được chạy bởi subất kể?

Câu trả lời:


17

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 susudolà:

  • su yêu cầu bạn biết mật khẩu của người dùng thay thế đó, ở đâu
  • sudosẽ 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


Tôi phải làm gì nếu tôi đặt su - user /path/to/script.sh trong rc.local và khi tìm nguồn cung cấp, nó sẽ nhắc tôi nhập mật khẩu người dùng (và đóng thiết bị đầu cuối sau đó). Làm cách nào để tôi không hỏi tôi mật khẩu của người dùng?
alonso s

10

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.


1
Vì vậy, sau đó, chúng ta không cần phải thêm sudotrước khi các lệnh trong /etc/rc.local?
Benyamin Jafari
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.