Pengguna apa yang menjalankan perintah yang ditentukan dalam /etc/rc.local?

13

Apakah perintah di /etc/rc.localjalankan susecara default?
Apakah saya perlu spesifik sudosebelum setiap perintah atau akan dijalankan oleh suterlepas?

SK '
sumber

Jawaban:

17

subukan pengguna itu program untuk menjalankan perintah / program berikutnya di bawah identitas alternatif dari pengguna lain daripada yang menjalankan perintah. Ini sangat mirip dengan sudodalam hal itu.

Kecuali jika pengguna lain dispesifikasikan, kedua perintah akan default untuk menjalankan perintah di bawah identitas alternatif rootpengguna, superuser / administrator.

Perbedaan utama antara sudan sudoadalah:

  • su mengharuskan Anda untuk mengetahui kata sandi pengguna alternatif itu, di mana
  • sudoakan meminta kata sandi pengguna yang menjalankan sudoperintah dan memerlukan pengaturan agar pengguna diizinkan menjalankan perintah / program yang diminta.

(Saat rootmenjalankan kata sandi diperlukan suatau sudotidak ada.)


Seperti halnya skrip init, /etc/rc.localskrip dijalankan oleh rootpengguna dan Anda tidak perlu menambahkan suatau sudoperintah / program yang perlu dijalankan sebagai root.

Anda mungkin masih perlu menggunakan suatau sudodalam skrip init Anda jika perintah-perintah itu perlu dijalankan bukan sebagairoot akun pengguna / layanan lain ...

su -oracle/do/something/as/oracle/user

HBruijn
sumber
Apa yang harus saya lakukan jika saya meletakkan su - user /path/to/script.sh di rc.local, dan ketika sumber itu meminta saya untuk kata sandi pengguna (dan menutup terminal sesudahnya). Bagaimana saya membuatnya tidak menanyakan kata sandi pengguna?
alonso s
10

Ya, semua skrip dan program secara langsung dipanggil oleh root.

The /etc/rc.localfile yang disebut langsung oleh proses init.

dmourati
sumber
1
Jadi, kita tidak perlu menambahkan sudosebelum perintah /etc/rc.local?
Benyamin Jafari