Forum Linux.débutant SSH / utilisateur avec droits root (ou presque)

Posté par  .
Étiquettes : aucune
0
11
nov.
2007
Bonjour,

Je viens de me lancer, avec mes maigres connaissances de linux, dans le montage d'un serveur Debian. Installation nickel, tout marche.

Ensuite j'installe SSH avec aptitude, pas de problème.

J'ai, par mesure de sécurité, désactivé l'accès ROOT, je dispose d'une autre compte, créé lors de l'installation dont je ne connais pas les droits.

Début du problème : connection avec putty et le 2ème compte, ok, mais lors d'un simple mkdir ailleurs que dans le root du compte (sous home), j'ai un message "Permission refusée". Là je me dis "problème de droits", après recherches, je configure les droits de l'utilisateur avec visudo comme suit :
Users_Alias YSUSR=nom_utilisateur
YSUSR ALL=(ALL) NOPASSWD:ALL

mais il me faut enter "sudo" devant chaqune de mes commandes pour que ça marche, plutôt barbant, alors que j'ai eu la main récement sur un serveur dont je ne connais pas la configuration (Je sais juste que c'était une Debian), où un compte "root2" avait des droits root.

Je me demandais donc ce qu'il fallait faire pour donner des droits root ou presque (du moins sur les manipulations de fichiers / éxecutions / installations de packages, l'arrêt machine n'étant pas important) à un utilisateur. J'ai entendu parler des "system users" mais j'ai du mal à savoir quels droits ils possèdent, et si ce serait la solution à mon problème.

Merci d'avance à tous ceux qui se pencherons sur mon petit problème.

Etienne
  • # man su

    Posté par  (site web personnel) . Évalué à 2.

    Il te faut changer d'utilisateur (devenir root donc) pour avoir ces droits la. Pour cela tu vas utiliser la commande su (man su pour plus de détails).

    su permet donc de changer d'utilisateur.

    la commande "su" seule est équivalent à "su root". le serveur demandera alors le mot de passe du compte root.

    Bon courage :)
    • [^] # Re: man su

      Posté par  . Évalué à 4.

      Quand on utilise la commande "su", il est souvent préférable d'utiliser le "-" pour bien sourcer les fichiers "profile" et ainsi se retrouver dans l'environnement complet de l'utilisateur cible.

      en somme :

      "su -" est égal à "su - root", attention à l'espace !

      On peut aussi prendre d'autres identités que root, suffit juste de spécifier le login.

      Personnellement, je fais systématiquement un "su - " quand je veux changer d'identité, je suis sûr d'avoir toutes les variables d'environnement de l'utilisateur.
  • # man sudo

    Posté par  . Évalué à 2.

    on peut bloquer le compte root (par securité)

    mais autoriser les utilisateurs à executer des commandes "en tant que" root.

    c'est la fameuse commande "sudo commande"

    si toutefois tu as beaucoup de commande à faire, tu peux faire une
    "sudo -s"

    qui devrait t'ouvrir un shell root, et dans lequel tu pourras tous simplement taper toutes tes commandes root.
  • # Humm

    Posté par  (site web personnel) . Évalué à 4.

    "J'ai, par mesure de sécurité, désactivé l'accès ROOT"
    "Je me demandais donc ce qu'il fallait faire pour donner des droits root [...] à un utilisateur".

    Humm, tu dois comprendre que si l'utilisateur qui se connecte a les mêmes droits que root, c'est pas mieux que de laisser l'accès root en ssh... Si tu tiens à être tout le temps root*, supprime le deuxième compte et rends à root la possibilité de se connecter en ssh. Si tu tiens à un peu de sécurité, n'utilise pas le compte root, même quand tu es devant la machine, mais uniquement sudo quand c'est indispensable (aptitude, et si tu l'utilises énormément, essaie de faire un alias aptitude='sudo aptitude'...).

    Pour les manipulations de fichiers, tu ne dois pas modifier les fichiers qui appartiennent à root (surtout si tu es débutant). Pour exécuter des commandes, à de très rares exceptions près (qui concernent l'administration de la machine), tu n'as pas besoin d'être root pour exécuter quoi que ce soit).

    *: mais tu ne tiens pas à être tout le temps root !
    • [^] # Re: Humm

      Posté par  . Évalué à 1.

      Bonsoir,

      Tout d'abors merci pour vos réponses si rapides.

      En fait le problème c'est que le dossier de mon utilisateur est /home/nom_utilisateur/, normal, sauf que je veut que cet utilisateur puisse manipuler librement le contenu de /home/, et pouvoir modifier les configurations des serveurs apache and co dans /etc/, et en plus pouvoir relancer les dits serveurs ...

      Comme tu le vois, le problème ne se pose pas qu'avec aptitude, mais avec tout un tas de commandes (mkdir, cp, rm, chmod, ... et ce seulement pour les manipulations de fichiers, je ne parle même pas de l'éxecution ...).

      Mon idée de sécurité c'est que quelqu'un m'a dit que les tentatives de crackage de mot de passe étaient avant tout tentées sur le login "root", normal, alors il fallait mettre en place un "root avec un login différent", sur le moment j'ai pris ça comme ça mais pour l'appliquer, c'est plus pareil ...

      Est-ce qu'il eisterait une solution autre que celle des faire 15000 alias du genre com='sudo com' pour tout ce que je veut autoriser ?

      Je sais que ce n'est pas clair, mais je n'arrive pas à expliquer la situation mieux que ça ...

      Merci

      Etienne
      • [^] # Re: Humm

        Posté par  . Évalué à 2.


        Est-ce qu'il eisterait une solution autre que celle des faire 15000 alias du genre com='sudo com' pour tout ce que je veut autoriser ?


        voir mon post precedent sur "man sudo" et "sudo -s"

        ca te permet aussi de deleguer tout ou parti de la gestion du serveur à la personne.

        sur Ubuntu par exemple, il faut simplement que la personne soit dans le groupe "admin" pour pouvoir passer les commandes en sudo.

        tu peux imaginer un reglage plus fin, ou tu n'autoriserais un groupe de personne qu'à faire des vi/emacs, /etc/init.d/

        pour editer les fichiers de config et relancer les serveurs.
      • [^] # Re: Humm

        Posté par  (site web personnel, Mastodon) . Évalué à 3.

        Pourquoi ne pas plutôt utiliser le compte root mais n'autoriser en SSH que les clés (et pas les mots de passe)? Comme ça, tu ne te prends pas la tête à te faire croire qu'un user root2 sera plus sûr, ni à la configurer. Enfin cette solution est très facilement portable sur d'autres serveurs en quelques secondes.

        Comment faire?
        trouvé en 2 sec avec google (et pas lu):
        http://www.generation-libre.com/securiser-l-acces-au-serveur(...)

        La gelée de coings est une chose à ne pas avaler de travers.

        • [^] # Re: Humm

          Posté par  . Évalué à 1.

          Merci merci,

          en effet cette solution colle plus avec ce que je veut faire ...

          Je pense que je vais appliquer ça ...

          Merci encore

          Etienne
          • [^] # Re: Humm

            Posté par  . Évalué à 1.

            sauf que du coup le compte root est "actif"
            car je ne suis pas sur que cela fonctionne si le compte est bloqué.

            et ca ne protege pas en acces local...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.