man/security_and_auth
man · Güvenlik & Kimlik

$ security

Bölüm 1 · Güvenlik & Kimlik

Anahtarlıklara (keychain) ve Security çerçevesine (Security framework) komut satırı arayüzü

Özet

     security [-hilqv] [-p prompt] [command] [command_options] [command_args]

Açıklama

Anahtarlıkları yönetmenize, anahtarları ve sertifikaları işlemenize ve Security çerçevesinin yapabildiği hemen hemen her şeyi komut satırından yapmanıza olanak tanıyan basit bir komut satırı arayüzüdür.

Varsayılan olarak security, sağlanan komutu yürütecek ve bir şeyler ters giderse bunu bildirecektir.

-i veya -p seçenekleri sağlanırsa, security etkileşimli moda girecek ve kullanıcının stdin üzerinden birden fazla komut girmesine izin verecektir. stdin'den EOF (dosya sonu) okunduğunda security sonlandırılacaktır.

Kullanılabilir seçeneklerin tam listesi aşağıdadır:

  • -h: Hiçbir argüman belirtilmemişse tüm komutların bir listesini gösterir. Argümanlar sağlanmışsa belirtilen komutların her biri için kullanımı gösterir. Bu seçenek temel olarak help komutu ile aynıdır.

  • -i: security komutunu etkileşimli modda çalıştırır. Bir komut istemi (varsayılan olarak security>) görüntülenecek ve kullanıcı bir EOF ile karşılaşılana kadar stdin üzerinden komutlar yazabilecektir.

  • -l: security sonlandırılmadan önce, yürütmüş olduğunuz komut(lar)ın herhangi bir bellek sızıntısına yol açıp açmadığını görmek için kendi üzerinde /usr/bin/leaks -nocontext komutunu çalıştırır.

-p prompt Bu seçenek -i seçeneğini belirtir, ancak varsayılan komut istemini belirtilen argümanla değiştirir.

  • -q: security komutunun daha az ayrıntılı (quiet) çıktı vermesini sağlar.

  • -v: security komutunun daha ayrıntılı (verbose) çıktı vermesini sağlar.

Güvenlik Komutları Özeti

security, Security çerçevesi tarafından sağlanan geniş işlevselliğe erişim sağlamak için her biri genellikle zengin seçeneklere sahip çok çeşitli komutlar (ÖZET bölümündeki command) sunar. Ancak, security komutunun sizin için yararlı olması için her ayrıntıda uzmanlaşmanız gerekmez.

Tüm security komutlarının kısa açıklamaları şunlardır:

help Tüm komutları gösterir veya bir komutun kullanımını görüntüler. list-keychains Anahtarlık arama listesini görüntüler veya üzerinde değişiklik yapar. default-keychain Varsayılan anahtarlığı görüntüler veya ayarlar. login-keychain Oturum açma (login) anahtarlığını görüntüler veya ayarlar. create-keychain Anahtarlık oluşturur. delete-keychain Anahtarlıkları siler ve arama listesinden kaldırır. lock-keychain Belirtilen anahtarlığı kilitler. unlock-keychain Belirtilen anahtarlığı açar. set-keychain-settings Bir anahtarlığın ayarlarını yapılandırır. set-keychain-password Bir anahtarlığın parolasını ayarlar. show-keychain-info Anahtarlığın ayarlarını gösterir. dump-keychain Bir veya daha fazla anahtarlığın içeriğini döker. create-keypair Asimetrik bir anahtar çifti oluşturur. add-generic-password Genel bir parola öğesi ekler. add-internet-password İnternet parolası öğesi ekler. add-certificates Bir anahtarlığa sertifikalar ekler. find-generic-password Genel bir parola öğesi bulur. delete-generic-password Genel bir parola öğesini siler. set-generic-password-partition-list Genel bir parola öğesinin bölüm listesini (partition list) ayarlar. find-internet-password İnternet parolası öğesi bulur. delete-internet-password İnternet parolası öğesini siler. set-internet-password-partition-list Bir internet parolası öğesinin bölüm listesini ayarlar. find-key Anahtarlıkta anahtarları bulur. set-key-partition-list Bir anahtarın bölüm listesini ayarlar. find-certificate Bir sertifika öğesi bulur. find-identity Bir kimlik (sertifika + özel anahtar) bulur. delete-certificate Bir anahtarlıktan sertifika siler. delete-identity Bir anahtarlıktan sertifikayı ve onun özel anahtarını siler. set-identity-preference Bir hizmet için kullanılacak tercih edilen kimliği ayarlar. get-identity-preference Bir hizmet için kullanılacak tercih edilen kimliği alır. create-db DL kullanarak bir veritabanı oluşturur. export Anahtarlıktaki öğeleri dışa aktarır. import Anahtarlığa öğeleri içe aktarır. cms CMS mesajlarını kodlar veya kodunu çözer. install-mds MDS veritabanını kurar (veya yeniden kurar). add-trusted-cert Güvenilen sertifika(lar) ekler. remove-trusted-cert Güvenilen sertifika(lar)ı kaldırır. dump-trust-settings Güven ayarlarının içeriğini görüntüler. user-trust-settings-enable Kullanıcı düzeyindeki güven ayarlarını görüntüler veya yönetir. trust-settings-export Güven ayarlarını dışa aktarır. trust-settings-import Güven ayarlarını içe aktarır. verify-cert Sertifika(lar)ı doğrular. authorize Yetkilendirme işlemlerini gerçekleştirir. authorizationdb Yetkilendirme politikası veritabanında değişiklikler yapar. execute-with-privileges Aracı ayrıcalıklarla yürütür. leaks Bu süreçte /usr/bin/leaks komutunu çalıştırır. smartcards Devre dışı bırakılmış akıllı kart belirteçlerini etkinleştirir, devre dışı bırakır veya listeler. list-smartcards Mevcut akıllı kartları görüntüler. export-smartcard Bir akıllı karttaki öğeleri dışa aktarır/görüntüler. error Verilen hata kod(lar)ı için açıklayıcı bir mesaj görüntüler.

Ortak Komut Seçenekleri

Bu bölüm, çoğu security komutunda ortak olarak kullanılabilen command_options seçeneklerini açıklar.

  • -h: Belirtilen komut için bir kullanım mesajı gösterir. Bu seçenek temel olarak help komutu ile aynıdır.

Güvenlik Komutları

İşte (nihayet) tüm security komutlarının detayları ve her birinin kabul ettiği seçenekler.

help Tüm komutları gösterir veya bir komutun kullanımını görüntüler.

list-keychains [-h] [-d user|system|common|dynamic] [-s [keychain...]] Anahtarlık arama listesini görüntüler veya üzerinde değişiklik yapar.

-d user|system|common|dynamic Belirtilen tercih alanını (preference domain) kullanır.

  • -s: Arama listesini belirtilen anahtarlıklar olarak ayarlar.

default-keychain [-h] [-d user|system|common|dynamic] [-s [keychain]] Varsayılan anahtarlığı görüntüler veya ayarlar.

