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.