Skrivet av TheJonaz:
SELinux, någon som har erfarenhet? Jag vill ha något program eller funktion där jag kan styra users permissions. Ex. vill jag inte att de ska ta tillgång till funktioner som "w, ifconfig, sudo" etc. och ej heller kunna cd'a sig utanför sin /home/user
Kanske vore bra om du förklarade mer ungefär hur din setup ser ut, hur mycket du litar på personen som ska få access, etc. Du säger att personen ska kunna installera saker och du vill ge personen sudo, samtidigt vill du inte att personen ska kunna ta sig ur sin hemkatalog. Vad vill du uppnå med att låsa personen till sin hemkatalog?
Bara för att dubbelkolla, med sudo så har personen alltså root access och kan göra vad som helst på datorn. Skillnaden mellan root och sudo (i default setup) är att kommandona som personen kör loggas och personen kan använda sitt eget lösenord för att komma åt root. Notera att loggningen dock går dels är av ett frivilligt slag, det är kommandona som körs via sudo som loggas, men personen kan bara starta ett root shell via sudo och kringå loggning på det sättet. Det går dessutom att som root att ta bort själva loggfilerna.
Du kan i sudo konfigurera vilka program som personen får köra, och du skulle möjligtvis kunna låsa detta så att personen bara för köra t.ex. apt-get om du bara vill att personen ska få installera saker. Notera att detta skydd sällan fungerar i praktiken, då man ofta krångla sig förbi det. Ett exempel för apt vore t.ex. att personen skapar ett custom repo med ett deb-paket som han installerar. Jag är lite osäker på om man direkt kan skriva över existerande filer med en nytt deb-paket, men han kan kanske kanske installera något program med suid flagga eller liknande? Jag har inte testat föregående, poängen är bara att det är väldigt svårt att faktiskt låsa ner sudo på ett säkert sätt med denna metod, speciellt om personen dessutom ska kunna konfigurera de program som installeras.
Nu har jag visserligen inte testat SELinux på några år, men sist jag kollade var det mer än ett heltidsjobb att administrera det, så tyvärr tror jag inte heller detta är någon speciellt enkel lösning.
Det enda rimliga sättet att lyckas med det du vill som jag ser det är att köra någon container eller virtuell maskin. Men inte heller en container är nödvändigtvis säkert, återigen har jag inte följt detta i detalj så jag vet inte hur det är rent praktiskt, men i teorin så är root på en container samma som root på datorn.
Edit: Insåg att jag inte kollade datum på posten och att denna tråd var ungefär en vecka sen någon svarade, oh well