Bagaimana cara masuk sebagai pengguna bash yang berbeda di terminal?

16

Saya harus memeriksa apakah halaman web saya berjalan secara lokal di nginx tidak berfungsi karena masalah izin. Skrip web saya berjalan sebagai _wwwpengguna, jadi saya mencoba beralih _wwwtetapi ini tidak berfungsi:

maciek@macus:~$ sudo su - _www
Password:
maciek@macus:~$ whoami
maciek

Bagaimana saya bisa melakukan ini dalam 10.8.5?

Maciej Sz
sumber

Jawaban:

12

The sudogagal karena _wwwpengguna memiliki /usr/bin/falsesebagai cangkangnya, menyebabkan sesi sampai akhir segera setelah Anda sudah beralih pengguna.

Solusinya adalah dengan menggunakan -sopsi, yang akan mengeksekusi shell Anda saat ini alih-alih _wwwshell:

$ sudo -s -u _www
Password:
$ whoami
_www

Hanya diuji pada sistem 10.9 tetapi harus bekerja dengan baik pada 10.8.

mjturner
sumber
pengguna normal tidak boleh menggunakan sudo.
CousinCocaine
1
@CousinCocaine mendefinisikan normal? apakah kita normal
Ray Foss
16

Gunakan login:

$ login
login: username
Password:
Last login: Day Month Date HH:MM:SS on ttys000
$ whoami
username

GRG
sumber
1
Saya tidak berpikir bahwa pengguna sistem memiliki kata sandi. Ini meminta kata sandi, dan kosong tidak berfungsi.
Maciej Sz
3
ini cara yang benar untuk melakukannya.
CousinCocaine
Seperti yang dikomentari OP, ini tidak akan berfungsi untuk pengguna yang tidak memiliki kata sandi (yang _wwwsecara default tidak akan dimiliki oleh pengguna, juga tidak harus memilikinya).
mjturner