Menjalankan perintah sebagai pengguna nologin


43

Saya baru-baru ini mengatur server saya sehingga pengguna 'virtual' suPHP saya tidak dapat login dengan menggunakan artikel ini

Masalah saya sekarang adalah bahwa sebelumnya ketika saya menjalankan rakeperintah untuk aplikasi Ruby on Rails saya berjalan di server, saya biasanya sumasuk www-datadan menjalankan perintah dari sana - jelas saya tidak bisa melakukan itu lagi karena nologin.

Jadi sebagai pengguna root, bagaimana saya bisa menjalankan perintah sebagai pengguna lain, bahkan jika mereka nologin?


Salah satu caranya adalah meluncurkan shell untuk pengguna itu (secara eksplisit menentukan shell): sudo -u www-data bashjalankan perintah dan logout Anda
cyberx86

@ cyberx86 Solusi Anda berhasil, bisakah Anda mengirimkannya sebagai jawaban untuk saya?

Jawaban:


50

Salah satu caranya adalah meluncurkan shell untuk pengguna tersebut (secara spesifik menentukan shell):

sudo -u www-data bash 

Ini akan meluncurkan shell (bash) sebagai pengguna yang ditentukan. Anda kemudian dapat menjalankan perintah dan logout (untuk kembali ke shell sebelumnya)


39

Sebagai root, Anda dapat menggunakan su -s /bin/sh $user - -sopsi menimpa shell yang dikonfigurasi untuk pengguna.


1
Ini sepertinya selalu salah bagi saya.

Bekerja bagus untukku, tidak pernah punya masalah. Saat menjalankan skrip dengan sintaks bash, perlu / bin / bash daripada / bin / sh
ekerner
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.