Jalankan sebagai pengguna yang berbeda

9

Pada sistem RedHat, saya mencoba meluncurkan program dengan pengguna lain yang tidak memiliki shell. Di / etc / passwd, shell adalah / sbin / nologin.

Saya telah mencoba:

  1. su myuser -c /home/myuser/script.sh Hasil: Akun ini saat ini tidak tersedia.

  2. Dengan chown dan setuid: chown myuser: mygroup /home/myuser/script.sh chmod + s /home/myuser/script.sh /home/myuser/script.sh Hasil: script.sh masih dieksekusi sebagai pengguna masuk saya ( akar).

Karl
sumber
Apakah Anda menjalankan suroot sebagai atau pengguna yang tidak terjangkau?
James O'Gorman

Jawaban:

17

mencoba:

su myuser -s /bin/sh -c /home/myuser/script.sh
mrc
sumber
0

kesalahan ini berarti bahwa di / etc / passwd Anda telah menetapkan shell / sbin / nologin atau / sbin / false untuk pengguna pengguna.

Silakan atur sesuatu yang bermanfaat seperti / bin / bash


sumber
Itulah yang telah diposting oleh OP; OP bertanya apakah ada cara untuk menjalankan program meskipun nama pengguna tidak memiliki shell.
Bart Silverstrim
Ya ... sebenarnya pertanyaannya. Saya ingin tahu apakah mungkin untuk menjalankan skrip sebagai pengguna yang berbeda, tanpa menetapkan shell di / etc / passwd
Karl
1
Anda tidak dapat melakukannya menggunakan skrip jika pengguna memiliki shell seperti ini.