-d user|system|common|dynamic Belirtilen tercih alanını kullanır.

  • -s: Varsayılan anahtarlığı belirtilen anahtarlık olarak ayarlar. Hiçbir anahtarlık belirtilmemişse ayarı kaldırır.

login-keychain [-h] [-d user|system|common|dynamic] [-s [keychain]] Oturum açma (login) anahtarlığını görüntüler veya ayarlar.

-d user|system|common|dynamic Belirtilen tercih alanını kullanır.

  • -s: Oturum açma anahtarlığını belirtilen anahtarlık olarak ayarlar. Hiçbir anahtarlık belirtilmemişse ayarı kaldırır.

create-keychain [-hP] [-p password] [keychain...] Anahtarlıklar oluşturur.

  • -P: SecurityAgent kullanarak kullanıcıdan bir parola girmesini ister.
  • -p password: Oluşturulacak anahtarlıkların parolası olarak belirtilen parolayı kullanır.

-P veya -p parola seçeneklerinden hiçbiri belirtilmemişse, kullanıcıdan komut satırında bir parola istenir. -p seçeneğinin kullanılması güvensizdir.

delete-keychain [-h] [keychain...] Anahtarlıkları siler ve arama listesinden kaldırır.

lock-keychain [-h] [-a|keychain] Anahtarlığı veya hiçbir şey belirtilmemişse varsayılan anahtarlığı kilitler. Eğer -a seçeneği belirtilirse tüm anahtarlıklar kilitlenir.

unlock-keychain [-hu] [-p password] [keychain] Anahtarlığı veya hiçbir şey belirtilmemişse varsayılan anahtarlığı açar.

set-keychain-settings [-hlu] [-t timeout] [keychain] Anahtarlık ayarlarını veya hiçbir şey belirtilmemişse varsayılan anahtarlık ayarlarını yapılandırır.

  • -l: Sistem uyku moduna geçtiğinde anahtarlığı kilitler.
  • -u: Zaman aşımı süresinden sonra anahtarlığı kilitler.
  • -t timeout: Saniye cinsinden zaman aşımı süresini belirtir (bu seçeneğin atlanması "zaman aşımı yok" anlamına gelir).

set-keychain-password [-h] [-o oldPassword] [-p newPassword] [keychain] Anahtarlığın parolasını veya hiçbir şey belirtilmemişse varsayılan anahtarlığın parolasını ayarlar.

  • -o oldPassword: Eski anahtarlık parolası (sağlanmazsa sorulur)
  • -p newPassword: Yeni anahtarlık parolası (sağlanmazsa sorulur)

show-keychain-info [keychain] Anahtarlığın ayarlarını gösterir.

dump-keychain [-adhir] [keychain...] Bir veya daha fazla anahtarlığın içeriğini döker.

  • -a: Öğelerin erişim kontrol listesini (access control list) döker
  • -d: Öğelerin (şifresi çözülmüş) verilerini döker
  • -i: Etkileşimli erişim kontrol listesi düzenleme modu
  • -r: Öğelerin ham (şifrelenmiş) verilerini döker

create-keypair [-h] [-a alg] [-s size] [-f date] [-t date] [-d days] [-k keychain] [-A|-T appPath] [description] Asimetrik bir anahtar çifti oluşturur.

  • -a alg: Algoritma olarak alg parametresini kullanır; rsa, dh, dsa veya fee olabilir (varsayılan rsa)
  • -s size: Bit cinsinden anahtar boyutunu belirtir (varsayılan 512)
  • -f date: Bir anahtarı belirtilen tarihten itibaren geçerli kılar (örnek: "13/11/10 15:30")
  • -t date: Bir anahtarı belirtilen tarihe kadar geçerli kılar
  • -d days: Bir anahtarı bugünden itibaren belirtilen gün sayısı kadar geçerli kılar
  • -k keychain: Varsayılan yerine belirtilen anahtarlığı kullanır
  • -A: Herhangi bir uygulamanın bu anahtara uyarı olmaksızın erişmesine izin verir (güvensizdir, önerilmez!)
  • -T appPath: Bu anahtara erişebilecek bir uygulama belirtir (birden fazla -T seçeneğine izin verilir)

add-generic-password [-h] [-a account] [-s service] [-w password] [options...] [-A|-T appPath] [keychain] Genel bir parola öğesi ekler.

  • -a account: Hesap adını belirtir (gerekli)
  • -c creator: Öğe oluşturucusunu belirtir (isteğe bağlı dört karakterli kod)
  • -C type: Öğe türünü belirtir (isteğe bağlı dört karakterli kod)
  • -D kind: Türü belirtir (varsayılan "uygulama parolası"dır)
  • -G value: Genel öznitelik değerini belirtir (isteğe bağlı)
  • -j comment: Yorum dizesini belirtir (isteğe bağlı)
  • -l label: Etiketi belirtir (atlanırsa, varsayılan etiket olarak hizmet adı kullanılır)
  • -s service: Hizmet adını belirtir (gerekli)
  • -p password: Eklenecek parolayı belirtir (eski seçenek, -w ile eşdeğerdir)
  • -w password: Eklenecek parolayı belirtir. Parolanın sorulması için komutun sonuna koyun (önerilir)
  • -A: Herhangi bir uygulamanın bu öğeye uyarı olmaksızın erişmesine izin verir (güvensizdir, önerilmez!)
  • -T appPath: Bu öğeye erişebilecek bir uygulama belirtir (birden fazla -T seçeneğine izin verilir)
  • -U: Öğe zaten mevcutsa günceller (atlanırsa, öğe zaten mevcut olamaz)
  • -X password: Eklenecek parola verisini onaltılık (hexadecimal) bir dize olarak belirtir

Varsayılan olarak, bir öğeyi oluşturan uygulamaya, uyarı olmaksızın verilerine erişmesi için güvenilir. Boş bir uygulama yolu belirterek bu varsayılan erişimi kaldırabilirsiniz: -T "". Eğer hiçbir anahtarlık belirtilmemişse, parola varsayılan anahtarlığa eklenir.

add-internet-password [-h] [-a account] [-s server] [-w password] [options...] [-A|-T appPath] [keychain] Bir internet parolası öğesi ekler.

  • -a account: Hesap adını belirtir (gerekli)
  • -c creator: Öğe oluşturucusunu belirtir (isteğe bağlı dört karakterli kod)
  • -C type: Öğe türünü belirtir (isteğe bağlı dört karakterli kod)
  • -d domain: Güvenlik alanı (security domain) dizesini belirtir (isteğe bağlı)
  • -D kind: Türü belirtir (varsayılan "uygulama parolası"dır)
  • -j comment: Yorum dizesini belirtir (isteğe bağlı)
  • -l label: Etiketi belirtir (atlanırsa, varsayılan etiket olarak hizmet adı kullanılır)
  • -p path: Yol dizesini belirtir (isteğe bağlı)
  • -P port: Bağlantı noktası (port) numarasını belirtir (isteğe bağlı)
  • -r protocol: Protokolü belirtir (isteğe bağlı dört karakterli SecProtocolType, örn. "http", "ftp ")
  • -s server: Sunucu adını belirtir (gerekli)
  • -t authenticationType Belirtilen kimlik doğrulama türünü kullanır (dört karakterli SecAuthenticationType olarak, varsayılan "dflt"dir)
  • -w password: Eklenecek parolayı belirtir. Parolanın sorulması için komutun sonuna koyun (önerilir)
  • -A: Herhangi bir uygulamanın bu öğeye uyarı olmaksızın erişmesine izin verir (güvensizdir, önerilmez!)
  • -T appPath: Bu öğeye erişebilecek bir uygulama belirtir (birden fazla -T seçeneğine izin verilir)
  • -U: Öğe zaten mevcutsa günceller (atlanırsa, öğe zaten mevcut olamaz)
  • -X password: Eklenecek parola verisini onaltılık bir dize olarak belirtir

