IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes POSIX Discussion :

Ne pas créer de compte root


Sujet :

Shell et commandes POSIX

  1. #1
    Membre habitué Avatar de labarre2002
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    234
    Points
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 234
    Points : 135
    Par défaut Ne pas créer de compte root
    Bonjour

    Je suis cette vidéo de l'installation de Debian.


    How to Install My Version of Linux



    Il déconseille la création du compte root pendant l'installation. Mais uniquement le compte utilisateur a 5:51 il lance la commande « ls » apparait un fichier root.sh qu'il lance par « ./root.sh » qui lui permet de se connecter en root.

    Personnellement je suis un peu perdu .Un gourou Linux pourrait éclairer ma lanterne ?

    le fichier root.sh contient les lignes suivantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    #!/bin/bash
     
    # Change Debian to SID Branch
    cp /etc/apt/sources.list /etc/apt/sources.list.bak
    cp sources.list /etc/apt/sources.list 
     
     
    username=$(id -u -n 1000)
    builddir=$(pwd)
     
    # Add Custom Titus Rofi Deb Package
    dpkg -i 'Custom Packages/rofi_1.7.0-1_amd64.deb'
     
    # Update packages list
    apt update
     
    # Add base packages
    apt install unzip picom bspwm polybar sddm rofi kitty thunar flameshot neofetch sxhkd git lxpolkit lxappearance xorg -y
    apt install papirus-icon-theme lxappearance fonts-noto-color-emoji fonts-firacode fonts-font-awesome libqt5svg5 qml-module-qtquick-controls -y
     
    # Download Nordic Theme
    cd /usr/share/themes/
    git clone <a href="https://github.com/EliverLara/Nordic.git" target="_blank">https://github.com/EliverLara/Nordic.git</a>
     
    # Fira Code Nerd Font variant needed
    wget <a href="https://github.com/ryanoasis/nerd-fonts/releases/download/v1.1.0/FiraCode.zip" target="_blank">https://github.com/ryanoasis/nerd-fo...0/FiraCode.zip</a>
    unzip FiraCode.zip -d /usr/share/fonts
    wget <a href="https://github.com/ryanoasis/nerd-fonts/releases/download/v1.1.0/Meslo.zip" target="_blank">https://github.com/ryanoasis/nerd-fo....1.0/Meslo.zip</a>
    unzip Meslo.zip -d /usr/share/fonts
    fc-cache -vf
     
    cd $builddir
    mkdir -p /home/$username/.config
    cp .Xresources /home/$username
    cp .Xnord /home/$username
    cp -R dotfiles/* /home/$username/.config/
    chown -R $username:$username /home/$username
    Merci d'avance

  2. #2
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 282
    Points
    13 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 282
    Points : 13 572
    Par défaut
    Bonjour

    Citation Envoyé par labarre2002 Voir le message
    un fichier root.sh qu il lance par « ./root.sh » qui lui permet de se connecter en root.
    Cette phrase est fausse. Regarde avec plus d'attention. Il se connecte en root, puis il exécute son script.

    Cette vidéo explique comment déverser tout son code, que tu ne comprends pas, dans ton ordinateur. Es-tu sûr de vouloir faire cela ? Debian marche très bien sans ce youtuber.

  3. #3
    Membre habitué Avatar de labarre2002
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    234
    Points
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 234
    Points : 135
    Par défaut
    BOnsoir


    je viens de revoir la video deja il ne cree pas le compte root a present je remarque en effet que via un sudo su il se connecte en root

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 620
    Points
    19 578
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 620
    Points : 19 578
    Par défaut
    Bonjour,

    il y a débat, parce qu'il y a toujours des exceptions, mais
    en général, quand tu vois un tuto dans lequel il y a sudo su, tu peux sereinement passer ton chemin.

    il y a de nombreuses mauvaises pratiques qui sont pérennisées par des gens a priori très compétents : sudo su, for i in $(command), ls | command...
    c'est le genre de choses qui dénote une répétition irréfléchie.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 761
    Points
    31 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 761
    Points : 31 112
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par labarre2002 Voir le message
    a 5:51 il lance la commande « ls » apparait un fichier root.sh qu'il lance par « ./root.sh » qui lui permet de se connecter en root.
    Impossible. Un script shell ne peut pas te faire passer root. Seul un processus (ie un programme en exécution) peut te faire passer root (en fait c'est ledit processus qui s'exécute avec les droits de root). Or quand tu exécutes un shell, tu demandes au programme "/bin/bash" de lire des instructions et les réaliser. Ces instructions en elles-mêmes ne génèrent pas de processus. En fait le programme c'est /bin/bash donc si lui il a un suid de positionné il peut générer un processus ayant les roits de root mais par défaut ce n'est pas le cas.

    Seul un programme exécutable peut te faire passer root (en fait il change ton uid et s'il le change à 0 alors tu deviens root). Et il est nécessaire d'avoir déjà eu ledit uid en question pour pouvoir activer le truc. En effet, il faut
    1. mettre le uid de l'exécutable à l'uid qu'il est prévu de te donner. Et seul un propriétaire d'un uid peut s'approprier un programme => tu ne peux pas, si tu es 123, "donner" un fichier à 456 (c'était autorisé aux débuts d'Unix puis ça a été supprimé pour éviter les soucis de "plausible dénégation" style "non c'est pas à moi on me l'a mis sans mon accord")
    2. positionner un setuid sur l'exécutable (un petit "s" qui apparait à la place du "x" dans les droits). Ce "setuid" (littéralement "met l'uid") est l'élément qui fait en sorte que quand tu lanceras l'exécutable, le processus qui en résultera aura le uid de l'éxécutable et non pas ton uid à toi.


    Comme tu vois, le truc est bien fermé. On ne peut pas "devenir quelqu'un" si on ne l'a pas déjà été auparavant.
    Voici une liste de programmes qui ont un setuid (ou setgid qui est son équivalent pour le gid)
    • /bin/passwd => permet à un user de modifier son mot de passe (typiquement aller écrire dans /etc/shadow qui est un fichier système)
    • /bin/su (et son fork /bin/sudo) => permet à un user d'appeler une commande qui s'exécutera sous un autre uid (su=switch user). C'est pour ça que N_BaH se moque de celui qui vante les mérites de su sudo car c'est équivalent à un cd "$(pwd)".
    • /usr/bin/mount => permet à un user de monter (relier) un périphérique amovible à son arborescence
    • /bin/crontab => permet à un user d'aller créer un cron (ie ça va créer un fichier dans le dossier /var/spool/cron qui est un dossier système puis ça envoie un signal "SIGHUP" au process "cron" pour qu'il prenne en compte la modif)


    J'ai pas regardé la vidéo parce que ce n'est pas la peine. Soit tu fais erreur, soit ce type est un gros escroc.

    PS: je l'ai regardée (enfin juste les quelques secondes avant et après 5:51) et effectivement "and then we do a sudo su to switch it to root" ok ça me suffit

    Citation Envoyé par labarre2002 Voir le message
    je viens de revoir la video deja il ne cree pas le compte root
    Non, il ne lui met pas de mot de passe pour qu'on ne puisse pas s'y connecter, ce n'est pas la même chose. Le compte root est bel et bien présent (c'est fait de façon automatique).
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 282
    Points
    13 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 282
    Points : 13 572
    Par défaut
    Ton paragraphe ne parle pas de sudo, ce qui m'étonne. Le ministre fait ce qu'il veut de sa voiture. Pourtant, le chauffeur peut conduire la voiture du ministre sans être, ou se faire passer pour, le ministre. sudo permet d'avoir les droits d'un autre, sans être l'autre et en étant soi-même. N'est-ce pas ?

  7. #7
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 761
    Points
    31 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 761
    Points : 31 112
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Ton paragraphe ne parle pas de sudo...
    Si, j'en parle (/bin/su et son fork /bin/sudo) !!!

    Citation Envoyé par Flodelarab Voir le message
    sudo permet d'avoir les droits d'un autre, sans être l'autre et en étant soi-même. N'est-ce pas ?
    Il faut préciser ce que tu entends par "en étant soi-même". Du point de vue de l'OS, ton existence toute entière se résume à deux valeurs, stockées dans /etc/passwd, qui sont ton uid et ton gid. Rien d'autre. Quand tu tentes d'accéder à un fichier, l'OS regarde si
    • ton uid est 0 (root) et dans ce cas tu as tous les droits et ça s'arrête ici
    • sinon ton uid n'est pas 0 mais il correspond au uid du fichier => oui alors il regarde les droits "user" du fichier et c'est terminé (soit ces droits le permettent et tu accèdes, soit ils ne le permettent pas et tu n'y accèdes pas mais quoi qu'il arrive l'OS s'arrête ici)
    • sinon ton uid ne correspond pas mais peut-être ton gid correspond au gid du fichier => oui alors il regarde les droits "group" du fichier et c'est terminé (soit ces droits le permettent et tu accèdes, soit ils ne le permettent pas et tu n'y accèdes pas mais là encore cela s'arrête ici => c'est pour ça que si tu mets un de tes fichiers en mode=066 (---rw-rw-) tu ne peux plus le lire même si les autres le peuvent)
    • sinon (ton uid et gid ne correspondent pas) alors il regarde les droits "other" du fichier et là c'est définitivement terminé (soit ces droits le permettent et tu accèdes, soit ils ne le permettent pas et tu n'y accèdes pas et de toute façon l'OS n'a plus d'autre possibilité)

    Donc étant donné que sudo change ton uid en un autre uid, strictement du point de vue OS tu n'es plus toi-même mais un autre.

    Ensuite tu possèdes un environnement de travail, environnement contenant des variables d'environnement (HOME, LOGNAME, etc). Ces variables te définissent d'un point de vue "humain". Certains programmes utilisent par exemple ces variables pour leurs logs. Tu lances une action, le programme associé va enregistrer $LOGNAME (=flodelarab) comme créateur de l'action. Mais ces logs ne sont là que pour les humains (en cas de souci, ce sera un humain qui analysera le log pour voir qui a fait quoi). L'OS ne s'en sert absolument pas. Et effectivement "sudo" (aussi bien que "su") par défaut ne change pas cet environnement (pour "su" on peut le demander via su - userX et là l'environnement de l'userX vient remplacer le tien, pour "sudo" j'en sais rien). Donc de ce point de vue là, effectivement tu restes "toi-même". C'est peut-être ce que tu voulais dire...

    Citation Envoyé par Flodelarab Voir le message
    Pourtant, le chauffeur peut conduire la voiture du ministre sans être, ou se faire passer pour, le ministre
    Attention aux analogies car elles ont des limites
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Plugi][phpeclipse] point d'arrêt pas pris en compte
    Par damjal dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 23/11/2005, 00h58
  2. [XHTML] Ne pas prendre en compte les balises XHTML
    Par simnitch dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 18/08/2005, 16h58
  3. [XSL] Mes entités ne sont pas prises en compte
    Par trent94 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/07/2005, 19h49
  4. Mon script cron n'est pas pris en compte
    Par tomnie dans le forum Linux
    Réponses: 11
    Dernier message: 31/03/2004, 12h19
  5. [reseaux] Comment creer un compte user à partir d'un formul avec perl
    Par oulai_evado dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 01/10/2002, 20h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo