Bagaimana cara melihat di terminal bahwa Anda memiliki hak sudo? (jadi mengetahui saya memiliki hak istimewa ini, saya bisa mengetik sudo -k
) Akan lebih baik untuk tidak menambahkan terlalu banyak informasi ke terminal juga, hanya semacam peringatan sederhana dan kecil!
WAKTU YANG TERSISA ADALAH MUNGKIN, kan?
Juga, bagaimana cara melihat berapa banyak waktu yang saya miliki dengan hak istimewa di terminal spesifik itu? (jadi saya bisa membiarkannya berakhir daripada mengetik sudo -k
). Saya pikir sisa waktu bisa muncul setiap kali saya menekan tombol Enter.
EDIT: Saya meneliti lebih lanjut dan menemukan bahwa /var/lib/sudo/$USER/$nPts
(di mana $ nPts adalah terminal pts saat ini pada ps -p $$
), timestamp-nya diperbarui setiap kali perintah sudo dikeluarkan, dan itu hanya dapat diakses jika Anda menggunakan perintah sudo, sehingga sisa waktu akan selalu menjadi yang dikonfigurasi ...
PS: Atau untuk itu, saya mencoba alias sudo='sudo -k'
tetapi saya tidak suka harus mengetikkan kata sandi untuk setiap perintah ... Dan juga, ini alias sudos='sudo -k'
(atau alias ssudo='sudo -k'
, bagus jika Anda mengetikkan baris yang panjang, cukup tekan Rumah dan ketik 's') berfungsi jika Anda hanya ingin mengeluarkan satu perintah dengan mengetik sudos
. Tapi aku masih rindu untuk tahu kapan aku memiliki hak istimewa sudo normal untuk mengetahui bahwa aku harus bertindak ...
Jawaban:
[Aku masih ingin tahu apakah ada jawaban yang lebih baik.]
Saya menemukan cara yang berfungsi, dan prompt akan disimpan dalam satu baris:
di akhir Anda
~/.bashrc
tambahkan ini:EDIT: Saya menemukan bahwa
sudo -n uptime
akan memperbarui batas waktu sudo, jadi setiap kali Anda menekan tombol Enter, waktu sudo itu akan diperbarui ... Itu membuat mengetahui sisa waktu tidak berguna, karena akan selalu menjadi yang dikonfigurasi, default ke 15 menit .. .dan untuk menemukan pemformatan warna terbaik sesuai selera Anda, Anda dapat menggunakan ScriptEchoColor dengan
--escapedchars
opsi seperti:hanya untuk menghentikan penghapusan berkedip
\E[5m
seperti di\E[0m\E[93m\E[41m\E[1m SUDO \E[0m
sumber
Terminal Anda tidak "memiliki hak sudo", kecuali jika Anda melakukan sesuatu yang konyol seperti
sudo bash
JANGAN LAKUKAN INI!Yang harus Anda lakukan untuk "memiliki hak sudo normal" adalah menahan diri dari mengetik
sudo
di depan perintah./usr/bin/id
adalah cara yang baik untuk melihat apa yangsudo
dilakukannya. Sebagai contoh:The
sudo
halaman manual mengatakan "Kebijakan sudoers cache mandat untuk 15 menit, kecuali ditimpa dalam sudoers (5)". Artinya, secara default, jika Anda mengeluarkansudo
perintah (dan memasukkan kata sandi), lalu tunggu 14,9 menit sebelum mengeluarkansudo
perintah kedua , Anda tidak perlu memasukkan kata sandi lagi. Jika Anda menunggu 15,1 menit, Anda harus memasukkan kembali kata sandi.sudo -k
cukup kedaluwarsa timer 15 menit dengan segera. Satu-satunya kegunaan yang bisa saya lihatsudo -k
adalah jika Anda akan menghasilkan terminal yang tidak dikunci untuk seseorang yang tidak Anda percayaiUID 0
.sumber
sudo
di depan perintah". Tetapi jika saya ingin memeriksa aturan firewall saya denganiptables -L
itu tidak akan berfungsi kecuali saya mengetiksudo iptables -L
. Maksud saya adalah, bagaimana kita bisa benar-benar menghindari penggunaan sudo?sudo -k
, saya khawatir tentang cracker yang mencoba mengakses mesin saya dari jarak jauh (saya tidak benar-benar tahu apakah mereka bisa melakukannya ...), atau kalau-kalau saya membiarkan mesin saya terbuka tanpa menguncinya selama beberapa saat ... yah, intinya adalah: Saya ingin melakukannya dengan cara ini! Saya tidak peduli harus mengetiksudo -k
dan kata sandi saya lagi nanti sebanyak yang saya butuhkan, saya merasa baik ketika saya melakukannya dengan cara ini! :)/bin/su
. Anda yakin ingin membuangnya? "Mengakses mesin saya dari jarak jauh ..." dan, saya kira, mengambil alih/proc/YourPID/fd/{0,1,2}
. Tidak. Jika mesin Anda diakses dari jarak jauh, Si Jahat memiliki cara yang lebih mudah untuk UID 0. Anda harus meningkatkan Linux-foo Anda sebelum tingkat kekhawatiran ini.alias k=/usr/bin/sudo -k
, gantisudo
perintah dengan fungsi alias atau bash yang membungkus panggilan/usr/bin/sudo
dengan/usr/bin/touch $HOME/tmp/$$/sudotime
, dan akhirnya, tambahkan sesuatu untuk mencetak $ {{waktu (sekarang) - waktu ($ HOME / tmp / $ $ / sudotime))) di prompt Bash Anda. Bukan hal sepele, tetapi jika itu akan membuat Anda merasa baik, lakukanlah.sudo
dengan alias ke sembarang kata, mereka masih bisa mengetik dan/usr/bin/sudo
bukansudo
dan itu akan tetap bekerja seperti sudo :(. Pokoknya saya suka ide itu .. Saya bertanya-tanya apakah saya mengubah yang sebenarnya/usr/bin/sudo
itu akan merusak sesuatu selain semua skrip saya yang menggunakannya .. bahkan jika saya melakukannya, mereka bisa, dengan membaca skrip itu, tebak apa yang menjadi sudo ..