Tidak, gema langsung tidak akan berfungsi, Anda harus menjalankannya dalam subkulit. Coba ini sebagai gantinya:
sudo sh -c "echo \"group ALL=(user) NOPASSWD: ALL\" >> /etc/sudoers"
Anda cukup echo
(dengan hak istimewa yang lebih tinggi, tentu saja) langsung ke /etc/sudoers
berkas:
sudo -i
echo 'nickw444 ALL=(ALL:ALL) ALL' >> /etc/sudoers
# ^^
# tab
(perhatikan karakter tab antara nama pengguna dan ALL
pertama )
Atau, untuk skrip:
#!/bin/bash
# Run me with superuser privileges
echo 'nickw444 ALL=(ALL:ALL) ALL' >> /etc/sudoers
Kemudian simpan ke somefile.sh
, chmod a+rx
itu, dan jalankan sudo ./somefile.sh
dari jendela terminal.
Untuk menambahkan banyak pengguna, ubah skrip menjadi ini;
#!/bin/bash
while [[ -n $1 ]]; do
echo "$1 ALL=(ALL:ALL) ALL" >> /etc/sudoers;
shift # shift all parameters;
done
Kemudian, jalankan skrip seperti ini (dengan asumsi Anda menyimpannya sebagai addsudousers.sh
):
sudo ./addsudousers.sh bob joe jeff
yaitu, dipisahkan oleh ruang.
Untuk membaca nama dari file:
[email protected] ~ $ sudo ./addsudousers.sh `cat listofusers.txt`
listofusers.txt
juga harus dipisahkan oleh ruang.
Edit: Jappie Kirk dengan tepat menunjukkan bahwa Anda tidak dapat langsung memanggil sudo echo ... >> /etc/sudoers
karena >>
pengalihan ditangani oleh shell, yang pada saat itu telah menjatuhkan hak superuser. Namun, jika Anda menjalankan skrip yang berisi echo ... >> /etc/sudoers
dan skrip itu sendiri memiliki hak pengguna super, semuanya akan berfungsi dengan baik.