Saya menulis aplikasi Java di mana saya perlu melakukan eksekusi baris perintah dan mendapatkan hasil kembali, tetapi ketika saya menjalankan perintah, ia meminta kata sandi sudo. Sejauh ini saya mencoba:
$ sudo -s
$ vim /etc/sudoers
# User privilege specification
root ALL=(ALL:ALL) NOPASSWD: ALL
javauser ALL=(ALL:ALL) NOPASSWD: ALL
:wq
$ 4 -r--r----- 1 root root 615 2011-10-26 09:23 sudoers
Setelah saya menjalankan perintah itu lagi meminta "[javauser] kata sandi untuk javauser:". Tetapi saya sudah menyebutkan noPASSWD.
whoami
kembali alex
dan saya menambahkannya karena ini dalam sudoers
file
# User privilege specification
root ALL=(ALL:ALL) ALL
alex ALL=NOPASSWD: ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
Berlari terus menanyakan kata sandi saya, ada ide?
command-line
sudo
muru
sumber
sumber
sudo visudo
alih-alihvim
mengedit file sudoers. Dengan begitu jika Anda membuat kesalahan, program akan memperingatkan Anda tentang hal itu.Jawaban:
Anda perlu melakukan hal berikut, pada tipe terminal
sudo visudo
dan menambahkan baris seperti ini di akhir file yang menentukan perintah yang ingin Anda jalankan tanpa mengetikkan kata sandi sudo (saya sarankan Anda menggunakan setiap perintah yang ingin Anda gunakan dalam program dan tidak hanya mengizinkan semua program dijalankan dengan ini)Sekarang Anda dapat menjalankan perintah yang ditentukan tanpa kata sandi selama Anda mengetikkan perintah itu
sudo
.yaitu: katakanlah Anda ingin menjalankan
shutdown -r now
tanpa harus mengetikkan kata sandi sudo setiap kali dan nama pengguna Anda adalah 'joedoe'ketik
sudo visudo
di terminalTambahkan
joedoe ALL=NOPASSWD: /usr/sbin/shutdown -r now
sebagai baris baru di akhir file , gunakan jalur absolut ke program yang Anda coba gunakan.pada program Anda, Anda dapat menggunakan
sudo shutdown -r now
tanpa harus mengetikkan kata sandi sudo.Anda dapat menemukan jalur absolut ke suatu program dengan menggunakan
which <program name>
terminal.Ini trik yang sangat kotor dan membuat sistem Anda terbuka untuk bahaya lain, tetapi saya kira Anda tahu apa yang Anda lakukan dan menginginkan ini.
Anda benar-benar perlu memastikan bahwa izin yang Anda atur berada di akhir file sehingga tidak ada yang ditimpa oleh izin grup.
sumber
sudo visudo
dan tidakvim
mengedit file sudoers? Jika dia melakukan ini, itu akan berhasil.sudo
di depan perintah di dalam kode Anda? Anda perlu melakukannya bahkan jika Anda memaksa nopasswd dalam file sudoers. yaitu: gunakansudo <command>
tidak hanya<command>
.bruno
dan cmd ="sudo whoami
"kembaliroot
sudoers
file. Setelah penugasan grup, dll. Sungguh baris terakhir! Pindahkan baris untuk menjadi yang terakhir dalam file! (harap ini dia).