Korzystam z następującego polecenia, aby pobrać hasło z pęku kluczy w skrypcie powłoki: security find-generic-password -w -s "MyServiceName"
Działa, ale pokazuje wyskakujące okienko z prośbą o hasło do pęku kluczy logowania:
security
chce użyć poufnych informacji przechowywanych w „MyServiceName” w pęku kluczy. Aby to zrobić, wprowadź hasło pęku kluczy „login”.Z opcji
Deny
,Allow
lubAlways Allow
Ale nie chcę wprowadzać hasła pęku kluczy za każdym razem, więc nie mogę użyć „Zezwól”, a wolałbym nie „Zawsze zezwalać”, aby zachować tutaj pewien poziom bezpieczeństwa.
Idealnie byłoby zamiast tego uzyskać monit Touch ID. Czy jest na to jakiś sposób?
Odpowiedzi:
Badając to, nie byłem w stanie znaleźć żadnej metody, która pozwoliłaby na
security
użycie Touch ID w poleceniu. Artykuł zatytułowany: Jak używać Touch ID do uwierzytelniania sudo w systemie Mac OS , wspomniany w komentarzu dotyczącym,sudo
a następnie korzystania z Touch ID, nie będzie tu działał, ponieważ korzysta z dodania tej linii:do
sudo
„s plik PAM/etc/pam.d/sudo
.security
Polecenie nie ma nic równoważnego, ponieważ nie korzysta z niegosudo
.Dlatego po uruchomieniu
security
polecenia możesz użyć jednej z 2 metod wymienionych w oknie dialogowym :Jeśli wybierzesz opcję „Zawsze zezwalaj”, dostęp zostanie udzielony na czas nieokreślony tylko dla
security
polecenia. Jeśli wybierzesz „Zezwól”,security
dostęp do pęku kluczy będzie tylko 1 raz.Przykład
Tutaj utworzyłem element hasła aplikacji w pęku kluczy o nazwie TestPassword.
Widzimy, że nic nie uzyskało do niego dostępu, patrząc na kartę ACL tego okna dialogowego.
Jeśli uruchomię to
security
polecenie:I na stałe „Zawsze zezwalaj” otrzymam hasło do tego elementu z pęku kluczy:
Ale co ważniejsze, dodam
security
do listy ACL tego elementu w pęku kluczy.źródło