tiếng vang tiếng vang | sudo -S thay thế cho sudo -n


3

Tôi đang dùng Debian Lenny. Thật không may, gói sudo của nhà máy không bao gồm tùy chọn -n đi kèm với phiên bản sudo 1.7. Tôi thực sự muốn có một cách để chỉ định "Nếu sudo yêu cầu mật khẩu, tôi thích thất bại ngay lập tức thay vì treo trên dấu nhắc". Liệu sự thay thế này sẽ làm việc?

echo "" | sudo -S -u lalala command 

Câu trả lời:


2

Điều này sẽ chỉ làm việc với các lệnh nhất định. Khi cần mật khẩu, sudo sẽ thất bại như mong đợi, theo một cách hơi xấu xí. Tuy nhiên, khi không, dòng mới sẽ được chuyển sang lệnh bạn đang chạy với sudo.

mèo hoạt động tốt:

cacheson@segfault:~$ echo "" | sudo -S -u cacheson cat file.txt 
text file

vim không:

cacheson@segfault:~$ echo "" | sudo -S -u cacheson vim file.txt 
Vim: Warning: Input is not from a terminal
Vim: Error reading input, exiting...

Vim: Finished.

2

Lệnh của bạn cũng sẽ đọc từ đầu vào tiêu chuẩn (như Chris Acheson ). Bạn nên chuyển hướng đầu vào tiêu chuẩn trở lại từ thiết bị đầu cuối.

echo | sudo -S -u lalala sh -c 'command </dev/tty'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.