Tôi đang chạy Debian trên Lenovo x220 và nâng cấp các gói của tôi khá thường xuyên. Gần đây tôi phát hiện ra một sự thay đổi trong cách tôi nâng cao sudo. Thông thường tôi chỉ suhoặc những sudothứ như ví dụ arp-scan -l.
Tuy nhiên, không chắc chắn tại sao, khi tôi nâng lên sudo -svà đôi khi với sutôi thỉnh thoảng nhận được thông báo lỗi, lệnh đó không được tìm thấy. Nhìn vào sudoerstệp (thông qua visudo) cũng không giúp được gì vì các biến được đặt và chưa được chạm hoặc sửa đổi. Tôi đã googled một chút công bằng xung quanh nhưng không thể khám phá bất kỳ giải pháp nào giải thích tại sao nó chỉ hoạt động mọi lúc nhưng không nhất quán?
Bất cứ ai có một ý tưởng những gì có thể đã được thay đổi hoặc thay đổi?
// chỉnh sửa - tài liệu dưới đây, tôi đã nâng lên đầu tiên với sudo -s, lần này tôi có thể tìm thấy lệnh này. Sử dụng sudo -iđã thành công trong việc tìm kiếm / định vị arp-scanlà tốt. Bằng cách gõ sutôi không thể chạy lệnh / tìm tệp thực thi.
nomax@debian:~$ sudo -s
[sudo] password for nomax:
root@debian:/home/nomax# arp
arp arpd arp-fingerprint arp-scan
root@debian:/home/nomax# exit
exit
nomax@debian:~$ sudo -i
root@debian:~# arp
arp arpd arp-fingerprint arp-scan
root@debian:~# exit
logout
nomax@debian:~$ su
Password:
root@debian:/home/nomax# arp-scan -l
bash: arp-scan: command not found
root@debian:/home/nomax# exit
exit
nomax@debian:~$ sudo -i
root@debian:~# arp-scan -l
Interface: wlp3s0, datalink type: EN10MB (Ethernet)
suchuyển sang người dùng root và đường dẫn người dùng root . Những người có thể không giống như con đường bạn tìm kiếm như người dùng. So sánh những người có thể hữu ích.
which arp-scanvà echo ${PATH}và whoamivà chạy chương trình bằng cách đường dẫn đầy đủ của nó. Điều tra các kịch bản đăng nhập (/ etc / profile, ~ / .profile, ~ root / .profile) có thể hữu ích, như sức mạnh kiểm tra các log file mà sudo sử dụng (xem / var / log / * auth log )
arp-scanhoạt động sau sudo -i, không hoạt động sau su. Luôn luôn.