Varsayılan olarak, bir öğeyi oluşturan uygulamaya, uyarı olmaksızın verilerine erişmesi için güvenilir. Boş bir uygulama yolu belirterek bu varsayılan erişimi kaldırabilirsiniz: -T "". Eğer hiçbir anahtarlık belirtilmemişse, parola varsayılan anahtarlığa eklenir.

add-certificates [-h] [-k keychain] file... Belirtilen dosyalarda bulunan sertifikaları varsayılan anahtarlığa ekler. Dosyaların her biri bir adet DER kodlu X509 sertifikası içermelidir.

  • -k keychain: Varsayılan anahtarlık yerine belirtilen anahtarlığı kullanır.

find-generic-password [-h] [-a account] [-s service] [options...] [-g] [keychain...] Genel bir parola öğesi bulur.

  • -a account: Hesap dizesiyle eşleşir
  • -c creator: Oluşturucuyla eşleşir (dört karakterli kod)
  • -C type: Türle eşleşir (dört karakterli kod)
  • -D kind: Tür dizesiyle eşleşir
  • -G value: Değer dizesiyle eşleşir (genel öznitelik)
  • -j comment: Yorum dizesiyle eşleşir
  • -l label: Etiket dizesiyle eşleşir
  • -s service: Hizmet dizesiyle eşleşir
  • -g: Bulunan öğenin parolasını görüntüler
  • -w: Bulunan öğenin (yalnızca) parolasını görüntüler

delete-generic-password [-h] [-a account] [-s service] [options...] [keychain...] Genel bir parola öğesini siler.

  • -a account: Hesap dizesiyle eşleşir
  • -c creator: Oluşturucuyla eşleşir (dört karakterli kod)
  • -C type: Türle eşleşir (dört karakterli kod)
  • -D kind: Tür dizesiyle eşleşir
  • -G value: Değer dizesiyle eşleşir (genel öznitelik)
  • -j comment: Yorum dizesiyle eşleşir
  • -l label: Etiket dizesiyle eşleşir
  • -s service: Hizmet dizesiyle eşleşir

delete-internet-password [-h] [-a account] [-s server] [options...] [keychain...] Bir internet parolası öğesini siler.

  • -a account: Hesap dizesiyle eşleşir
  • -c creator: Oluşturucuyla eşleşir (dört karakterli kod)
  • -C type: Türle eşleşir (dört karakterli kod)
  • -d securityDomain Güvenlik alanı (securityDomain) dizesiyle eşleşir
  • -D kind: Tür dizesiyle eşleşir
  • -j comment: Yorum dizesiyle eşleşir
  • -l label: Etiket dizesiyle eşleşir
  • -p path: Yol dizesiyle eşleşir
  • -P port: Bağlantı noktası (port) numarasıyla eşleşir
  • -r protocol: Protokolle eşleşir (dört karakterli kod)
  • -s server: Sunucu dizesiyle eşleşir
  • -t authenticationType Kimlik doğrulama türüyle (dört karakterli kod) eşleşir

find-internet-password [-h] [-a account] [-s server] [options...] [-g] [keychain...] Bir internet parolası öğesi bulur.

  • -a account: Hesap dizesiyle eşleşir
  • -c creator: Oluşturucuyla eşleşir (dört karakterli kod)
  • -C type: Türle eşleşir (dört karakterli kod)
  • -d securityDomain Güvenlik alanı (securityDomain) dizesiyle eşleşir
  • -D kind: Tür dizesiyle eşleşir
  • -j comment: Yorum dizesiyle eşleşir
  • -l label: Etiket dizesiyle eşleşir
  • -p path: Yol dizesiyle eşleşir
  • -P port: Bağlantı noktası (port) numarasıyla eşleşir
  • -r protocol: Protokolle eşleşir (dört karakterli kod)
  • -s server: Sunucu dizesiyle eşleşir
  • -t authenticationType Kimlik doğrulama türüyle (dört karakterli kod) eşleşir
  • -g: Bulunan öğenin parolasını görüntüler
  • -w: Bulunan öğenin (yalnızca) parolasını görüntüler

find-key [options...] [keychain...] Anahtarlıkta anahtar arar.

-a application-label "Uygulama etiketi" (application label) dizesiyle eşleşir

  • -c creator: Oluşturucuyla eşleşir (dört karakterli kod)
  • -d: Şifre çözebilen (decrypt) anahtarlarla eşleşir
  • -D description: "Açıklama" (description) dizesiyle eşleşir
  • -e: Şifreleyebilen (encrypt) anahtarlarla eşleşir
  • -j comment: Yorum dizesiyle eşleşir
  • -l label: Etiket dizesiyle eşleşir
  • -r: Türetebilen (derive) anahtarlarla eşleşir
  • -s: İmzalayabilen (sign) anahtarlarla eşleşir
  • -t type: Bulunacak anahtarın türü: "symmetric", "public" veya "private" değerlerinden biri
  • -u: Açabilen (unwrap) anahtarlarla eşleşir
  • -v: Doğrulayabilen (verify) anahtarlarla eşleşir
  • -w: Sarabilen (wrap) anahtarlarla eşleşir

set-generic-password-partition-list [-a account] [-s service] [-S partition-list] [-k password] [options...] [keychain] Genel bir parola için "bölüm listesini" (partition list) ayarlar. "Bölüm listesi", ACL (Erişim Kontrol Listesi) içinde, bir uygulamanın kod imzasına göre öğeye erişimi sınırlayan ek bir parametredir. Bölüm listesini değiştirmek için anahtarlığın parolasını sunmanız gerekir.

-S partition-list Virgülle ayrılmış bölüm listesi. Örnekler için "security dump-keychain" çıktısına bakın.

  • -k password: Anahtarlık parolası (kullanımdan kaldırılmıştır)
  • -a account: Hesap dizesiyle eşleşir
  • -c creator: Oluşturucuyla eşleşir (dört karakterli kod)
  • -C type: Türle eşleşir (dört karakterli kod)
  • -D kind: Tür dizesiyle eşleşir
  • -G value: Değer dizesiyle eşleşir (genel öznitelik)
  • -j comment: Yorum dizesiyle eşleşir
  • -l label: Etiket dizesiyle eşleşir
  • -s service: Hizmet dizesiyle eşleşir

