sudo -u user“ whoami” ใช้งานได้ แต่ไม่ใช่คำสั่งอื่น ๆ


0

เมื่อฉันเรียกใช้สิ่งต่อไปนี้มันได้ผล

sudo -u apache 'whoami'

แต่เมื่อฉันเรียกใช้มันจะไม่พบคำสั่ง

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

ฉันจะแก้ไขได้อย่างไร

คำตอบ:


2

sudoเห็นls -al ~/.sshสตริงทั้งหมดเป็นหนึ่งอาร์กิวเมนต์และเรียกใช้เป็นหนึ่งราวกับว่าapacheผู้ใช้เรียกใช้

'ls -al ~/.ssh'

และนี่ใช้ไม่ได้เพราะไม่มีเครื่องมือชื่อตัวอักษรls -al ~/.sshโดยรวม คำสั่งของคุณควรเป็นเหมือน

sudo -u apache ls -al ~/.ssh

หมายเหตุสิ่งนี้จะขยาย~ก่อนที่sudoจะเริ่มในบริบทของผู้ใช้จริงของคุณ ในทางกลับกัน:

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

อาจเป็นสิ่งที่คุณต้องการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.