Ini adalah kasus penggunaan khas untuk sudo
.
Anda sedang mencampuradukkan sudo
yang memungkinkan menjalankan perintah sebagai pengguna lain dan sangat dapat dikonfigurasi (Anda dapat secara selektif menentukan pengguna mana yang dapat menjalankan perintah mana sebagai pengguna mana) dan su
yang beralih ke pengguna lain jika Anda mengetahui kata sandi (atau root). su
selalu menjalankan shell yang ditulis /etc/passwd
, bahkan jika su -c
digunakan. Karena ini su
tidak kompatibel dengan /usr/sbin/nologin
.
Kamu harus menggunakan
sudo -u secure /home/someuser/secure.script
Seperti yang sudo
dapat dikonfigurasi, Anda dapat mengontrol siapa yang dapat menggunakan perintah ini dan jika ia perlu memasukkan kata sandi untuk menjalankannya. Anda perlu mengedit /etc/sudoers
menggunakan visudo
untuk melakukan ini. (Hati-hati saat mengedit / etc / sudoers dan selalu gunakan visudo untuk melakukannya. Sintaksnya tidak sepele dan satu kesalahan dapat mengunci Anda keluar dari akun root Anda.)
Baris dalam sudoer ini memungkinkan siapa pun dalam grup somegroup
untuk menjalankan perintah sebagai secure
:
%somegroup ALL=(secure) /home/someuser/secure.script
Ini memungkinkan siapa saja dalam grup somegroup
untuk menjalankan perintah secure
tanpa memasukkan kata sandi:
%somegroup ALL=(secure) NOPASSWD: /home/someuser/secure.script
Ini memungkinkan user1
untuk menjalankan perintah secure
tanpa memasukkan kata sandi:
user1 ALL=(secure) /home/someuser/secure.script
sudo su
, lihat unix.stackexchange.com/questions/218169/…