Les processus d'un utilisateur ou d'un rôle peuvent ne pas s'exécuter avec les attributs de sécurité qui leurs sont affectés pour différentes raisons. Cette procédure aide à résoudre les problèmes lorsque des utilisateurs, des rôles ou des processus ne disposent pas de droits qui leur ont été affectés. Plusieurs étapes sont basées sur la section Ordre de recherche pour Assigned Rights.
Avant de commencer
Vous devez prendre le rôle root. Pour plus d'informations, voir A l'aide de vos droits administratifs attribués.
# svccfg -s name-service/switch svc:/system/name-service/switch> listprop config config application config/value_authorization astring solaris.smf.value.name-service.switch config/default astring files ldap config/host astring "files dns mdns ldap" config/netgroup astring ldap config/printer astring "user files"
Dans cette sortie, tous les services qui ne sont pas explicitement mentionnés héritent de la valeur par défaut, files ldap. Par conséquent, la recherche porte tout d'abord sur passwd et ses bases de données d'attributs apparentées, user_attr, auth_attr et prof_attr dans les fichiers, puis dans LDAP.
Le démon nscd peut présenter un long intervalle de durée de vie. En redémarrant le démon, vous mettez à jour le service de noms avec les données en cours.
# svcadm restart name-service/cache
Par exemple, les commandes suivantes indiquent les attributs de sécurité attribués et le lieu de cette attribution pour l'utilisateur jdoe : Indique que jdoe se voit qu'il n'y ait aucune sortie à l'aide des valeurs par défaut.
% userattr -v access_times jdoe % userattr -v access_tz jdoe % userattr -v auth_profiles jdoe % userattr -v defaultpriv jdoe % userattr -v limitpriv jdoe % userattr -v idlecmd jdoe % userattr -v idletime jdoe % userattr -v lock_after_retries jdoe % userattr -v pam_policy jdoe % userattr -v auths jdoeOutput indicates authorizations from rights profiles Basic Solaris User :solaris.mail.mailq,solaris.network.autoconf.read, solaris.admin.wusb.read Console User :solaris.system.shutdown,solaris.device.cdrw, solaris.device.mount.removable,solaris.smf.manage.vbiosd,solaris.smf.value.vbiosd % userattr -v audit_flags jdoe user_attr: fw:noOutput indicates jdoe is individually assigned audit flags # userattr -v profiles jdoe user_attr: Audit Review,StopOutput indicates two assigned rights profiles # userattr roles jdoe user_attr : cryptomgt,infosecOutput indicates two assigned roles
La sortie indique que des indicateurs d'audit, deux profils de droits et deux rôles sont directement affectés à jdoe. Les autorisations affectées sont à partir de profils de droits par défaut dans le fichier. policy.conf
Etant donnéque les indicateurs d'audit sont directement affectés à jdoe ne pas lancer d'audit les valeurs d'indicateur, les profils de droits d'accès sera utilisée.
Les profils de droits d'accès sont évalués dans l'ordre, tout d'abord le profil Audit Review (vérification d'audit), puis le profil Stop (arrêt).
Pour tous les autres droits sont affectés et jdoe infosec parmi les rôles cryptomgt. Pour visualiser, jdoe devez vous connecter entant qu'ces droits leur étant associés, puis répertoriez les droits.
Si le droit n'est directement affectés à l'utilisateur aux vérifications suivantes, poursuivez en vous reportant à la section.
La source d'une attribution d'autorisation n'est pas importante, car les autorisations s'accumulent pour les utilisateurs. Une autorisation mal orthographiée échoue toutefois discrètement.
Par exemple, certaines commandes requièrent uid=0 plutôt que euid=0 pour s'exécuter correctement. Passez en revue la page de manuel de la commande pour savoir si la commande, ou n'importe lequel de ses options requérir des autorisations.
La valeur de l'attribut dans les premiers profils de droits de la liste est la valeur dans le noyau. Si cette valeur est incorrecte, modifiez-la dans ce profil de droits ou réaffectez les profils dans l'ordre correct. Reportez - vous à la Réorganisation Assigned Rights
Pour les commandes dotées de privilèges, vérifiez que les privilèges ne sont pas supprimés du mot-clé defaultpriv ou limitpriv.
Au fur et à mesure que vous sont identiques à celles de la configuration effectuée pour authentifié vérifie les profils de droits.
Si le droit est affecté à un rôle, l'utilisateur doit endosser le rôle pour obtenir ce droit.
Si le profil, il est préférable d'utiliser celle-ci . L'affecter à l'utilisateur sous forme d'un profil de droits ou régulier authentifié profil de droits. Trier les profil avant les autres profils de droits incluant la commande nécessitant cette autorisation s'exécute correctement.
Affectez le privilège à la commande qui le nécessite, ajoutez les autorisations nécessaires, placez la commande et les autorisations dans un profil de droits, et affectez ce profil à l'utilisateur.
Les commandes d'administration doivent être exécutées dans un shell de profil. Example 7–1comment tester -1 pour un shell de profil.
De façon à minimiser la probabilité de les erreurs de l'utilisateur, vous pouvez essayer l'opération suivante :
Affecter un shell de profil comme shell de connexion d'utilisateur.
Demandez à l'utilisateur de faire précéder tous les commandes privilégiées à l'aide de la commande. pfexec
Rappelez à l'utilisateur d'exécuter les commandes d'administration dans un shell de profil.
Si votre site, rappeler à l'utilisateur à l'aide des rôles pour prendre ce rôle avant d'exécuter des commandes d'administration. Commande pour obtenir un exemple de participants dont la présence a été plutôt que l'exécution en tant que rôle défini en tant qu'utilisateur, reportez-vous à l'Example 7 -3. Example 7–3
Lorsqu'une commande ne fonctionne pas privilégiées et informations d'identification et de l'utilisateur, tests du exécute ensuite ces PRIV_PFEXEC commande indicateur. Indiquer le message d'erreur indiquant que le problème risque de ne pas s'agit d'un privilège problème.
% praudit 20120814200247.20120912213421.example-system praudit: Cannot associate stdin with 20120814200247.20120912213421.example-system: Permission denied % ppriv $$ 107219: bash flags = <none> ... % pfbash # ppriv $$ 1072232: bash flags = PRIV_PFEXEC ... # praudit 20120814200247.20120912213421.example-systemExemple 7-2 Détermination des commandes privilégiées d'un rôle/** Command succeeds **/
Dans cet exemple, un utilisateur endosse un rôle affecté et répertorie les droits compris dans l'un des profils de droits. Mettre en valeur les droits sont tronqués de façon à respecter les commandes.
% roles devadmin % su - devadmin Password: xxxxxxxx # profiles -l Device Security ... profiles=Service Configuration /usr/sbin/add_drv uid=0 /usr/sbin/devfsadm uid=0 privs=sys_devices,sys_config, sys_resource,file_owner, file_chown,file_chown_self, file_dac_read /usr/sbin/eeprom uid=0 /usr/bin/kbd /usr/sbin/list_devices euid=0 /usr/sbin/rem_drv uid=0 /usr/sbin/strace euid=0 /usr/sbin/update_drv uid=0 /usr/sbin/add_allocatable euid=0 /usr/sbin/remove_allocatable euid=0 Service Configuration /usr/sbin/svcadm /usr/sbin/svccfgExemple 7-3 Exécution de commandes privilégiées dans votre rôle
Dans l'exemple suivant, le rôle admin peut modifier les autorisations pour le fichier useful.script.
% whoami jdoe % ls -l useful.script -rwxr-xr-- 1 elsee eng 262 Apr 2 10:52 useful.script % chgrp admin useful.script chgrp: useful.script: Not owner % su - admin Password: xxxxxxxx # chgrp admin useful.script # chown admin useful.script # ls -l useful.script -rwxr-xr-- 1 admin admin 262 Apr 2 10:53 useful.script