Mam skrypt, który chcę uruchomić tuż po uwierzytelnieniu logowania użytkownika. Aby to osiągnąć, dodałem nazwę skryptu w pliku /etc/rc5.d/S##rc.local
. Ale później dowiedziałem się, że wszystko, co jest dodane w pliku rc.local, zostaje wykonane w czasie rozruchu systemu, a nie po uwierzytelnieniu logowania. Czy ktoś może mi powiedzieć, jak uruchomić skrypt po uwierzytelnieniu użytkownika?Jak uruchomić skrypt po uwierzytelnieniu logowania użytkownika w Linuksie
Odpowiedz
warto dodać to do Twojego /etc/pam.d/login
:
session optional pam_exec.so /bin/bash /path/to/your/script.sh
Trzeba będzie sprawdzić w skrypcie jeśli bieżący użytkownik jest rzeczywiście administrator (według cokolwiek twoje kryteria bycia administratorem są).
Witaj Lanzz, dodałem to w skrypcie /etc/pam.d/login. Ale nie można uzyskać exceuted mój skrypt ... – user976754
'pam_exec' najwyraźniej nie wyświetla swoich danych wyjściowych na terminalu, w którym zalogowany jest użytkownik. Czy chcesz wyświetlić coś w swoim skrypcie lub po prostu wykonać coś w tle (np. Wysłać powiadomienie)? Możesz dodać plik dziennika, w którym będą zapisywane dane wyjściowe skryptu: 'sesja opcjonalna pam_exec.so log =/path/to/logfile/bin/bash/path/to/your/script.sh' – lanzz
Znalazłem tę linię jako moją '/ etc/pam.d/login'. Myślę, że to jest powód, dla którego uname jest drukowane, gdy ssh do machiine: 'sesja opcjonalna pam_exec.so typ = open_session stdout/bin/uname -snrvm' – Nope
Można również dodać skrypt do folderu /etc/profile.d
.
Więcej informacji na ten temat: here i here.
Zasadniczo powinieneś nadać skryptowi rozszerzenie .sh, ponieważ wszystkie te pliki są wykonywane w pętli po zalogowaniu użytkownika.
To działało naprawdę. Dzięki :) – user976754
@ user976754: Cieszę się, że ci pomogło. Proszę oznaczyć moją odpowiedź jako zaakceptowaną odpowiedź na to pytanie :) – woohoo
Wygląda na to, że musisz mieć uprawnienia roota do tworzenia plików w /etc/profile.d Jak ten plik zostanie wykonany, gdy użytkownik się zaloguje? Ponieważ plik będzie własnością root. – ams
- 1. Passport.js: jak uzyskać dostęp do obiektu użytkownika po uwierzytelnieniu?
- 2. Ustaw domyślne nagłówki $ httpProvider po uwierzytelnieniu użytkownika
- 3. Firebase - Jak zapisywać/czytać dane na użytkownika po uwierzytelnieniu
- 4. Jak uruchomić skrypt bash po git push
- 5. Jak uruchomić skrypt wsadowy po zakończeniu instalacji?
- 6. Passport.js + Express.js przekazuje użytkownika do pierwotnego miejsca docelowego po uwierzytelnieniu
- 7. Jak się wylogować z Google po uwierzytelnieniu
- 8. Skompiluj skrypt Pythona w Linuksie
- 9. Jak uruchomić skrypt z Roslyn w Podglądzie użytkownika końcowego
- 10. Uzyskaj nazwę użytkownika na Twitterze po uwierzytelnieniu oauth
- 11. .NET CLI, jak uruchomić aplikację po publikuje na Linuksie
- 12. Kompozytor nie można uruchomić po zainstalowaniu skrypt
- 13. 403 - Odmowa dostępu po uwierzytelnieniu
- 14. Przekierowanie do żądanej strony po uwierzytelnieniu
- 15. Symfony2, przełącz się na HTTPS po uwierzytelnieniu
- 16. uruchamia skrypt po dodaniu nowego interfejsu użytkownika
- 17. Jak uruchomić skrypt w określonym punkcie Powershell
- 18. Jak uruchomić ten skrypt po ponownym załadowaniu karty (rozszerzenie chrome)?
- 19. Jak uruchomić skrypt SQL Plus w PowerShell
- 20. Jenkins nie udało się uruchomić w Linuksie
- 21. Jak zmienić dane logowania użytkownika w Subclipse?
- 22. Jak uruchomić groovy skrypt w java?
- 23. Jak uruchomić skrypt Julii w Atomie
- 24. Ajax do PHP Skrypt logowania Bezpieczne
- 25. Uzyskaj nazwę użytkownika logowania w java
- 26. Jak uruchomić skrypt powłoki jako root (sudo)?
- 27. Logowanie xmpp kończy się niepowodzeniem po uwierzytelnieniu
- 28. Jak uruchomić skrypt unixowy co 15 sekund?
- 29. Jak zrobić jar w Linuksie?
- 30. Więzienie użytkownika do programu GUI w Linuksie
Czy robisz to dla wygody lub dla bezpieczeństwa? To znaczy. czy chcesz tylko skonfigurować swoje środowisko logowania (dodać aliasy, ustawić zmienne itp.), czy chcesz, aby twój skrypt działał po każdym logowaniu, nie pozwalając użytkownikom na jego usunięcie? – lanzz
Dla celów bezpieczeństwa. Właściwie chcę uruchomić skrypt za każdym razem, gdy administrator loguje się do systemu. – user976754
jeśli którakolwiek z poniższych odpowiedzi Ci pomogła, zaznacz je jako zaakceptowane. dzięki. – woohoo