set-internet-password-partition-list [-a account] [-s server] [-S partition-list] [-k password] [options...] [keychain] Bir internet parolası için "bölüm listesini" ayarlar. "Bölüm listesi", ACL içinde, bir uygulamanın kod imzasına göre öğeye erişimi sınırlayan ek bir parametredir. Bölüm listesini değiştirmek için anahtarlığın parolasını sunmanız gerekir.

-S partition-list Virgülle ayrılmış bölüm listesi. Örnekler için "security dump-keychain" çıktısına bakın.

  • -k password: Anahtarlık parolası (kullanımdan kaldırılmıştır)
  • -a account: Hesap dizesiyle eşleşir
  • -c creator: Oluşturucuyla eşleşir (dört karakterli kod)
  • -C type: Türle eşleşir (dört karakterli kod)
  • -d securityDomain Güvenlik alanı (securityDomain) dizesiyle eşleşir
  • -D kind: Tür dizesiyle eşleşir
  • -j comment: Yorum dizesiyle eşleşir
  • -l label: Etiket dizesiyle eşleşir
  • -p path: Yol dizesiyle eşleşir
  • -P port: Bağlantı noktası (port) numarasıyla eşleşir
  • -r protocol: Protokolle eşleşir (dört karakterli kod)
  • -s server: Sunucu dizesiyle eşleşir
  • -t authenticationType Kimlik doğrulama türüyle (dört karakterli kod) eşleşir

set-key-partition-list [-S partition-list] [-k password] [options...] [keychain] Bir anahtar için "bölüm listesini" ayarlar. "Bölüm listesi", ACL içinde, bir uygulamanın kod imzasına göre anahtara erişimi sınırlayan ek bir parametredir. Bölüm listesini değiştirmek için anahtarlığın parolasını sunmanız gerekir. Anahtar ile /usr/bin/codesign çalıştırmak istiyorsanız, bölüm listesinin bir öğesi "apple:" olmalıdır.

-S partition-list Virgülle ayrılmış bölüm listesi. Örnekler için "security dump-keychain" çıktısına bakın.

  • -k password: Anahtarlık parolası (kullanımdan kaldırılmıştır) -a application-label "Uygulama etiketi" (application label) dizesiyle eşleşir
  • -c creator: Oluşturucuyla eşleşir (dört karakterli kod)
  • -d: Şifre çözebilen (decrypt) anahtarlarla eşleşir
  • -D description: "Açıklama" (description) dizesiyle eşleşir
  • -e: Şifreleyebilen (encrypt) anahtarlarla eşleşir
  • -j comment: Yorum dizesiyle eşleşir
  • -l label: Etiket dizesiyle eşleşir
  • -r: Türetebilen (derive) anahtarlarla eşleşir
  • -s: İmzalayabilen (sign) anahtarlarla eşleşir
  • -t type: Bulunacak anahtarın türü: "symmetric", "public" veya "private" değerlerinden biri
  • -u: Açabilen (unwrap) anahtarlarla eşleşir
  • -v: Doğrulayabilen (verify) anahtarlarla eşleşir
  • -w: Sarabilen (wrap) anahtarlarla eşleşir

find-certificate [-h] [-a] [-c name] [-e emailAddress] [-m] [-p] [-Z] [keychain...] Bir sertifika öğesi bulur. Herhangi bir anahtarlık argümanı sağlanmazsa, varsayılan arama listesi kullanılır.

Seçenekler:

  • -a: Yalnızca ilkini değil, eşleşen tüm sertifikaları bulur
  • -c name: Arama yaparken ada göre eşleştirir (isteğe bağlı) -e emailAddress Arama yaparken emailAddress (e-posta adresi) bilgisine göre eşleştirir (isteğe bağlı)
  • -m: Sertifikadaki e-posta adreslerini gösterir
  • -p: Sertifikayı PEM biçiminde çıktı olarak verir. Varsayılan davranış, sertifikanın içinde bulunduğu anahtarlığı ve öznitelikleri dökmektir.
  • -Z: Sertifikanın SHA-256 (ve SHA-1) karmasını (hash) yazdırır

Örnekler

security> find-certificate -a -p > allcerts.pem Tüm anahtarlıklardaki tüm sertifikaları allcerts.pem adında bir PEM dosyasına aktarır.

security> find-certificate -a -e me@foo.com -p > certs.pem Tüm anahtarlıklardan me@foo.com e-posta adresine sahip tüm sertifikaları certs.pem adında bir PEM dosyasına aktarır.

security> find-certificate -a -c MyName -Z login.keychain | grep ^SHA-256 'login.keychain' içindeki ortak adı (common name) 'MyName' içeren her sertifikanın SHA-256 karmasını yazdırır

find-identity [-h] [-p policy] [-s string] [-v] [keychain...] Belirli bir politikayı karşılayan bir kimliği (sertifika + özel anahtar) bulur. Herhangi bir politika argümanı sağlanmazsa, X.509 temel politikası (basic policy) varsayılır. Herhangi bir anahtarlık argümanı sağlanmazsa, varsayılan arama listesi kullanılır.

Seçenekler:

  • -p policy: Değerlendirilecek politikayı belirtir (birden fazla -p seçeneğine izin verilir). Desteklenen politikalar: basic, ssl-client, ssl-server, smime, eap, ipsec, ichat, codesigning, sys-default, sys-kerberos-kdc
  • -s string: İsteğe bağlı olarak politikaya özel dize belirtir (örneğin SSL için bir DNS ana bilgisayar adı veya S/MIME için RFC822 e-posta adresi)
  • -v: Yalnızca geçerli kimlikleri gösterir (varsayılan, tüm kimlikleri göstermektir)

Örnekler

security> find-identity -v -p ssl-client SSL istemci kimlik doğrulaması için kullanılabilecek geçerli kimlikleri görüntüler

security> find-identity -p ssl-server -s www.domain.com 'www.domain.com' ana bilgisayarında çalışan bir SSL sunucusu için kimlikleri görüntüler

security> find-identity -p smime -s user@domain.com 'user@domain.com' adresinden gönderilen bir mesajı imzalamak için kullanılabilecek kimlikleri görüntüler

delete-certificate [-h] [-c name] [-Z hash] [-t] [keychain...] Bir anahtarlıktan bir sertifikayı siler. Herhangi bir anahtarlık argümanı sağlanmazsa, varsayılan arama listesi kullanılır.

  • -c name: Silinecek sertifikayı ortak adına (common name) göre belirtir
  • -Z hash: Silinecek sertifikayı SHA-256 (veya SHA-1) karmasına (hash) göre belirtir
  • -t: Bu sertifika için kullanıcı güven ayarlarını da siler

Silinecek sertifika, konusunun ortak adında (common name) bulunan bir dizeyle veya SHA-256 (ya da SHA-1) karmasıyla (hash) benzersiz şekilde belirtilmelidir.

