{"id":248318,"date":"2024-04-30T16:00:34","date_gmt":"2024-04-30T16:00:34","guid":{"rendered":"https:\/\/www.ninjaone.com\/?post_type=script_hub&#038;p=248318"},"modified":"2024-04-30T16:00:34","modified_gmt":"2024-04-30T16:00:34","slug":"creer-un-nouvel-utilisateur-administrateur-sous-linux","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/fr\/script-hub\/creer-un-nouvel-utilisateur-administrateur-sous-linux\/","title":{"rendered":"Guide complet de script : Cr\u00e9er un nouvel utilisateur administrateur sous Linux"},"content":{"rendered":"<h2>Points \u00e0 retenir<\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Automatise la cr\u00e9ation d&rsquo;utilisateurs administratifs :<\/strong> Rationalise le processus d&rsquo;ajout de nouveaux utilisateurs administrateurs dans les environnements Linux.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><strong>Am\u00e9liore l&rsquo;efficacit\u00e9 et la pr\u00e9cision :<\/strong> R\u00e9duit les efforts manuels et minimise le risque d&rsquo;erreur humaine.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>Flexibilit\u00e9 du script :<\/strong> Adaptable \u00e0 diff\u00e9rents besoins, en prenant en charge diff\u00e9rentes options d&rsquo;utilisateurs, de mots de passe et de groupes.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"4\" data-aria-level=\"1\"><strong>Ax\u00e9 sur la s\u00e9curit\u00e9 :<\/strong> Incorpore le cryptage des mots de passe et requiert les privil\u00e8ges de l&rsquo;administrateur, ce qui donne la priorit\u00e9 \u00e0 la s\u00e9curit\u00e9.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\"><strong>Utilisation polyvalente :<\/strong> Convient aussi bien aux particuliers qu&rsquo;aux MSP qui g\u00e8rent plusieurs syst\u00e8mes Linux.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"6\" data-aria-level=\"1\"><strong>Comparaison avec les m\u00e9thodes traditionnelles :<\/strong> Offre une solution plus coh\u00e9rente et plus \u00e9volutive que les commandes manuelles ou les outils GUI.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"7\" data-aria-level=\"1\"><strong>Questions fr\u00e9quemment pos\u00e9es :<\/strong> Clarifie les questions de s\u00e9curit\u00e9, d&rsquo;op\u00e9rations en vrac et de compatibilit\u00e9.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"8\" data-aria-level=\"1\"><strong>Implications en mati\u00e8re de s\u00e9curit\u00e9 :<\/strong> Souligne l&rsquo;importance d&rsquo;une bonne gestion des privil\u00e8ges et d&rsquo;un audit de l&rsquo;utilisation des scripts.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"9\" data-aria-level=\"1\"><strong>Recommandations de bonnes pratiques :<\/strong> Il est conseill\u00e9 de proc\u00e9der \u00e0 des tests, \u00e0 des enregistrements et \u00e0 des examens r\u00e9guliers des comptes.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"10\" data-aria-level=\"1\"><strong>Int\u00e9gration de NinjaOne :<\/strong> Souligne la mani\u00e8re dont ces scripts compl\u00e8tent des plateformes de gestion informatique plus larges telles que NinjaOne.<\/li>\n<\/ul>\n<p>L&rsquo;administration efficace des syst\u00e8mes Linux n\u00e9cessite souvent la cr\u00e9ation et la gestion de comptes d&rsquo;utilisateurs, en particulier ceux qui disposent de privil\u00e8ges administratifs. Il est essentiel pour les administrateurs de syst\u00e8mes et les professionnels de l&rsquo;informatique de comprendre les nuances de ce processus. Le script pr\u00e9sent\u00e9 aujourd&rsquo;hui r\u00e9pond \u00e0 ce besoin en fournissant un moyen efficace d&rsquo;ajouter de nouveaux utilisateurs administrateurs dans les environnements Linux.<\/p>\n<h2>Contexte<\/h2>\n<p>Dans le monde de l&rsquo;informatique, la gestion des comptes utilisateurs est une t\u00e2che fondamentale. Ce script est particuli\u00e8rement utile pour les professionnels de l&rsquo;informatique et les <a href=\"https:\/\/www.ninjaone.com\/fr\/quest-ce-quun-msp\" target=\"_blank\" rel=\"noopener\">fournisseurs de services g\u00e9r\u00e9s (MSP)<\/a> qui g\u00e8rent fr\u00e9quemment plusieurs serveurs ou postes de travail Linux. L&rsquo;automatisation de la cr\u00e9ation d&rsquo;utilisateurs administratifs permet non seulement de gagner du temps, mais aussi de r\u00e9duire le risque d&rsquo;erreur humaine. Son importance ne peut \u00eatre sous-estim\u00e9e dans les sc\u00e9narios o\u00f9 une gestion rapide et s\u00fbre des utilisateurs est essentielle.<\/p>\n<h2>Le script :<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">#!\/usr\/bin\/env bash\r\n#\r\n# Description: Create a new admin user for Linux, by adding the user to the sudo group.\r\n# By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https:\/\/www.ninjaone.com\/terms-of-use.\r\n# Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. \r\n# Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. \r\n# Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. \r\n# Warranty Disclaimer: The script is provided \u201cas is\u201d and \u201cas available\u201d, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. \r\n# Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. \r\n# Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. \r\n# EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).\r\n\r\n# Usage: [-u|--user &lt;arg&gt;] [-p|--pass &lt;arg&gt;] [-g|--group &lt;arg&gt;] [-d|--disable &lt;arg&gt;] [-h|--help]\r\n# -u, --user: User Name for new user account. (no default)\r\n# -p, --pass: Password for new user account. (no default)\r\n# -g, --group: Name of group to add the new user account to. (default 'sudo')\r\n# -d, --disable: Date to disable account. (no default)\r\n# -h, --help: Prints help\r\n\r\n# # When called, the process ends.\r\n# Args:\r\n# \t$1: The exit message (print to stderr)\r\n# \t$2: The exit code (default is 1)\r\n# if env var _PRINT_HELP is set to 'yes', the usage is print to stderr (prior to $1)\r\n# Example:\r\n# \ttest -f \"$_arg_infile\" || _PRINT_HELP=yes die \"Can't continue, have to supply file as an argument, got '$_arg_infile'\" 4\r\ndie() {\r\n    local _ret=\"${2:-1}\"\r\n    test \"${_PRINT_HELP:-no}\" = yes &amp;&amp; print_help &gt;&amp;2\r\n    echo \"$1\" &gt;&amp;2\r\n    exit \"${_ret}\"\r\n}\r\n\r\n# Function that evaluates whether a value passed to it begins by a character\r\n# that is a short option of an argument the script knows about.\r\n# This is required in order to support getopts-like short options grouping.\r\nbegins_with_short_option() {\r\n    local first_option all_short_options='uph'\r\n    first_option=\"${1:0:1}\"\r\n    test \"$all_short_options\" = \"${all_short_options\/$first_option\/}\" &amp;&amp; return 1 || return 0\r\n}\r\n_arg_user=\r\n_arg_pass=\r\n_arg_group=\"sudo\"\r\n_arg_disable=\r\n\r\nif [[ -n \"${username}\" ]]; then\r\n    _arg_user=$username\r\nfi\r\nif [[ -n \"${password}\" ]]; then\r\n    _arg_pass=$password\r\nfi\r\nif [[ -n \"${group}\" ]] &amp;&amp; [[ \"${group}\" != \"null\" ]]; then\r\n    _arg_group=$group\r\nfi\r\nif [[ -n \"${disableAfterDate}\" ]] &amp;&amp; [[ \"${disableAfterDate}\" != \"null\" ]]; then\r\n    _arg_disable=$(date -d \"$disableAfterDate\" +'%Y-%m-%d')\r\nfi\r\n\r\n# Function that prints general usage of the script.\r\n# This is useful if users asks for it, or if there is an argument parsing error (unexpected \/ spurious arguments)\r\n# and it makes sense to remind the user how the script is supposed to be called.\r\nprint_help() {\r\n    printf '%s\\n' \"Create a new admin user.\"\r\n    printf 'Usage: %s [-u|--user &lt;arg&gt;] [-p|--pass &lt;arg&gt;] [-g|--group &lt;arg&gt;] [-e|--enable &lt;arg&gt;] [-d|--disable &lt;arg&gt;] [-h|--help]\\n' \"$0\"\r\n    printf '\\t%s\\n' \"-u, --user: User Name for new user account. (no default)\"\r\n    printf '\\t%s\\n' \"-p, --pass: Password for new user account. (no default)\"\r\n    printf '\\t%s\\n' \"-g, --group: Name of group to add the new user account to. (default 'sudo')\"\r\n    printf '\\t%s\\n' \"-d, --disable: Date to disable account. (no default)\"\r\n    printf '\\t%s\\n' \"-h, --help: Prints help\"\r\n}\r\n\r\n# The parsing of the command-line\r\nparse_commandline() {\r\n    while test $# -gt 0; do\r\n        _key=\"$1\"\r\n        case \"$_key\" in\r\n        # We support whitespace as a delimiter between option argument and its value.\r\n        # Therefore, we expect the --user or -u value.\r\n        # so we watch for --user and -u.\r\n        # Since we know that we got the long or short option,\r\n        # we just reach out for the next argument to get the value.\r\n        -u | --user)\r\n            test $# -lt 2 &amp;&amp; die \"Missing value for the optional argument '$_key'.\" 1\r\n            _arg_user=\"$2\"\r\n            shift\r\n            ;;\r\n        # We support the = as a delimiter between option argument and its value.\r\n        # Therefore, we expect --user=value, so we watch for --user=*\r\n        # For whatever we get, we strip '--user=' using the ${var##--user=} notation\r\n        # to get the argument value\r\n        --user=*)\r\n            _arg_user=\"${_key##--user=}\"\r\n            ;;\r\n        # We support getopts-style short arguments grouping,\r\n        # so as -u accepts value, we allow it to be appended to it, so we watch for -u*\r\n        # and we strip the leading -u from the argument string using the ${var##-u} notation.\r\n        -u*)\r\n            _arg_user=\"${_key##-u}\"\r\n            ;;\r\n        # See the comment of option '--user' to see what's going on here - principle is the same.\r\n        -p | --pass)\r\n            test $# -lt 2 &amp;&amp; die \"Missing value for the optional argument '$_key'.\" 1\r\n            _arg_pass=\"$2\"\r\n            shift\r\n            ;;\r\n        # See the comment of option '--user=' to see what's going on here - principle is the same.\r\n        --pass=*)\r\n            _arg_pass=\"${_key##--pass=}\"\r\n            ;;\r\n        # See the comment of option '-u' to see what's going on here - principle is the same.\r\n        -p*)\r\n            _arg_pass=\"${_key##-p}\"\r\n            ;;\r\n        # See the comment of option '--user' to see what's going on here - principle is the same.\r\n        -g | --group)\r\n            test $# -lt 2 &amp;&amp; die \"Missing value for the optional argument '$_key'.\" 1\r\n            _arg_group=\"$2\"\r\n            shift\r\n            ;;\r\n        # See the comment of option '--user=' to see what's going on here - principle is the same.\r\n        --group=*)\r\n            _arg_group=\"${_key##--group=}\"\r\n            ;;\r\n        # See the comment of option '-u' to see what's going on here - principle is the same.\r\n        -g*)\r\n            _arg_group=\"${_key##-g}\"\r\n            ;;\r\n        # See the comment of option '--user' to see what's going on here - principle is the same.\r\n        -d | --disable)\r\n            test $# -lt 2 &amp;&amp; die \"Missing value for the optional argument '$_key'.\" 1\r\n            _arg_disable=\"$2\"\r\n            shift\r\n            ;;\r\n        # See the comment of option '--user=' to see what's going on here - principle is the same.\r\n        --disable=*)\r\n            _arg_disable=\"${_key##--disable=}\"\r\n            ;;\r\n        # See the comment of option '-u' to see what's going on here - principle is the same.\r\n        -d*)\r\n            _arg_disable=\"${_key##-d}\"\r\n            ;;\r\n        # The help argument doesn't accept a value,\r\n        # we expect the --help or -h, so we watch for them.\r\n        -h | --help)\r\n            print_help\r\n            exit 0\r\n            ;;\r\n        # We support getopts-style short arguments clustering,\r\n        # so as -h doesn't accept value, other short options may be appended to it, so we watch for -h*.\r\n        # After stripping the leading -h from the argument, we have to make sure\r\n        # that the first character that follows corresponds to a short option.\r\n        -h*)\r\n            print_help\r\n            exit 0\r\n            ;;\r\n        *)\r\n            _PRINT_HELP=yes die \"FATAL ERROR: Got an unexpected argument '$1'\" 1\r\n            ;;\r\n        esac\r\n        shift\r\n    done\r\n}\r\n\r\nparse_commandline \"$@\"\r\n\r\nif [[ -z \"${_arg_user}\" ]]; then\r\n    die \"FATAL ERROR: User Name is required. '$_arg_user'\" 1\r\nfi\r\n\r\nif [[ -z \"${_arg_pass}\" ]]; then\r\n    die \"FATAL ERROR: Password is required. '$_arg_pass'\" 1\r\nfi\r\n\r\nif [ \"$(id -u)\" -eq 0 ]; then\r\n    if grep -E \"^$_arg_user\" \/etc\/passwd &gt;\/dev\/null; then\r\n        # User already exists, add them to the group\r\n        echo \"$_arg_user exists!\"\r\n        if usermod -aG \"$_arg_group\" \"$_arg_user\"; then\r\n            echo \"User($_arg_user) has been added to $_arg_group group!\"\r\n        else\r\n            echo \"Failed to add a user to $_arg_group group!\"\r\n            exit 1\r\n        fi\r\n    else\r\n        pass=$(perl -e 'print crypt($ARGV[0], \"password\")' \"$_arg_pass\")\r\n        if useradd -m -p \"$pass\" \"$_arg_user\"; then\r\n            echo \"User($_arg_user) has been added to system!\"\r\n        else\r\n            echo \"Failed to add a user!\"\r\n            exit 1\r\n        fi\r\n        if usermod -aG \"$_arg_group\" \"$_arg_user\"; then\r\n            echo \"User($_arg_user) has been added to $_arg_group group!\"\r\n        else\r\n            echo \"Failed to add a user to $_arg_group group!\"\r\n            exit 1\r\n        fi\r\n    fi\r\n    if [[ -n \"${_arg_disable}\" ]]; then\r\n        # Expire the user after date\r\n        usermod -e \"$_arg_disable\" \"$_arg_user\"\r\n    fi\r\n\r\nelse\r\n    echo \"Only root may add a user to the system.\"\r\n    exit 2\r\nfi<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"in-context-cta\"><p style=\"text-align: center;\">Acc\u00e9dez \u00e0 plus de 700\u00a0scripts dans le Dojo NinjaOne<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.ninjaone.com\/fr\/phase-de-test-gratuit\/\">Obtenir l&rsquo;acc\u00e8s<\/a><\/p>\n<\/div>\n<h2>Description d\u00e9taill\u00e9e<\/h2>\n<h3>Fonctionnalit\u00e9 du script :<\/h3>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Configuration de l&rsquo;environnement :<\/strong> Le script commence par une ligne shebang<strong>(#!\/usr\/bin\/env bash<\/strong>), qui configure l&rsquo;environnement pour utiliser Bash comme langage de script.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><strong>Description et utilisation :<\/strong> Il comprend des commentaires expliquant son objectif : cr\u00e9er un nouvel utilisateur administrateur en l&rsquo;ajoutant \u00e0 un groupe, g\u00e9n\u00e9ralement \u00ab\u00a0sudo\u00a0\u00bb.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>D\u00e9finitions des fonctions :<\/strong>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>die()<\/strong>: G\u00e8re les sc\u00e9narios de sortie, en affichant des messages d&rsquo;erreur si n\u00e9cessaire.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>begins_with_short_option(<\/strong>) : Aide \u00e0 l&rsquo;analyse des options de la ligne de commande. \\<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>print_help(<\/strong>) : Affiche les instructions d&rsquo;utilisation.<\/li>\n<\/ul>\n<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>Initialisation des variables :<\/strong> Les variables telles que <strong>_arg_user<\/strong>, <strong>_arg_pass<\/strong>, <strong>_arg_group<\/strong> et <strong>_arg_disable<\/strong> sont initialis\u00e9es.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>Analyse des arguments de la ligne de commande :<\/strong> La fonction <strong>parse_commandline()<\/strong> it\u00e8re sur les arguments pour d\u00e9finir l&rsquo;utilisateur, le mot de passe, le groupe et la date de d\u00e9sactivation.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>Logique de cr\u00e9ation de l&rsquo;utilisateur :<\/strong>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\">V\u00e9rifie si l&rsquo;utilisateur existe.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\">Si ce n&rsquo;est pas le cas, il cr\u00e9e un nouvel utilisateur et l&rsquo;ajoute au groupe sp\u00e9cifi\u00e9.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\">La date de d\u00e9sactivation du compte d&rsquo;utilisateur est facultative.<\/li>\n<\/ul>\n<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>V\u00e9rification des privil\u00e8ges de la racine :<\/strong> Assure que le script est ex\u00e9cut\u00e9 par un utilisateur disposant des privil\u00e8ges de l&rsquo;administrateur (root), une \u00e9tape n\u00e9cessaire pour cr\u00e9er et modifier des comptes d&rsquo;utilisateurs.<\/li>\n<\/ul>\n<h2>Cas d&rsquo;utilisation potentiels<\/h2>\n<p>Prenons l&rsquo;exemple d&rsquo;un prestataire de services de gestion qui g\u00e8re un parc de serveurs Linux pour le compte d&rsquo;un client. Ils re\u00e7oivent une demande d&rsquo;int\u00e9gration rapide d&rsquo;une nouvelle \u00e9quipe de d\u00e9veloppeurs ayant besoin d&rsquo;un acc\u00e8s administrateur. Gr\u00e2ce \u00e0 ce script, le MSP peut cr\u00e9er efficacement des comptes d&rsquo;administration individuels, garantissant \u00e0 chaque membre de l&rsquo;\u00e9quipe un acc\u00e8s appropri\u00e9 sans intervention manuelle, ce qui permet de gagner du temps et de minimiser les erreurs.<\/p>\n<h2>Comparaisons<\/h2>\n<p>Traditionnellement, la cr\u00e9ation d&rsquo;un nouvel utilisateur administrateur sous Linux implique plusieurs commandes manuelles<strong>(useradd<\/strong>, <strong>passwd<\/strong>, <strong>usermod<\/strong>). Ce script automatise ces \u00e9tapes en un seul processus coh\u00e9rent. Contrairement aux outils de gestion des utilisateurs bas\u00e9s sur une interface graphique, ce script peut \u00eatre int\u00e9gr\u00e9 dans des flux de travail d&rsquo;automatisation plus importants, ce qui le rend plus souple et plus \u00e9volutif.<\/p>\n<h2>FAQ<\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Comment ce script s\u00e9curise-t-il le mot de passe ?<\/strong>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\">Il utilise <strong>perl<\/strong> pour crypter le mot de passe avant de cr\u00e9er l&rsquo;utilisateur, ce qui renforce la s\u00e9curit\u00e9.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><strong>Le script peut-il g\u00e9rer la cr\u00e9ation d&rsquo;utilisateurs en masse ?<\/strong>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\">Tel qu&rsquo;il est r\u00e9dig\u00e9, il est con\u00e7u pour \u00eatre cr\u00e9\u00e9 par un seul utilisateur. Toutefois, il peut \u00eatre modifi\u00e9 pour les op\u00e9rations de masse.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>Est-il compatible avec toutes les distributions Linux ?<\/strong>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\">Le script devrait fonctionner sur la plupart des distributions Linux dot\u00e9es de l&rsquo;interpr\u00e9teur de commandes Bash et d&rsquo;utilitaires standard de gestion des utilisateurs.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Implications<\/h2>\n<p>Bien que ce script soit un outil puissant pour les administrateurs syst\u00e8me, il est essentiel d&rsquo;\u00eatre conscient de ses implications en mati\u00e8re de s\u00e9curit\u00e9. Une bonne gestion des privil\u00e8ges des utilisateurs est cruciale pour la s\u00e9curit\u00e9 du syst\u00e8me. Une mauvaise utilisation ou des erreurs dans le script peuvent entra\u00eener l&rsquo;octroi par inadvertance de permissions excessives.<\/p>\n<h2>Recommandations<\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"4\" data-aria-level=\"1\">Testez toujours d&rsquo;abord le script dans un environnement de non-production.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\">Mettre en place un syst\u00e8me de journalisation pour suivre l&rsquo;utilisation et les r\u00e9sultats du script.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"6\" data-aria-level=\"1\">Examiner et auditer r\u00e9guli\u00e8rement les comptes d&rsquo;utilisateurs cr\u00e9\u00e9s par le script.<\/li>\n<\/ul>\n<h2>Conclusion :<\/h2>\n<p>En conclusion, ce script illustre la mani\u00e8re dont l&rsquo;automatisation peut rationaliser les t\u00e2ches administratives dans les environnements Linux. Pour une <a href=\"https:\/\/www.ninjaone.com\/fr\/rmm\/automatisation-informatique\">gestion et une automatisation de l&rsquo;informatique plus \u00e9tendue<\/a>, des solutions telles que NinjaOne fournissent les outils et l&rsquo;infrastructure n\u00e9cessaires, offrant un soutien solide pour des t\u00e2ches telles que celles-ci, garantissant <a href=\"https:\/\/www.ninjaone.com\/fr\/efficacite\" target=\"_blank\" rel=\"noopener\">l&rsquo;efficacit\u00e9<\/a> et la s\u00e9curit\u00e9 de la gestion des environnements informatiques.<\/p>\n","protected":false},"author":35,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"no","_lmt_disable":""},"operating_system":[4211],"use_cases":[4289],"class_list":["post-248318","script_hub","type-script_hub","status-publish","hentry","script_hub_category-linux"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub\/248318","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/comments?post=248318"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=248318"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/operating_system?post=248318"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/use_cases?post=248318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}