Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

OS Linux

su of su -

c.j.krul
6 antwoorden
  • Wat is het verschil tussen su en su -?
    Ik zie beide weleens verschijnen en su - wordt soms aangeraden.

    man su zegt dat met su - een tweede shell word gestart, wordt dit zonder de - dan niet gedaan?

    Groeten Corné
  • Dit is wat de documentatie er over zegt:
    [quote:168839a4a3]
    Make the shell a login shell. This means the following. Unset all
    environment variables except `TERM', `HOME', and `SHELL' (which
    are set as described above), and `USER' and `LOGNAME' (which are
    set, even for the super-user, as described above), and set `PATH'
    to a compiled-in default value. Change to USER's home directory.
    Prepend `-' to the shell's name, intended to make it read its
    login startup file(s).[/quote:168839a4a3]
    Mijn conclusie is dat su - veiliger is dan gewoon su, omdat bij su- er inderdaad een nieuwe shell wordt gebruikt. Bij gewoon su wordt met de huidige shell doorgewerkt, incl de zoekpaden. Dat kan een beveiligingsrisico met zich meebrengen, bijv. als het pad van de gebruiker verwijst naar een map met pseudo-programma's die, als ze als root worden uitgevoerd, toegang krijgen tot het hele systeem.
    (bijv een pseudoprogramma voor ls, dat in een personlijke map van de gebruiker staat. Als die eerder in het zoekpad staat, dan gebruikt de shell dit pseudoprogramma. De gebruiker kan dit vervolgens misbruiken om root-rechten te krijgen etc…)

    Max
  • Wat ik er altijd van begrepen heb is dat je met su gewoon verder gaat als superuser in je eigen environment, en met su - krijg je de hele environt van de root ter beschikking.

    Het verschil in veiligheid is volgens mij maar heel minimaal, omdat je in allebei de gevallen toch al de superuserrechten hebt. (en waarom dan moeilijk doen als het makkelijk kan)
  • Voordeel is dus dat je met su - ook je directorypaden van root tot je beschikking hebt (die staan immers in de env. variables). Dus hoef je niet steeds je /sbin enz. op te geven.

    Ik zie eigenlijk geen reden om su te gebruiken.
  • su zonder - is handig voor een enkel commando, bijv:

    su -c 'make install'

    Dan blijft hij in de directory waar je ook bent, maar je wordt even root om make install te kunnen doen.

    als je [b:8b474e86ee]su -[/b:8b474e86ee] gebruikt kom je als root ook in de homedirectory van root (
    oot) terecht.
  • [quote:4f98105350="AndorabLe"]Wat ik er altijd van begrepen heb is dat je met su gewoon verder gaat als superuser in je eigen environment, en met su - krijg je de hele environt van de root ter beschikking.

    Het verschil in veiligheid is volgens mij maar heel minimaal, omdat je in allebei de gevallen toch al de superuserrechten hebt. (en waarom dan moeilijk doen als het makkelijk kan)[/quote:4f98105350]

    Als je in je uppie een systeem tot je beschikking hebt is er idd vrijwel geen verschil qua veiligheid. Maar als je systeembheerder bent in een groot bedrijf, dan maakt het wel degelijk wat uit, de environment van de user waarin je su intypt kan nmlk je beveiliging compromiteren.
    Max

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.