delete-identity [-h] [-c name] [-Z hash] [-t] [keychain...] Bir anahtarlıktan (keychain) bir sertifikayı ve onun özel anahtarını siler. Herhangi bir anahtarlık argümanı sağlanmazsa varsayılan arama listesi kullanılır.

  • -c name: Silinecek sertifikayı ortak adına (common name) göre belirtir
  • -Z hash: Silinecek sertifikayı SHA-256 (veya SHA-1) karmasına göre belirtir
  • -t: Bu kimlik sertifikası için kullanıcı güven ayarlarını da siler

Silinecek kimlik, konusunun ortak adında (common name) bulunan bir dizeyle veya SHA-256 (ya da SHA-1) karmasıyla benzersiz şekilde belirtilmelidir.

set-identity-preference [-h] [-n] [-c identity] [-s service] [-u keyUsage] [-Z hash] [keychain...] Bir hizmet için kullanılacak tercih edilen kimliği ayarlar.

  • -n: Hiçbir kimlik belirtmez (verilen hizmet için mevcut tercihi temizler)
  • -c identity: Kimliği sertifikanın ortak adına göre belirtir
  • -s service: Bu kimliğin tercih edileceği hizmeti belirtir (bir URL, RFC822 e-posta adresi, DNS sunucusu veya başka bir ad olabilir)
  • -u keyUsage: Anahtar kullanımını belirtir (isteğe bağlı)
  • -Z hash: Kimliği sertifikanın SHA-256 (veya SHA-1) karmasına göre belirtir (isteğe bağlı)

Kimlik, belirtilen anahtarlıklar içinde ortak adı verilen kimlik dizesini içeren bir sertifika aranarak bulunur. Arama yapılacak hiçbir anahtarlık belirtilmezse varsayılan arama listesi kullanılır. Bireysel anahtar kullanımları için farklı kimlik tercihleri ayarlanabilir. Aynı dizeyi içeren iki kimliği, ada ek olarak veya ad yerine sertifikanın SHA-256 (veya SHA-1) karmasını sağlayarak ayırt edebilirsiniz.

KISMI YOLLAR VE JOKER KARAKTERLER

10.5.4'ten önce, SSL/TLS istemci kimlik doğrulaması için kimlik tercihleri yalnızca URL bazında ayarlanabiliyordu. Tercihin geçerli olabilmesi için ziyaret edilen URL'nin hizmet adıyla tam olarak eşleşmesi gerekiyordu.

10.5.4 sürümünde, aynı sunucudaki daha özel yollarla eşleşmesi için kısmi yol URL'sine sahip bir hizmet adı kullanarak kimlik tercihlerini sunucu bazında belirtmek mümkün hale geldi. Örneğin, "https://www.apache-ssl.org/" için bir kimlik tercihi mevcutsa, bu tercih "https://www.apache-ssl.org/cgi/cert-export" vb. için geçerli olacaktır. Kısmi yol URL'lerinin eğik çizgi karakteri (/) ile bitmesi gerektiğini unutmayın.

10.6'dan başlayarak, hizmet adının en solundaki bileşen olarak '' joker karakterini kullanarak etki alanı (domain) bazında kimlik tercihleri belirtmek mümkündür. SSL joker karakterlerinin aksine, bir kimlik tercihi joker karakteri birden fazla alt etki alanıyla (subdomain) eşleşebilir. Örneğin, ".army.mil" adı için bir kimlik tercihi "server1.subdomain1.army.mil" veya "server2.subdomain2.army.mil" ile eşleşecektir. Benzer şekilde, "*.mil" tercihi hem "server.army.mil" hem de "server.navy.mil" ile eşleşecektir.

ANAHTAR KULLANIM KODLARI

0 - tercih olası tüm anahtar kullanımları için geçerlidir (varsayılan) 1 - yalnızca şifreleme (encryption) 2 - yalnızca şifre çözme (decryption) 4 - yalnızca imzalama (signing) 8 - yalnızca imza doğrulama (signature verification) 16 - yalnızca mesaj kurtarma ile imzalama (signing with message recovery) 32 - yalnızca mesaj kurtarma ile imza doğrulama (signature verification with message recovery) 64 - yalnızca anahtar sarma (key wrapping) 128 - yalnızca anahtar açma (key unwrapping) 256 - yalnızca anahtar türetme (key derivation)

Birden fazla kullanım belirtmek için değerleri toplayın.

get-identity-preference [-h] [-s service] [-u keyUsage] [-p] [-c] [-Z] Bir hizmet için kullanılacak tercih edilen kimliği alır.

  • -s service: Hizmeti belirtir (bir URL, RFC822 e-posta adresi, DNS sunucusu veya başka bir ad olabilir)
  • -u keyUsage: Anahtar kullanımını belirtir (isteğe bağlı)
  • -p: Kimlik sertifikasını PEM biçiminde çıktı olarak verir
  • -c: Tercih edilen kimlik sertifikasının ortak adını (common name) yazdırır
  • -Z: Tercih edilen kimlik sertifikasının SHA-256 (ve SHA-1) karmasını yazdırır

create-db [-aho0] [-g dl|cspdl] [-m mode] [name] DL kullanarak bir veritabanı oluşturur. İsim belirtilmezse security kullanıcıdan bir isim yazmasını isteyecektir.

Seçenekler:

  • -a: Otomatik kaydetmeyi (autocommit) kapatır
  • -g dl|cspdl: AppleDL (varsayılan) veya AppleCspDL kullanır
  • -m mode: Dosya izinlerini mode değerine ayarlar.
  • -o: openparams argümanını kullanmaya zorlar
  • -0: Sürüm 0 openparams kullanmaya zorlar

Örnekler

security> create-db -m 0644 test.db

security> create-db -g cspdl -a test2.db

export [-k keychain] [-t type] [-f format] [-w] [-p] [-P passphrase] [-o outfile] Bir anahtarlıktan bir veya daha fazla öğeyi birkaç harici gösterimden birine aktarır (export). Anahtarlık belirtilmezse öğeler kullanıcının varsayılan anahtarlığından aktarılacaktır.

Seçenekler:

  • -k keychain: Öğelerin aktarılacağı anahtarlığı belirtir.
  • -t type: Aktarılacak öğelerin türünü belirtir. Olası türler certs, allKeys, pubKeys, privKeys, identities ve all şeklindedir. Varsayılan değer all'dur. Bir kimlik (identity), hem bir sertifikadan hem de ilgili özel anahtardan oluşur.
  • -f format: Aktarılan verilerin biçimini belirtir. Olası biçimler openssl, bsafe, pkcs7, pkcs8, pkcs12, x509, openssh1, openssh2 ve pemseq şeklindedir. Birden fazla öğe aktarılıyorsa varsayılan pemseq'tir. Bir anahtar aktarılıyorsa varsayılan openssl'dir. Bir sertifika aktarılıyorsa varsayılan x509'dur.
  • -w: Özel anahtarların dışa aktarılırken sarılacağını (wrapped) belirtir.
  • -p: Çıktı verilerine PEM zırhı (PEM armour) uygulanacağını belirtir.
  • -P passphrase: Sarma parolasını doğrudan belirtir. Varsayılan davranış, grafik arayüz (GUI) aracılığıyla güvenli bir parola elde etmektir.
  • -o outfile: Çıktı verilerini outfile dosyasına yazar. Varsayılan, verileri stdout'a yazmaktır.

