sudo -u pengguna "whoami" bekerja tetapi tidak perintah lain

0

Ketika saya menjalankan yang berikut ini berfungsi:

sudo -u apache 'whoami'

Tetapi ketika saya menjalankan ini, dikatakan perintah tidak ditemukan:

sudo -u apache 'ls -al ~/.ssh'

Bagaimana cara saya memperbaikinya?

Albert
sumber

Jawaban:

2

sudomelihat seluruh ls -al ~/.sshstring sebagai satu argumen dan menjalankannya sebagai satu, seolah-olah apachepengguna dipanggil

'ls -al ~/.ssh'

Dan ini tidak berhasil karena tidak ada alat yang dinamai secara harfiah ls -al ~/.sshsebagai keseluruhan. Perintah Anda harus lebih seperti

sudo -u apache ls -al ~/.ssh

Perhatikan ini akan diperluas bahkan ~sebelum sudodimulai, dalam konteks pengguna Anda yang sebenarnya. Ini, di sisi lain:

sudo -u apache ls -al ~apache/.ssh

mungkin apa yang Anda inginkan.

Kamil Maciorowski
sumber