Saya ingin melakukan sesuatu seperti itu:
sudo -p password rm /a/file
Bisakah saya memasukkan kata sandi dan pengguna pada baris yang sama?
Versi Sudo saya adalah 1.8.9p5
Jawaban yang Diterima:
sudo
tidak memiliki opsi untuk menentukan kata sandi, tetapi Anda masih dapat melakukan otentikasi pada baris perintah, seperti ini:
echo password | sudo -u root --stdin
atau hanya
echo password | sudo -S
merujuk ke halaman manual sudo:
-S
,--stdin
Tulis prompt ke kesalahan standar dan baca kata sandi dari input standar alih-alih menggunakan perangkat terminal. Kata sandi harus diikuti dengan karakter baris baru.
dan
-u
pengguna,--user=
pengguna
Jalankan perintah sebagai pengguna selain pengguna target default (biasanya root). Pengguna dapat berupa nama pengguna atau ID pengguna numerik (UID) yang diawali dengan karakter '#' (mis. #0 untuk UID 0). Saat menjalankan perintah sebagai UID, banyak shell mengharuskan '#' diloloskan dengan garis miring terbalik (''). Beberapa kebijakan keamanan mungkin membatasi UID untuk yang terdaftar di database kata sandi. Kebijakan sudoers mengizinkan UID yang tidak ada dalam basis data kata sandi selama opsi targetpw tidak disetel. Kebijakan keamanan lain mungkin tidak mendukung ini.
Tapi sudo
telah lama dikembangkan. Periksa versinya:
-V
,--version
Cetaksudo
string versi serta string versi plugin kebijakan keamanan dan plugin I/O apa pun. Jika pengguna yang memanggil sudah melakukan root-V
opsi akan menampilkan argumen yang diteruskan untuk dikonfigurasi ketikasudo
dibuat dan plugin dapat menampilkan lebih banyak informasi verbose seperti opsi default.
Dukungan untuk opsi panjang telah ditambahkan pada tahun 2013.
Selain mengautentikasi, Anda memerlukan sesuatu untuk sudo
untuk melakukan , misalnya, perintah. Saya sering memeriksa apakah itu berfungsi dengan melakukan hanya
sudo id
yang seharusnya menampilkan root pengguna, mis.,
uid=0(root) gid=0(root) groups=0(root)