Il semblerait que cela pourrait être plus facile que d’ajouter un utilisateur au serveur? J'ai tapé la commande adduser dans la console, répondu à quelques questions sur le mot de passe et d'autres informations, et vous pouvez vous connecter ici avec le nom d'utilisateur et le mot de passe reçus, les fichiers de lieu, etc.
Ensuite, manuellement, vous devez créer des dossiers. Par exemple, un pour le site. L'autre concerne les fichiers temporaires, afin de ne pas les déposer dans le fichier general / tmp à des fins de protection. Un de plus - pour les sessions si la mise en cache dans Redis n'est pas configurée. Vous devez également copier les fichiers de configuration nécessaires, tels que la clé publique ssh pour l' authentification .
Tout cela devient un processus peu commode lorsque les utilisateurs doivent créer souvent, voire constamment. Heureusement, nous pouvons personnaliser beaucoup de choses, y compris les paramètres principaux lors de la création (l'emplacement du dossier de départ, un groupe), et les paramètres secondaires - les dossiers nécessaires, les fichiers de paramètres.
Les paramètres initiaux déterminés à l'aide de la commande adduser sont extraits du fichier /etc/adduser.conf.
Changer le dossier personnel
Initialement, les dossiers de base de tous les utilisateurs sont situés dans la section / home. Mais nous pouvons remplacer l'emplacement à l'avance en utilisant n'importe quel autre dossier, par exemple / var / www. Pour ce faire, éditez le paramètre DHOME .
DHOME = / var / www
Faites attention au paramètre SKEL=/etc/skel . Il détermine où les fichiers de paramètres et les dossiers de chaque utilisateur seront copiés. Vous avez sûrement vu des fichiers .profile , .bashrc dans les dossiers des utilisateurs de votre serveur. Ils sont simplement copiés à partir de cette source. :)
Ajouter des utilisateurs à un seul groupe
Avec les paramètres par défaut, un groupe distinct du même nom est créé pour chaque utilisateur. Mais pour un serveur Web, vous pouvez ajouter différents utilisateurs au même groupe afin de mieux gérer votre stratégie de sécurité.
Lorsqu'un utilisateur est créé pour héberger des sites, le droit de modifier / supprimer des fichiers ne devrait lui appartenir. Le serveur Web, que ce soit nginx ou apache, doit être lancé pour le compte d’un autre utilisateur ne pouvant lire que des fichiers. Les autres utilisateurs ne devraient avoir aucun droit.
En ajoutant tous les utilisateurs d'un groupe, nous pouvons alors définir des autorisations pour ce groupe uniquement pour la lecture. Et exécutez le serveur Web au nom de ce groupe. C’est mieux que d’ajouter un utilisateur de serveur Web aux groupes d’utilisateurs où se trouvent les sites.
Le groupe général sera le groupe d'utilisateurs www-data . Il est spécialement créé pour le lancement de serveurs Web, dispose des droits les plus limités et ne peut pas utiliser le shell.
Dans le fichier adduser.conf, nous devons d’abord désactiver la création du groupe du même nom lors de la création d’un utilisateur.
USERGROUPS = non
Et puis indiquez l'ID du groupe www-data.
USERS_GID = 33
En règle générale, l'identifiant est 33. Cependant, vous devez vérifier avec une commande exécutée en tant que root: id www-data .
Et le dernier paramètre à modifier dans ce fichier de configuration:
DIR_MODE = 0710
Il définit les droits sur le répertoire de base de l'utilisateur / var / www / nom d'utilisateur . Ici, nous autorisons toutes les actions au propriétaire des fichiers, uniquement l'exécution pour le groupe et ne donnons aucun droit à quiconque.
Droits pour un utilisateur spécifique et des fichiers supplémentaires
Nous devons maintenant continuer à émettre les droits appropriés, mais au sein d’un seul utilisateur. Pour que les droits nécessaires soient immédiatement attribués aux fichiers et aux dossiers, modifiez le paramètre umask dans les fichiers .bashrc et .profile en conséquence.
umask 027
Pour les dossiers, ces droits seront interprétés comme 0750, ce qui autorise toutes les actions sur les fichiers du propriétaire, la lecture et l'exécution du groupe.
Et pour les fichiers 0640: lecture / modification pour le propriétaire et lecture uniquement pour le groupe. Je recommande d'étudier indépendamment l' article sur les droits d'accès sous Linux.
De même, n’oubliez pas dans le répertoire / etc / skel de mettre à jour les droits des fichiers et dossiers existants à l’aide de la commande chmod.
Enfin, nous créons des dossiers supplémentaires: pour les sites Web, les fichiers temporaires, les sessions, etc. Le fichier allowed_keys avec votre clé publique pour ssh doit être situé dans le dossier .ssh de l'utilisateur. En conséquence, la structure ressemblera à ceci:
/ etc / skel -.ssh / --authorized_keys -sessions / -tmp / -www / -.bashrc -profil
Tout cela sera copié dans le répertoire de base de l'utilisateur lors de sa création.
