--- categories: ['OpenWRT','Système'] date: 2020-02-24T19:41:07+01:00 description: "Comment créer un utilisateur non privilégié, lui permettre d'avoir temporairement des droits privilégiés par le biais de sudo !?" draft: false tags: ['OpenWRT','sudo','sysadmin'] title: "OpenWRT : sudo" translationKey: "openwrt-sudo" --- ## Description Par défaut, OpenWRT est livré avec un seul compte, celui de l'administrateur `root`. Nous allons créer un nouvel utilisateur sans privilège particulier qui aura le droit d'administrer le système par le biais de l'utilitaire `sudo`. ## Installation En tant que **root**, exécutons les commandes d'installation suivantes : `# opkg update`
`# opkg install shadow-useradd sudo` {{< note tip >}} Il est possible d'installer aussi le paquet `shadow-usermod` qui permettra au besoin de modifier tout paramètre lié au compte utilisateur. {{< /note >}} ## Configuration ### configuration utilisateur Maintenant, configurons le compte utilisateur : * `# u=username` où `username` est le nom d'utilisateur choisi - *à vous de paramètrer à votre convenance…* * `# useradd "${u}"` * `# passwd "${u}"` : afin de définir le mot-de-passe lié à l'utilisateur * `# mkdir -p /home/"${u}"/.ssh` : pour créer le répertoire home principal, ainsi que le sous-répertoire `.ssh` qui pourra servir plus tard. * `# touch /home/"${u}"/.ssh/authorized_keys` : créer le fichier vide nécessaire pour y copier les clés SSH publiques. * `# chown -R "${u}":"${u}" /home/"${u}"` : pour donner les droits d'utilisateurs sur son home. * `# chmod 0700 /home/"${u}"` : pour n'autoriser que cet utilisateur dans son home. ### configuration sudo Je ne parlerais que de la méthode la plus sécurisée de configuration de `sudo`.
Cette méthode permet de n'avoir qu'à utiliser le mot de passe de l'administrateur sans avoir à se connecter avec le compte administrateur. Une fois, connecté avec votre compte utilisateur, lors des besoins d'administration, il faudra précéder de la commande `sudo` toute autre commande nécessaire. Avec l'utilitaire `visudo`, nous allons éditer le fichier adéquate `/etc/sudoers`. `# visudo` Puis dirigez vous vers la fin du fichier pour décommenter les deux lignes suivantes, en supprimant le symbole `#` : `# Defaults targetpw # Ask for the password of the target user`
`# ALL ALL=(ALL) ALL # WARNING: only use this together with 'Defaults targetpw'` {{< note tip >}} Pour ceux qui ne savent pas comment enregistrer avec l'éditeur **visudo** : tapez `:wq!` une fois que vous avez modifié le fichier afin d'écrire celui-ci et de quitter l'éditeur. {{}} Une fois l'écriture validée, il sera permis à votre utilisateur `ego` d'utiliser toute commande d'administration, telle que décrit ci-dessus. ### configuration ssh Profitez de ce moment particulier pour mettre votre {{< inside2 l="sec:ssh:configuration-securisee" t="clé d'authentification ssh" a="nouvelle-clé-rsa--pkbdf" >}}, dans le fichier `/home/ego/.ssh/authorized_keys`. {{< note warning >}} Assurez-vous de bien copier votre clé publique, celui terminant par l'extension `.pub` !!! {{}} ### configuration sauvegarde système Pensez à éditer le fichier `/etc/sysupgrade.conf` afin d'ajouter : * le répertoire home de votre utilisateur, * `/etc/sudoers.d/` *(seulement si vous faites des ajouts dans ce répertoire)* puis vérifier avec la commande `sysupgrade -l` que le répertoire est bien inclus. Ainsi lors de votre futur {{< inside "sys:openwrt:sysupgrade" "mise à niveau" >}} d'OpenWRT, vos données personnelles seront sauvegardées ! ## Documentation * https://openwrt.org/docs/guide-user/security/secure.access#create_a_non-privileged_user_in_openwrt ----