Jak sprawdzić w terminalu, że masz uprawnienia sudo? (więc wiedząc, że mam te uprawnienia, mogę po prostu pisać sudo -k
) Lepiej nie dodawać zbyt wiele informacji do terminala, po prostu jakiś prosty i mały alert!
POZOSTAŁY CZAS JEST NIEMOŻLIWY, prawda?
Ponadto, jak sprawdzić, ile mam jeszcze czasu z tymi uprawnieniami na tym konkretnym terminalu? (więc mogę pozwolić, żeby to się skończyło zamiast pisać sudo -k
). Myślę, że pozostały czas może pojawić się za każdym razem, gdy naciskam klawisz Enter.
EDYCJA: /var/lib/sudo/$USER/$nPts
Zbadałem więcej i odkryłem, że (gdzie $ nPts jest obecnym terminalem pts od teraz ps -p $$
) jego znacznik czasu jest aktualizowany za każdym razem, gdy wydawane jest polecenie sudo, i jest dostępny tylko wtedy, gdy używasz polecenia sudo, więc pozostały czas zawsze będzie skonfigurowany jeden ...
PS .: Alternatywnie, próbowałem, alias sudo='sudo -k'
ale nie lubię wpisywać hasła do każdego polecenia ... A także to alias sudos='sudo -k'
(lub alias ssudo='sudo -k'
, dobrze, jeśli wpisałeś długą linię, po prostu naciśnij Home i wpisz 's') działa, jeśli chcesz wydać tylko jedno polecenie, pisząc sudos
. Ale wciąż brakuje mi informacji, kiedy mam normalne uprawnienia sudo, aby wiedzieć, że muszę działać ...
Odpowiedzi:
[Nadal chciałbym wiedzieć, czy istnieje lepsze rozwiązanie.]
Znalazłem sposób, który działa, a monit będzie przechowywany w jednym wierszu:
na końcu
~/.bashrc
dodaj:EDYCJA: Odkryłem, że
sudo -n uptime
zaktualizuje limit czasu sudo, więc za każdym razem, gdy naciśniesz klawisz Enter, ten czas sudo zostanie zaktualizowany ... To sprawia, że znajomość pozostałego czasu jest bezużyteczna, ponieważ zawsze będzie skonfigurowany, domyślnie 15 minut .. .i aby znaleźć najlepsze formatowanie kolorów dla swojego gustu, możesz użyć ScriptEchoColor z
--escapedchars
opcją:aby po prostu przestać migać usuń
\E[5m
jak w\E[0m\E[93m\E[41m\E[1m SUDO \E[0m
źródło
Twój terminal nie ma „uprawnień sudo”, chyba że zrobisz coś głupiego, np.
sudo bash
NIE Rób tego!Wszystko, co musisz zrobić, aby „mieć normalne uprawnienia sudo”, to powstrzymać się od pisania
sudo
przed poleceniem./usr/bin/id
to dobry sposób, aby zobaczyć, cosudo
robi. Na przykład:sudo
Strona człowiek mówi „Polityka sudoers buforuje poświadczeń przez 15 minut, chyba że zostaną zamienione w sudoers (5)”. Oznacza to, że domyślnie po wydaniusudo
polecenia (i wprowadzeniu hasła), a następnie odczekaniu 14,9 minuty przed wydaniem drugiegosudo
polecenia, nie trzeba będzie ponownie wpisywać hasła. Jeśli zaczekasz 15,1 minuty, będziesz musiał ponownie wprowadzić hasło.sudo -k
po prostu natychmiast wygaśnie 15-minutowy timer. Jedyne, co widzę,sudo -k
to to, że masz zamiar oddać odblokowany terminal komuś, komu nie ufaszUID 0
.źródło
sudo
przed poleceniem”. Ale jeśli chcę sprawdzić reguły zapory,iptables -L
nie będzie działać, chyba że piszęsudo iptables -L
. Chodzi mi o to, jak właściwie możemy uniknąć używania sudo?sudo -k
, martwię się o włamywacze próbujące uzyskać zdalny dostęp do mojego komputera (tak naprawdę nie wiem, czy i tak mogą to zrobić ...), lub w przypadku gdy zostawię moją maszynę otwartą bez zamykania jej na kilka chwil ... cóż, prawda jest taka: chcę to zrobić w ten sposób! Nie dbam o to, aby pisaćsudo -k
i moje hasło ponownie tyle razy, ile muszę, czuję się dobrze, gdy robię to w ten sposób! :)/bin/su
. Czy na pewno chcesz to odrzucić? „Zdalny dostęp do mojej maszyny ...” i, jak sądzę, przejęcie/proc/YourPID/fd/{0,1,2}
. Nie. Jeśli twój komputer jest dostępny zdalnie, Bad Guy ma łatwiejszy sposób na UID 0. Powinieneś zwiększyć swój Linux-foo przed tym poziomem obaw.alias k=/usr/bin/sudo -k
wymienićsudo
polecenie z funkcją alias lub bash, który owija wezwanie do/usr/bin/sudo
z/usr/bin/touch $HOME/tmp/$$/sudotime
, i wreszcie, coś dodać do print $ {{czasu (teraz) - czas ($ HOME / tmp / $ $ / sudotime))) w wierszu polecenia Bash. Nie trywialne, ale jeśli to sprawi, że poczujesz się dobrze, idź na całość.sudo
z aliasem dowolnego losowego słowa, mogą one/usr/bin/sudo
zamiast tego pisaćsudo
i nadal działałyby tak, jak sudo :(. W każdym razie podoba mi się ten pomysł .. Zastanawiam się, czy zmienię rzeczywiste,/usr/bin/sudo
to złamie coś innego niż wszystkie moje skrypty, które go używają .. nawet jeśli to zrobię, mogą, czytając skrypty, odgadnąć, czym stało się sudo ..