Örnekler

security> export -k login.keychain -t certs -o /tmp/certs.pem

security> export -k newcert.keychain -t identities -f pkcs12 -o /tmp/mycerts.p12

import inputfile [-k keychain] [-t type] [-f format] [-w] [-P passphrase] [options...] inputfile dosyasından bir veya daha fazla öğeyi bir anahtarlığa aktarır (import). Anahtarlık belirtilmezse öğeler kullanıcının varsayılan anahtarlığına aktarılacaktır.

Seçenekler:

  • -k keychain: Öğelerin aktarılacağı anahtarlığı belirtir.
  • -t type: Aktarılacak öğelerin türünü belirtir. Olası türler cert, pub, priv, session, cert ve agg şeklindedir. Pub, priv ve session anahtarları ifade eder; agg ise toplu türlerden biridir (pkcs12 ve PEM dizisi). Komut genellikle dosya adı ve/veya öğe biçimine (item_format) dayanarak bir öğenin hangi item_type içerdiğini anlayabilir.
  • -f format: Dışa aktarılan verilerin biçimini belirtir. Olası biçimler openssl, bsafe, raw, pkcs7, pkcs8, pkcs12, x509, openssh1, openssh2 ve pemseq şeklindedir. Komut genellikle dosya adı ve/veya öğe türüne dayanarak bir öğenin hangi biçimde olduğunu anlayabilir.
  • -w: Özel anahtarların sarılı olduğunu ve içe aktarılırken açılması gerektiğini belirtir.
  • -x: Özel anahtarların içe aktarıldıktan sonra dışa ayıklanamaz (non-extractable) olacağını belirtir.
  • -P passphrase: Açma parolasını doğrudan belirtir. Varsayılan davranış, grafik arayüz (GUI) aracılığıyla güvenli bir parola elde etmektir.
  • -a attrName attrValue İsteğe bağlı genişletilmiş öznitelik adını ve değerini belirtir. Birden fazla kez kullanılabilir. Bu yalnızca anahtarlar içe aktarılırken geçerlidir.
  • -A: Herhangi bir uygulamanın uyarı olmaksızın içe aktarılan anahtara erişmesine izin verir (güvensizdir, önerilmez!)
  • -T appPath: İçe aktarılan anahtara erişebilecek bir uygulama belirtir (birden fazla -T seçeneğine izin verilir)

Örnekler

security> import /tmp/certs.pem -k

security> import /tmp/mycerts.p12 -t agg -k newcert.keychain

security> import /tmp/mycerts.p12 -f pkcs12 -k newcert.keychain

cms [-C|-D|-E|-S] [options...] CMS mesajlarını kodlar veya kodunu çözer.

  • -C: Bir CMS şifrelenmiş mesajı oluşturur
  • -D: Bir CMS mesajının kodunu çözer
  • -E: Bir CMS zarflanmış (enveloped) mesajı oluşturur
  • -S: Bir CMS imzalanmış mesajı oluşturur

Kod çözme seçenekleri:

  • -c content: Bu ayrılmış (detached) içerik dosyasını kullanır
  • -h level: CMS mesajı hakkında bilgi içeren e-posta üstbilgileri oluşturur (çıktı düzeyi >= 0)
  • -n: İçeriğin çıktısını bastırır

Kodlama seçenekleri:

  • -r id,...: Virgülle ayrılmış alıcı listesi için zarf oluşturur; buradaki id bir sertifika takma adı (nickname) veya e-posta adresi olabilir
  • -G: Bir imza zamanı özniteliği içerir
  • -H hash: hash = MD2|MD4|MD5|SHA1|SHA256|SHA384|SHA512 (varsayılan: SHA1)
  • -N nick: İmzalama için "nick" adlı sertifikayı kullanır
  • -P: Bir SMIMECapabilities özniteliği içerir
  • -T: CMS mesajına içerik dahil etmez
  • -Y nick: Sertifika ile bir EncryptionKeyPreference özniteliği içerir (atlamak için "NONE" kullanın)
  • -Z hash: Konu anahtar kimliğine (subject key ID) göre bir sertifika bulur

Ortak seçenekler:

  • -e envelope: Zarf dosyasını belirtir (-D veya -E ile geçerlidir)
  • -k keychain: Kullanılacak anahtarlığı belirtir
  • -i infile: Veri kaynağı olarak infile dosyasını kullanır (varsayılan: stdin)
  • -o outfile: Veri hedefi olarak outfile dosyasını kullanır (varsayılan: stdout)
  • -p password: Anahtar veritabanı parolası olarak password değerini kullanır (varsayılan: sorma ekranı)
  • -s: Verileri CMS'ye her seferinde tek bir bayt olarak iletir
  • -u certusage: Sertifika kullanım türünü ayarlar (varsayılan: certUsageEmailSigner)
  • -v: Hata ayıklama bilgilerini yazdırır

Sertifika kullanım kodları: 0 - certUsageSSLClient 1 - certUsageSSLServer 2 - certUsageSSLServerWithStepUp 3 - certUsageSSLCA 4 - certUsageEmailSigner 5 - certUsageEmailRecipient 6 - certUsageObjectSigner 7 - certUsageUserCertImport 8 - certUsageVerifyCA 9 - certUsageProtectedObjectSigner 10 - certUsageStatusResponder 11 - certUsageAnyCA

install-mds Module Directory Services (MDS) veritabanını kurar (veya yeniden kurar). Bu, normalde kullanıcılar tarafından kullanılmayan bir sistem aracıdır. Seçeneği yoktur.

add-trusted-cert [-d] [-r resultType] [-p policy] [-a appPath] [-s policyString] [-e allowedError] [-u keyUsage] [-k keychain] [-i settingsFileIn] [-o settingsFileOut] [certFile] certFile dosyasındaki sertifikayı (DER veya PEM biçiminde) kullanıcı bazlı veya yerel Yönetici Güven Ayarlarına (Admin Trust Settings) ekler. Kullanıcı bazlı Güven Ayarlarını değiştirirken, bir kimlik doğrulama iletişim kutusu aracılığıyla kullanıcı kimlik doğrulaması gerekir. Yönetici Güven Ayarlarını değiştirirken, sürecin root olarak çalışıyor olması gerekir veya yönetici kimlik doğrulaması istenir.

