Les informations suivantes décrivent le fonctionnement des rôles, droits, privilèges et autorisations dans Oracle Solaris 11 :
Attribution ou délégation d'autorisations : Oracle Solaris fournit des autorisations pour déléguer des droits administratifs spécifiques à certains utilisateurs et rôles, afin de mettre en oeuvre une séparation des tâches. Sous Oracle Solaris 10, les autorisations se terminant par .grant sont requises pour déléguer une autorisation à un autre utilisateur. A partir d'Oracle Solaris 11, deux nouveaux suffixes, .assign et .delegate, sont utilisés : solaris.profile.assign et solaris.profile.delegate, par exemple. Le premier suffixe accorde le droit de déléguer tout profil de droits à tout utilisateur ou rôle. Le second suffixe est plus restrictif, car seuls les profils de droits déjà assignés à l'utilisateur actuel peuvent être délégués. Comme solaris.* est assigné au rôle root, ce rôle peut assigner toute autorisation à tout utilisateur ou rôle. Par mesure de sécurité, aucune autorisation se terminant par .assign n'est incluse dans un profil par défaut.
Modifications apportées à la commande groupadd : lors de la création d'un groupe, le système affecte l'autorisation solaris.group.assign/groupname à l'administrateur. Cette autorisation offre le contrôle complet de ce groupe à l'administrateur, lui permettant ainsi de modifier ou de supprimer le groupname, en cas de besoins. Voir les pages de manuel groupadd(1M) et groupmod(1M).
Profil de droits Media Restore (restauration des médias) : ce profil de droits et cet ensemble d'autorisations permettent d'escalader les privilèges d'un compte sans rôle root. Ce profil existe, mais il ne fait partie d'aucun autre profil de droits. Comme ce profil de droits Media Restore permet d'accéder à l'ensemble du système de fichiers root, son utilisation peut escalader des privilèges. Des fichiers délibérément modifiés ou des médias de substitution peuvent être restaurés. Par défaut, le rôle root inclut ce profil de droits.
Suppression du profil Primary Administrator (administrateur principal) : l'utilisateur initial créé lors de l'installation reçoit les rôles et droits suivants :
Rôle root
Profil de droits System Administrator (administrateur système)
Accès à la commande sudo pour toutes les commandes exécutées en tant que root
Authentification des rôles : vous pouvez spécifier user ou role pour le mot-clé roleauth.
Vous pouvez déterminer les mot de passe affectés au rôle root de la manière suivante :
# userattr roleauth root
Si aucune sortie n'est générée, le compte root n'a pas été personnalisé, c'est à dire que le mot de passe correspond au mot de passe Oracle Solaris défini par défaut et non au mot de passe de l'utilisateur.
Reportez-vous à la section user_attr(4).
Root en tant que rôle : root est un rôle par défaut dans Oracle Solaris 11, donc non anonyme. Par conséquent, il ne peut pas se connecter à distance à un système. Pour plus d'informations sur la transformation du rôle root en utilisateur, reportez-vous à la section Modification du rôle root en utilisateur du manuel Sécurisation des utilisateurs et des processus dans Oracle Solaris 11.2 .
Les privilèges de base d'Oracle Solaris sont entre autres les suivants :
file_read
file_write
net_access
Versions de shells de profils pour les shells standard : chaque shell standard dispose de sa propre version de profil dans Oracle Solaris 11. Les shells de profils suivants sont disponibles :
pfbash
pfcsh
pfksh
pfksh93
pfrksh93
pfsh
pftcsh
pfzsh
Reportez-vous à la page de manuel pfexec(1).
Profils de droits : les bases de données user_attr, prof_attr et exec_attr sont en lecture seule. Ces bases de données de fichiers locaux sont assemblées à partir de fragments se trouvant dans /etc/user_attr.d, /etc/security/prof_attr.d et /etc/security/exec_attr.d. Les fragments de fichiers ne sont pas fusionnés en une seule version du fichier, ils restent sous forme de fragments. Cette modification permet aux packages de fournir des profils de droits complets ou partiels. Les entrées ajoutées au référentiel de fichiers locaux à l'aide des commandes useradd et profiles sont ajoutées au fichier local-entries du répertoire de fragments. Pour ajouter ou modifier un profil, exécutez la commande profiles. Reportez-vous à la section A propos des profils de droits.
Profil d'arrêt de droits : ce profil permet aux administrateurs de créer des comptes limités. Reportez-vous à la section En savoir plus sur les profils de droits du manuel Sécurisation des utilisateurs et des processus dans Oracle Solaris 11.2 .
Commandepfsh script : cette commande s'exécute comme la commande pfsh –c script. Auparavant, les commandes d'un script ne pouvaient pas tirer parti des profils de droits, sauf si la première ligne du script spécifiait un shell de profil. Si vous souhaitiez utiliser les profils de droits, vous deviez modifier les scripts ; cela est désormais inutile, car le programme appelant du script (ou un ancêtre au sein d'une session) peut spécifier un shell de profil.
Commande pfexec : cette commande n'est plus setuid root. Le nouvel attribut de processus PF_PFEXEC est défini lorsque la commande pfexec ou un shell de profil sont exécutés. Ensuite, le noyau définit les privilèges appropriés sur exec. Cette implémentation assure que les sous-shells sont habilités ou limités, selon le cas.
Lorsque le noyau traite une commande exec (2) , il traite setuid différemment pour root. Notez que toute commande setgid ou setuid pour un autre uid que root fonctionne comme auparavant. Le noyau recherche une entrée dans le profil de droits Forced Privilege dans exec_attr(4) pour déterminer les privilèges avec lesquels le programme doit s'exécuter. Au lieu de démarrer avec l'uid root et tous les privilèges, le programme s'exécute avec l'uid actuel et uniquement les privilèges supplémentaires que le profil d'exécution Forced Privilege a assignés à ce nom de chemin.