Seçenekler:

  • -d: Yönetici sertifika deposuna ekler; varsayılan kullanıcıdır.
  • -r resultType: resultType = trustRoot|trustAsRoot|deny|unspecified; varsayılan trustRoot'tur.
  • -p policy: Politika kısıtlamasını belirtir (ssl, smime, codeSign, IPSec, basic, swUpdate, pkgSign, eap, macappstore, appleID, timestamping).
  • -a appPath: Uygulama kısıtlamasını belirtir.
  • -s policyString Politikaya özel dizeyi belirtir.
  • -e allowedError İzin verilen hatayı belirtir (sayısal bir değer veya şunlardan biri: certExpired, hostnameMismatch)
  • -u keyUsage: Anahtar kullanımını (bir tamsayı) belirtir.
  • -k keychain: Sertifikanın ekleneceği anahtarlığı belirtir.
  • -i settingsFileIn Girdi güven ayarları dosyası; varsayılan kullanıcı alanıdır (user domain).
  • -o settingsFileOut Çıktı güven ayarları dosyası; varsayılan kullanıcı alanıdır (user domain).

Anahtar kullanım kodları: -1 - Any (Herhangi Biri) 1 - Sign (İmzala) 2 - Encrypt/Decrypt Data (Veriyi Şifrele/Şifresini Çöz) 4 - Encrypt/Decrypt Key (Anahtarı Şifrele/Şifresini Çöz) 8 - Sign certificate (Sertifika imzala) 16 - Sign revocation (Geri almayı imzala) 32 - Key exchange (Anahtar değişimi) Birden fazla kullanım belirtmek için değerleri toplayın (-1 - Any hariç).

Örnekler security> add-trusted-cert /tmp/cert.der security> add-trusted-cert -d .tmp/cert.der

remove-trusted-cert [-d] certFile certFile içindeki sertifikayı (DER veya PEM biçiminde) kullanıcı bazlı veya yerel Yönetici Güven Ayarlarından kaldırır. Kullanıcı bazlı Güven Ayarlarını değiştirirken, bir kimlik doğrulama iletişim kutusu aracılığıyla kullanıcı kimlik doğrulaması gerekir. Yönetici Güven Ayarlarını değiştirirken, sürecin root olarak çalışıyor olması gerekir veya yönetici kimlik doğrulaması istenir.

Seçenekler:

  • -d: Yönetici sertifika deposundan kaldırır; varsayılan kullanıcıdır.

dump-trust-settings [-s] [-d] Güven Ayarlarını görüntüler.

Seçenekler:

  • -s: Güvenilen sistem sertifikalarını görüntüler; varsayılan kullanıcıdır.
  • -d: Güvenilen yönetici sertifikalarını görüntüler; varsayılan kullanıcıdır.

user-trust-settings-enable [-d] [-e] Kullanıcı düzeyindeki Güven Ayarlarını görüntüler veya yönetir. Argümansız kullanıldığında, kullanıcı düzeyindeki Güven Ayarlarının etkinleştirilme durumunu gösterir. Aksi takdirde kullanıcı düzeyindeki Güven Ayarlarını etkinleştirir veya devre dışı bırakır.

Seçenekler:

  • -d: Kullanıcı düzeyindeki Güven Ayarlarını devre dışı bırakır.
  • -e: Kullanıcı düzeyindeki Güven Ayarlarını etkinleştirir.

trust-settings-export [-s] [-d] settings_file Güven Ayarlarını belirtilen dosyaya aktarır.

Seçenekler:

  • -s: Sistem Güven Ayarlarını aktarır; varsayılan kullanıcıdır.
  • -d: Yönetici Güven Ayarlarını aktarır; varsayılan kullanıcıdır.

trust-settings-import [-d] settings_file Güven Ayarlarını belirtilen dosyadan içe aktarır. Kullanıcı bazlı Güven Ayarlarını değiştirirken, bir kimlik doğrulama iletişim kutusu aracılığıyla kullanıcı kimlik doğrulaması gerekir. Yönetici Güven Ayarlarını değiştirirken, sürecin root olarak çalışıyor olması gerekir veya yönetici kimlik doğrulaması istenir.

Seçenekler:

  • -d: Yönetici Güven Ayarlarını içe aktarır; varsayılan kullanıcıdır.

verify-cert [options...] [url] Bir veya daha fazla sertifikayı doğrular. Doğrudan bir URL argümanı sağlanırsa, bir TLS bağlantısı denenirและ o sunucu tarafından sunulan sertifika standart SSL sunucu politikasına göre değerlendirilir; bu durumda diğer sertifikalar veya politika seçenekleri yoksayılır.

Seçenekler:

  • -c certFile: Doğrulanacak sertifika (DER veya PEM biçiminde). Birden fazla kez belirtilebilir; yaprak (leaf) sertifikanın ilk önce belirtilmesi gerekir.
  • -r rootCertFile Kök (root) sertifikası (DER veya PEM biçiminde). Birden fazla kez belirtilebilir. Belirtilmezse sistem çıpa (anchor) sertifikaları kullanılır. Bir kök sertifikası belirtilir ve sıfır (kök olmayan) sertifika belirtilirse, kök sertifikası kendisine karşı doğrulanır.
  • -p policy: Doğrulama politikasını belirtir (ssl, smime, codeSign, IPSec, basic, swUpdate, pkgSign, eap, appleID, macappstore, timestamping). Varsayılan basic'tir.
  • -C: Doğrulama politikası (örneğin ssl) istemci ve sunucu kullanımı arasında ayrım yapıyorsa, bu değerlendirmenin istemci kullanımı için olduğunu belirtir. Varsayılan sunucu kullanımıdır.
  • -d date: Doğrulama için ayarlanacak tarih. YYYY-MM-DD-hh:mm:ss biçiminde belirtilir (saat isteğe bağlıdır). Örneğin GMT saat dilimine göre 25 Nisan 2016 saat 15:59:59 için: 2016-04-25-15:59:59
  • -k keychain: Ara CA sertifikalarını aramak için anahtarlık belirtir. Birden fazla kez belirtilebilir. Varsayılan, mevcut kullanıcının anahtarlık arama listesidir.
  • -n name: Doğrulanacak bir adı belirtir, örneğin ssl politikası için SSL sunucu adı veya smime politikası için RFC822 e-posta adresi. Geriye dönük uyumluluk için, -n seçeneği bir argüman olmadan sağlanırsa -N ile eşdeğer olarak yorumlanacaktır.
  • -N: Herhangi bir anahtarlıkta arama yapılmasını engeller.
  • -L: Yalnızca yerel sertifikaları kullanır. Sertifikayı düzenleyen CA sertifikası eksikse, bu seçenek onu getirmek için ağa erişilmesini engeller.
  • -l: Yaprak sertifikanın bir CA sertifikası olduğunu belirtir. Varsayılan olarak, CA biti ayarlanmış bir Temel Kısıtlamalar (Basic Constraints) uzantısına sahip yaprak sertifika doğrulamadan geçemez.
  • -e emailAddress smime politikası için e-posta adresini belirtir. (This option is deprecated; use -n instead.)
  • -s sslHost: ssl politikası için SSL sunucu adını belirtir. (This option is deprecated; use -n instead.)
  • -q: Sessiz moddur, stdout veya stderr çıktısı vermez.
  • -R revCheckOption Bu değerlendirme için bir geri alma denetimi (revocation checking) seçeneği belirtir (ocsp, require, offline). Birden fazla kez belirtilebilir; örneğin OCSP yöntemiyle geri alma denetimini etkinleştirmek ve olumlu bir yanıt gerektirmek için "-R ocsp -R require" kullanın. Çevrimdışı (offline) seçeneği, önceden önbelleğe alınmış yanıtlara başvuracak ancak bir geri alma sunucusuna istek göndermeyecektir.
  • -P: Oluşturulan sertifika zincirini PEM biçiminde çıktı olarak verir.
  • -t: Sertifika içeriklerini metin olarak çıktı olarak verir.
  • -v: Sertifika başına güven sonuçları dahil olmak üzere ayrıntılı çıktıyı belirtir.

Örnekler

security> verify-cert -c applestore0.cer -c applestore1.cer -p ssl -n store.apple.com

security> verify-cert -r serverbasic.crt

security> verify-cert -v https://www.apple.com

authorize [options...] right... Talep edilen hakları/yetkileri (right) yetkilendirir. extend-rights bayrağı varsayılan olarak iletilecektir.

Seçenekler:

  • -u: Kullanıcı etkileşimine izin verir.
  • -p: Kısmi hakların döndürülmesine izin verir.
  • -d: Edinilen hakları yok eder.
  • -P: Yalnızca hakları önceden yetkilendirir.
  • -l: Yetkilendirmeyi en az ayrıcalıklı modda çalıştırır.
  • -i: stdin üzerinden iletilen authref nesnesini dahili hale verir.
  • -e: authref nesnesini stdout'a harici hale getirir
  • -w: stdout kapatılana kadar AuthorizationRef referansını elinde tutarak bekler. Bu, istemcinin harici hale getirilmiş AuthorizationRef referansını borudan (pipe) okumasına olanak tanır.

Örnekler

security> security authorize -ud my-right my-right yetkisinin temel yetkilendirmesi.

security> security -q authorize -uew my-right | security -q authorize -i my-right Bir hakkı yetkilendirmek ve kabuk betiklerine yetkilendirme eklemenin bir yolu olarak onu başka bir komuta iletmek.

authorizationdb read

authorizationdb write [allow|deny|]

authorizationdb remove Yetkilendirme politikası veritabanını okur/düzenler. Bir kural adı (rulename) olmadan write, stdin'den bir plist olarak bir sözlük okuyacaktır.

Örnekler

security> security authorizationdb read system.privilege.admin > /tmp/aewp-def system.privilege.admin yetkisinin tanımını okur.

security> security authorizationdb write system.preferences < /tmp/aewp-def system.preferences yetkisini system.privilege.admin yetkisinin tanımına ayarlar.

security> security authorizationdb write system.preferences authenticate-admin Tercihlerdeki her değişiklik için bir Yönetici kullanıcının kimlik doğrulaması yapması gerekir.

execute-with-privileges [args...] Aracı ayrıcalıklarla yürütür. Başarı durumunda stdin okunacak ve araca yönlendirilecektir.

leaks [-cycles] [-nocontext] [-nostacks] [-exclude symbol] Bu süreçte /usr/bin/leaks komutunu çalıştırır. Bu, belirli komutları çalıştırdıktan sonra bellek sızıntılarını bulmaya yardımcı olabilir.

Seçenekler:

  • -cycles: Daha katı bir algoritma kullanır (Ayrıntılar için leaks(1) kılavuzuna bakın).
  • -nocontext: Sızan belleğin onaltılık (hex) dökümlerini vermez.
  • -nostacks: Sızan belleğin yığın izlerini (stack traces) göstermez.
  • -exclude symbol symbol işlevinden çağrılan sızıntıları yoksayar.

smartcards token [-l] [-e token] [-d token] Devre dışı bırakılmış akıllı kart belirteçlerini etkinleştirir, devre dışı bırakır veya listeler.

Seçenekler:

  • -l: Devre dışı bırakılmış akıllı kart belirteçlerini listeler.
  • -e token: Akıllı kart belirtecini etkinleştirir.
  • -d token: Akıllı kart belirtecini devre dışı bırakır.

Sistemde mevcut olan belirteçleri listelemek için

pluginkit -m -p com.apple.ctk-tokens

Örnekler

security smartcards token -l security smartcards token -d com.apple.CryptoTokenKit.pivtoken security smartcards token -e com.apple.CryptoTokenKit.pivtoken

list-smartcards Mevcut akıllı kartların kimliklerini (ID) görüntüler.

export-smartcard token [-i id] [-t type] [-e exportPath] Bir akıllı karttaki öğeleri dışa aktarır/görüntüler. Kimlik (id) sağlanmazsa tüm akıllı kartlardaki öğeler görüntülenecektir.

Seçenekler:

  • -i id: Belirteç kimliği (token id) ile belirtilen belirteçteki öğeleri dışa aktarır/görüntüler; kullanılabilir kimlikler list-smartcards komutuyla listelenebilir.
  • -t certs|privKeys|identities|all Belirtilen türdeki öğeleri görüntüler (Varsayılan: all)
  • -e exportPath: Sertifikaları ve ortak anahtarları dışa aktarmak için yolu belirtir. exportPath belirtilirse ekran çıktısı bastırılır. Bu seçenek -t seçeneği ile birleştirilemez.

error [error-code...] Verilen güvenlikle ilgili hata kodu için bir hata dizesi görüntüler. Hata, ondalık veya onaltılık (hex) biçimde olabilir, örneğin 1234 veya 0x1234. Birden fazla hata boşluklarla ayrılabilir.

Çevre

MallocStackLogging leaks komutunu veya -l seçeneğini kullanırken, security başlatılmadan önce bu çevre değişkenini ayarlamak muhtemelen iyi bir fikirdir. Bunun yapılması, leaks komutunun sembolik geri izlemeleri (symbolic backtraces) görüntülemesine olanak tanıyacaktır.

Dosyalar

~/Library/Preferences/com.apple.security.plist

Mevcut kullanıcının varsayılan anahtarlığını ve anahtarlık arama listesini içeren özellik listesi (property list) dosyası.

/Library/Preferences/com.apple.security.plist

Sistem varsayılan anahtarlığını ve anahtarlık arama listesini içeren özellik listesi dosyası. Bu dosya, önyükleme (boot) sırasında başlatılan süreçler veya sistem arka plan programları (system daemons) gibi sistem arama alanını kullanmayı talep eden süreçler tarafından kullanılır.

/Library/Preferences/com.apple.security-common.plist

Her kullanıcının arama listesine ve sistem arama listesine eklenen ortak anahtarlık arama listesini içeren özellik listesi dosyası.

Ayrıca Bakınız

certtool(1), leaks(1), pluginkit(8)

Tarihçe

security komutu ilk kez Mac OS X sürüm 10.3'te sunulmuştur.

Hatalar

security komutunun tamamlanmış sayılabilmesi için hala daha fazla komuta ihtiyacı vardır. Özellikle bir gün hem certtool ve systemkeychain komutlarının yerini almalıdır.