Låsa användare till endast vissa program. - Skoluppgift

Permalänk

Låsa användare till endast vissa program. - Skoluppgift

Hej swec, har fått en skoluppgift där jag ska låsa en användare till ett liknande kiosk mode.
Användaren ska endast kunna starta ett fåtal program och inte ha tillgång till inställningar.
Finns det någon lösning på detta mer än kioskmode eller är det, det man ska köra?
Hade varit extremt tacksam om någon kunde peka mig i rätt riktning, ni behöver inte säga hur man löser det eftersom det är en skoluppgift utan endast ge tips på hur man kan lösa det och vad man kan googla på!

TACK på förhand - MVH

Edit: är gladast för Fedora och mest van men hanterar Debian lika bra, mindre säker på Arch.

Permalänk
Rekordmedlem

Lär dig hur filrättigheter fungerar.

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.

Permalänk

@mrqaffe: Kan man påverka inställningar där igenom med alltså att man inte kan ändra språk på tangentbordet eller liknande?

Permalänk
Rekordmedlem
Skrivet av jappejopp:

@mrqaffe: Kan man påverka inställningar där igenom med alltså att man inte kan ändra språk på tangentbordet eller liknande?

Du får väl fundera, labba och prova vad en konfigurationsfil är för något, du har fått ett tips på åt vilket håll du ska leta och får du mer hjälp än så så behöver du inte fundera ut detaljerna själv och det är nog det du förväntas göra för att lära dig.

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.

Permalänk

@mrqaffe: Jo, ville mest veta så det faktiskt var möjligt att använda sig utav det för settings med.

Permalänk
Medlem

Som @mrgaffe antydde: allt är en fil. En fil har rättigheter som kan kontrolleras. En grundläggande kännedom om filträdets struktur samt om filrättigheter och hur man kontrollerar dessa är troligen vad som eftersöks. https://wiki.archlinux.org/index.php/File_permissions_and_att... är en god källa att börja på vad gäller kunskap i ämnet.

Visa signatur

Desktop: AMD 3950X, 64 GB RAM, Nvidia 4070 ... (Windows 11)
Serverdesktop: AMD 5600G, 64 GB RAM (Proxmox)
Labbmiljö: Supermicro SC825 X9DRi-F 2xE5-2667v2 64GB RAM
Kamera: Canon R5, Canon RF 100-500, Laowa 100mm f/2.8, Canon RF 24-70 f/2,8

Permalänk
Medlem

Edit: Jag är en klant

Permalänk
Medlem
Skrivet av Edge1:

Alternativt om du har Pro eller Enterprise, googla "Group Policy Editor", skriv in "gpedit.msc" i kör-fältet (Win+R) och experimentera på!

Nu är det dock inte Windows det gäller

Visa signatur

Lätt som Paj

Permalänk
Skrivet av Edge1:

Edit: Jag är en klant

Lugnt, alla gör vi misstag och det hade varit stor hjälp om det varit Windows!

Skrivet av LeonHart:

Nu är det dock inte Windows det gäller

kanske hade gått med någon form av wine

Permalänk
Skrivet av mrqaffe:

Du får väl fundera, labba och prova vad en konfigurationsfil är för något, du har fått ett tips på åt vilket håll du ska leta och får du mer hjälp än så så behöver du inte fundera ut detaljerna själv och det är nog det du förväntas göra för att lära dig.

Skrivet av Crazy Ferret:

Som @mrgaffe antydde: allt är en fil. En fil har rättigheter som kan kontrolleras. En grundläggande kännedom om filträdets struktur samt om filrättigheter och hur man kontrollerar dessa är troligen vad som eftersöks. https://wiki.archlinux.org/index.php/File_permissions_and_att... är en god källa att börja på vad gäller kunskap i ämnet.

Nu efter mycket läsande och labbande har jag kommit fram till att jag ska ha 750 så att OTHER inte har premissions alternativt att en grupp får 0 i premissions(inte kommit fram till hur jag gör med grupp dock)
Jag får tacka för hjälpen hitintills.

MEN jag har testat att sätta 750 på /usr/bin problemet är att startx och python3 ligger där med.
Whereis har hjälpt mig en del dock men nu har jag fastnat igen.
Även om jag sätter 777 på / eller /usr eller /usr/bin kan jag ändå inte starta x från något konto mer än root (har gjort sudo passwd för enkelhetens skull)
Ska det vara så eller missar jag något?

Är det kanske enklare om jag sätter premissions på en grupp istället och lägger min användare där i? - är detta ens möjligt?
Då borde jag ju kunna blacklista hela systemet förutom chromium och libreoffice i gruppen eller måste startx fungera för varje individuell person?

Hoppas ni förstår vad jag menar!

Vad jag kunde läsa av så ska det vara dessa mapparna program körs från:
/opt/
/usr/
/usr/bin
/usr/local

Edit: ändrade lite smått så att det blir lättare att förstå hur jag menar. stavfel.

Permalänk
Medlem

att pilla med att ändra på rättigheterna i /usr och /usr/bin är nog en av de dummaste sakerna man kan göra om man inte vet exakt vad man pysslar med. Ingen förutom root bör ha rättigheten 777 i dessa kataloger

att ge sätta rättigheten 777 på själva katalogen /usr skulle då innebära att vem som helst i systemet utan speciella admin privilegier eller något kan helt enkelt byta namn på /usr till /hej och krascha systemet på 5sekunder.

chmod: http://www.onlineconversion.com/html_chmod_calculator.htm

fil format: uuu-ggg-ooo
::::::::::::::: rwx-rwx-rwx

u: owner(user)
g: group
o: other

r: read: 4
w:write: 2
x: execute: 1

Vill man låsa rättigheterna till en fil så kan man börja med att

1. skapa en grupp och sedan lägg användare i den gruppen som ska få ha speciella tillgångar till att köra eller läsa det programmet i.
2. tilldela filen en grupp med sudo chgrp. Skapa gruppen innan du till

Att veta: kolla vilka grupper det finns och vilka användare som är medlem i dom: cat /etc/group

säg att du har en fil som heter: test.txt.
ls -lah test.txt ger:

-rw- r-- r-- 1 myUser myUser 0 dec 16 21:05 test.txt
uuu ggg ooo

Ägaren till filen är din egen användare. Du kan skriva(w) och läsa(r) till/från filen.
Alla som är medlem i gruppen myUser gruppen får endast läsa(r) denna fil.
Alla andra användare får (enbart) läsa(r) denna fil.

Ändra grupptillhörigheten på filen med chgrp nygrupp test.txt

då ser det ut såhär

-rw- r-- r-- 1 myUser nygrupp 0 dec 16 21:05 test.txt
uuu ggg ooo

(hade detta varit en katalog så hade bokstaven d (för directory) stått först typ: dwr- r-- r-- )

ta bort läsrättigheter får "alla andra": chmod o-r test.txt ger detta:
-rw- r-- --- 1 myUser nygrupp 0 dec 16 21:05 test.txt
uuu ggg ooo

Sedan lägger du påhittade användaren someUser i denna gruppen nygrupp.
usermod -aG [grupp] [user]
usermod -aG nygrupp someUser
-aG : (a)append, (G)lägg till i ytterligare grupper utan att ta bort användaren från någon annan grupp som denne tillhör.

hur man begränsar rättigheter till program: skapa ett program och prova, här kommer ett program, lägg nedanstående i en fil, myprogram.sh eller bara myprogram funkar också om du vill. .sh i slutet hjälper dock dig att komma ihåg att det är ett bash baserat program.

#!/bin/bash
echo this is my program.

chmod u+x myprogram.sh
programmet är nu körbart för dig som är ägaren/skaparen av filen.

kör programmet: ./myprogram.sh

Du kan ändra grupptillhörigheten för programmet precis som du gjorde med textfilen.
chmod 740 myprogram.sh
ägaren: läs,skriv
gruppen får: läsa
alla andra får: ingenting

chmod 750 myprogram.sh
ägaren: läs,skriv
gruppen får: läsa,exekvera(köra programmet)
alla andra får: ingenting

viktiga systemfiler ägs av root: som exempel kompressions-programmet gunzip:

ls -lah /bin/gunzip
-rwx r-x r-x 1 root root 2,3K okt 27 2014 /bin/gunzip
uuu ggg ooo

ägaren: root får: läsa,skriva,exekvera
gruppen: root får: läsa,exekvera.
alla andra får: läsa,exekvera

sudo chmod 750 /bin/gunzip
ägaren: läs,skriv,exekvera
gruppen får: läsa,exekvera(köra programmet)
alla andra får: ingenting

sudo chgrp nygrupp /bin/gunzip ger:
ls -lah /bin/gunzip
-rwx r-x --- 1 root nygrupp 2,3K okt 27 2014 /bin/gunzip
uuu ggg ooo

alla som är medlem i nygrupp kan läsa och exekvera programmet förutom ägaren root som får göra allt.
resten av folket får inte göra nånting med filen.

Så fungerar det också på konfigurationsfiler förstås så du kan låsa inställningar genom att ta bort skrivrättigheten till dom.

om du har en katalog med utvalda program som ett antal människor ska ha tillgång till:
sudo mkdir /home/test
sudo chmod 550 /home/test
ägaren får: läsa,exekvera(dvs gå in i katalogen genom att ha execute rättighet)
gruppmedlemmar får: läsa,exekvera(dvs gå in i katalogen genom att ha execute rättighet)
alla andra får: ingenting

där kan man lägga program, filer, filmer m.m.
Du kan fundera på vad som händer ifall du sätter chmod 777 på alla filer,filer inuti /home/test/*
typ chmod 777 /home/test/*

kommer någon förutom ägaren och gruppmedlemmar kunna skriva,exekvera eller läsa filerna?

prova och experimentera lite

Permalänk
Medlem

vilken Linux dist använder du? lite oklart för mej.

Permalänk
Skrivet av Lexdale:

att pilla med att ändra på rättigheterna i /usr och /usr/bin är nog en av de dummaste sakerna man kan göra om man inte vet exakt vad man pysslar med. Ingen förutom root bör ha rättigheten 777 i dessa kataloger

att ge sätta rättigheten 777 på själva katalogen /usr skulle då innebära att vem som helst i systemet utan speciella admin privilegier eller något kan helt enkelt byta namn på /usr till /hej och krascha systemet på 5sekunder.

chmod: http://www.onlineconversion.com/html_chmod_calculator.htm

fil format: uuu-ggg-ooo
::::::::::::::: rwx-rwx-rwx

u: owner(user)
g: group
o: other

r: read: 4
w:write: 2
x: execute: 1

Vill man låsa rättigheterna till en fil så kan man börja med att

1. skapa en grupp och sedan lägg användare i den gruppen som ska få ha speciella tillgångar till att köra eller läsa det programmet i.
2. tilldela filen en grupp med sudo chgrp. Skapa gruppen innan du till

Att veta: kolla vilka grupper det finns och vilka användare som är medlem i dom: cat /etc/group

säg att du har en fil som heter: test.txt.
ls -lah test.txt ger:

-rw- r-- r-- 1 myUser myUser 0 dec 16 21:05 test.txt
uuu ggg ooo

Ägaren till filen är din egen användare. Du kan skriva(w) och läsa(r) till/från filen.
Alla som är medlem i gruppen myUser gruppen får endast läsa(r) denna fil.
Alla andra användare får (enbart) läsa(r) denna fil.

Ändra grupptillhörigheten på filen med chgrp nygrupp test.txt

då ser det ut såhär

-rw- r-- r-- 1 myUser nygrupp 0 dec 16 21:05 test.txt
uuu ggg ooo

(hade detta varit en katalog så hade bokstaven d (för directory) stått först typ: dwr- r-- r-- )

ta bort läsrättigheter får "alla andra": chmod o-r test.txt ger detta:
-rw- r-- --- 1 myUser nygrupp 0 dec 16 21:05 test.txt
uuu ggg ooo

Sedan lägger du påhittade användaren someUser i denna gruppen nygrupp.
usermod -aG [grupp] [user]
usermod -aG nygrupp someUser
-aG : (a)append, (G)lägg till i ytterligare grupper utan att ta bort användaren från någon annan grupp som denne tillhör.

hur man begränsar rättigheter till program: skapa ett program och prova, här kommer ett program, lägg nedanstående i en fil, myprogram.sh eller bara myprogram funkar också om du vill. .sh i slutet hjälper dock dig att komma ihåg att det är ett bash baserat program.

#!/bin/bash
echo this is my program.

chmod u+x myprogram.sh
programmet är nu körbart för dig som är ägaren/skaparen av filen.

kör programmet: ./myprogram.sh

Du kan ändra grupptillhörigheten för programmet precis som du gjorde med textfilen.
chmod 740 myprogram.sh
ägaren: läs,skriv
gruppen får: läsa
alla andra får: ingenting

chmod 750 myprogram.sh
ägaren: läs,skriv
gruppen får: läsa,exekvera(köra programmet)
alla andra får: ingenting

viktiga systemfiler ägs av root: som exempel kompressions-programmet gunzip:

ls -lah /bin/gunzip
-rwx r-x r-x 1 root root 2,3K okt 27 2014 /bin/gunzip
uuu ggg ooo

ägaren: root får: läsa,skriva,exekvera
gruppen: root får: läsa,exekvera.
alla andra får: läsa,exekvera

sudo chmod 750 /bin/gunzip
ägaren: läs,skriv,exekvera
gruppen får: läsa,exekvera(köra programmet)
alla andra får: ingenting

sudo chgrp nygrupp /bin/gunzip ger:
ls -lah /bin/gunzip
-rwx r-x --- 1 root nygrupp 2,3K okt 27 2014 /bin/gunzip
uuu ggg ooo

alla som är medlem i nygrupp kan läsa och exekvera programmet förutom ägaren root som får göra allt.
resten av folket får inte göra nånting med filen.

Så fungerar det också på konfigurationsfiler förstås så du kan låsa inställningar genom att ta bort skrivrättigheten till dom.

om du har en katalog med utvalda program som ett antal människor ska ha tillgång till:
sudo mkdir /home/test
sudo chmod 550 /home/test
ägaren får: läsa,exekvera(dvs gå in i katalogen genom att ha execute rättighet)
gruppmedlemmar får: läsa,exekvera(dvs gå in i katalogen genom att ha execute rättighet)
alla andra får: ingenting

där kan man lägga program, filer, filmer m.m.
Du kan fundera på vad som händer ifall du sätter chmod 777 på alla filer,filer inuti /home/test/*
typ chmod 777 /home/test/*

kommer någon förutom ägaren och gruppmedlemmar kunna skriva,exekvera eller läsa filerna?

prova och experimentera lite

Jo jag har läst mig till det du skrev, problemet jag hade var att det inte gick att starta x vad jag än gjorde (det var det jag ville få fram med 777.), fick installera om och lösa det så.
Jag kör detta i Virtualbox med snapshots (glömde det förra installationen) så jag bara kan backa.
Problemet är inte längre att jag inte vet hur jag ska gå tillväga med siffror osv utan:
Jag ska låsa ALLT, det ända användaren ska göra är kunna starta chrome/chromium och libreoffice, nå "home", mer ska det inte gå.

Sätter jag 750 (vilket är i stora drag det jag vill) på /usr/bin, fungerar inga program vilket är det jag vill åt.
MEN med denna metoden fungerar inte heller X varken med "startx" eller automagiskt (vilket jag vill), sätter jag "chmod 755 /usr/bin/startx" får jag gnäll om python3, problemet med detta är att det inte hjälper vad "python*" har för siffror och premissions det fungerar ändå inte.

Det måste ju finnas något annat sätt som är lättare.
Jag har fått väldigt fritt med denna uppgiften så finns det något simplare så ge gärna tips på något att googla på för jag är fast.
Och för att svara på din fråga
Ja eftersom den sista är en 7a så är det under "other" alltså ALLA andra än user och group.
- Hoppas du förstår mig, är grymt frustrerad över att inte x vill fungera (förutom i root men det är ju pga 7an i 750.) och tack för input!

Skrivet av Lexdale:

vilken Linux dist använder du? lite oklart för mej.

Just nu sitter jag med Kubuntu och Xubuntu pga att jag hade ISO filerna på datorn.
Men kan mina vägar runt Fedora bättre enligt mig, är förövrigt väldigt glad för gnome 3.* men eftersom latheten kickade in och jag känner att mer oftast finns för ubuntu och debian körde jag på det!

Permalänk
Avstängd

Verkar som att din lärare inte riktigt har gått igenom de mest basala kunskaperna inom filrättigheter. Märkligt av läraren att ge en sådan uppgift när eleverna inte riktigt har fattat det här med filrättigheter. Eller?

Visa signatur

Dator: i7 4960x | 32GB RAM | Asus Rampage IV Formula | GTX 1080
OS: Slackware 64-bit current + multilib

Laptop: HP Elitebook 6930p | 8GB RAM | 211GB SSD RAID 0 | 256MB AMD Radeon HD 3450/3470 | Intel Duo T9900 @ 3.06GHz
OS: Slackware 64-bit 14.2

Permalänk
Medlem

Såhär räknar du ihop rättigheterna:

nu kan du att en fil alltid har rättighetsformatet:

uuu ggg ooo test.txt
rwx rwx rwx

som du ser så består det av 3 kolummer och varje kolumm räknas ihop var för sig.

chmod 750 exempel:

uuu ggg ooo
rwx r-x ---

spalt 1: rwx : 4+2+1 = 7
spalt 2: r-x : 4+1 = 5
spalt 3: --- : 0

ger 750

Sätter du 777 på /usr/bin kan vem som helst:
r: läsa den
x: gå IN i inuti katalogen, dvs cd /usr/bin
w: ändra namn

Linux filsystem är gjort så att du kan skräddarsy rättigheter för varje fil och jag antar att det är så du kanske måste göra?

Exempel: Pelle ska inte få tillgång att använda LibreOffice, leta rätt på programmet och ändra grupprättigheterna och "other" till det du vill ha. Ta bort x rättigheterna på filen bara.

prova kommando: locate
och använd |more för att kunna bläddra skärmvis eftersom du kommer att få många träffar
locate libreoffice
Försök själv att lista ur vilken fil som är den körbara binära huvudfilen.

OBS. om du inte hittar så kan du "fuska lite" och använda det grymma kommandot which libreoffice

är det inte massa andra viktiga binära filer (bortsett från startx) inuti katalogen /usr/bin som alla behöver ha tillgång till dock för att allt ska fungera för alla användare? det har jag dålig koll på tyvärr vad som händer ifall man inte har tillgång alls till dom.

du har problem med filen:
startx : -rwxr-xr-x 1 root root 5,4K apr 26 2016 startx
och filerna pyton (det är ett par ifall du har sett det)

cd /usr/bin
ls -lah python*

lrwxrwxrwx 1 root root 9 dec 16 21:57 python -> python2.7 : 777
lrwxrwxrwx 1 root root 9 dec 16 21:57 python2 -> python2.7 : 777
-rwx r-x r-x 1 root root 3,4M nov 19 10:35 python2.7 : 755
lrwxrwxrwx 1 root root 9 dec 16 21:57 python3 -> python3.5 : 777
-rwx r-x r-x 1 root root 4,3M nov 17 20:23 python3.5 : 755
-rwx r-x r-x 1 root root 4,3M nov 17 20:23 python3.5m : 755
lrwxrwxrwx 1 root root 10 dec 16 21:57 python3m -> python3.5m : 777

Jag använder dock Linux Mint, men det borde inte skilja sig.
Filer med grön färg för mig i Linux Mint är körbara, färgen gör det lättare att snabbt se vilken typ av fil det är.
filer vars rättigheter börjar med L är en länk.

Prova att chmodda alla filer inuti /usr/bin istället för katalogen som känns rätt tabuu att chmodda. Det låter nästan lite som att du skulle chmodda 750 c:\windows\system eller något.

sudo chmod [###] /usr/bin/*

Kan du gissa vad du behöver ha för siffror istället för ### ?
OBS.INNAN du gör det, skriv ned vad startx samt python har för ursprungliga rättigheter.

observera att man inte behöver använda siffror, utan ibland är det lättare att använda boktäver. Men ibland är det lättare att använda siffror beroende på vilka rättigheter filen ska Få och vilka Rättigheter filen Redan Har.

prova skapa en fil: echo hej > test.txt
inuti filen står det nu hej.
du kan använda: chmod go-rwx test.txt : tar bort rwx för gruppmedlemmar och others.
chmod ugo+rwx : ger motsvarande chmod 777

men säg att filen test.txt redan har formatet: rwx r-x rwx
och du vill ha formatet: rwx rwx rw- (motsvarande chmod 776)

då kanske du måste göra chmod g+w för att gruppen ska kunna skriva och därefter en till chmod operation: chmod o-x
därför hade det varit enklare i detta fall och skriva chmod 776. Jag själv använder mig både av chmod ### och chmod u/g/o +r/w/x

chmodda sedan enbart startx och pythonfilerna tillbaka till dess ursprungliga rättighetsformat vilka du säger är de obligatoriska filerna som alla måste ha tillgång till att köra och för den delen också läsa, om man inte kan läsa filen så kan man inte heller köra den.

ls -lah /usr/bin/startx ger:
startx: - rwx r-x r-x : [4+2+1] [4+1] [4+1] = 755
det första strecket kan du strunta i eftersom det representerar ifall det är en katalog(d) eller en hårddisk(b för blockenhet) eller en länk(l).

sudo chmod 755 /usr/bin/startx

om användaren enbart ska ha tillgång till Libreoffice och Chrome så behöver du nog chmodda jäääärnet. Jag har aldrig använt xubuntu eller dyligt, men kolla i typ startmenyn/motsvarande vilka program det finns, leta upp dom och chmodda dom.

chmodda alla pythonfiler också tillbaka till dess ursprungliga format.

Permalänk
Skrivet av eXpander_:

Verkar som att din lärare inte riktigt har gått igenom de mest basala kunskaperna inom filrättigheter. Märkligt av läraren att ge en sådan uppgift när eleverna inte riktigt har fattat det här med filrättigheter. Eller?

Jag är självlärd med mycket när det gäller linux, detta är en specialuppgift jag fått (går på gymnasiet i 3an) då jag tycker det är extremt intressant att köra linux, detta har alltså varit ett fritt "projekt" som inte ingår i kursen utan endast kunde höja mitt betyg. (alltså en extrauppgift)
Anledningen att jag la ut här var för att jag inte riktigt visste hur jag skulle gå vidare då jag ska låsa allt i stort sätt, hade nog kunnat lista ut det lättare om det vore 1st program eller liknande.
Så det är bara jag som fått denna uppgiften. (alltså i mina tankar har inte läraren gjort fel, han har nog inte riktigt koll på vad jag kan heller.)

Skrivet av Lexdale:

Såhär räknar du ihop rättigheterna:

nu kan du att en fil alltid har rättighetsformatet:

uuu ggg ooo test.txt

som du ser så består det av kolummer och varje kolumm räknas ihop var för sig.

chmod 750 exempel:

uuu ggg ooo
rwx r-x ---

spalt 1: rwx : 4+2+1 = 7
spalt 2: r-x : 4+1 = 5
spalt 3: --- : 0

ger 750

Sätter du 777 på /usr/bin kan vem som helst:
r: läsa den
x: gå IN i inuti katalogen, dvs cd /usr/bin
w: ändra namn

Linux filsystem är gjort så att du kan skräddarsy rättigheter för varje fil och jag antar att det är så du kanske måste göra?

Exempel: Pelle ska inte få tillgång att använda LibreOffice, leta rätt på programmet och ändra grupprättigheterna och "other" till det du vill ha. Ta bort x rättigheterna på filen bara.

prova kommando: locate
och använd |more för att kunna bläddra skärmvis eftersom du kommer att få många träffar
locate libreoffice
Försök själv att lista ur vilken fil som är den körbara binära huvudfilen.

OBS. om du inte hittar så kan du "fuska lite" och använda det grymma kommandot which libreoffice

är det inte massa andra viktiga binära filer (bortsett från startx) inuti katalogen /usr/bin som alla behöver ha tillgång till dock för att allt ska fungera för alla användare? det har jag dålig koll på tyvärr vad som händer ifall man inte har tillgång alls till dom.

du har problem med filen:
startx : -rwxr-xr-x 1 root root 5,4K apr 26 2016 startx
och filerna pyton (det är ett par ifall du har sett det)

cd /usr/bin
ls -lah python*

lrwxrwxrwx 1 root root 9 dec 16 21:57 python -> python2.7 : 777
lrwxrwxrwx 1 root root 9 dec 16 21:57 python2 -> python2.7 : 777
-rwx r-x r-x 1 root root 3,4M nov 19 10:35 python2.7 : 755
lrwxrwxrwx 1 root root 9 dec 16 21:57 python3 -> python3.5 : 777
-rwx r-x r-x 1 root root 4,3M nov 17 20:23 python3.5 : 755
-rwx r-x r-x 1 root root 4,3M nov 17 20:23 python3.5m : 755
lrwxrwxrwx 1 root root 10 dec 16 21:57 python3m -> python3.5m : 777

Jag använder dock Linux Mint, men det borde inte skilja sig.
Filer med grön färg för mig i Linux Mint är körbara, färgen gör det lättare att snabbt se vilken typ av fil det är.
filer vars rättigheter börjar med L är en länk.

Prova att chmodda alla filer inuti /usr/bin istället för katalogen som är rätt tabuu att chmodda. Det låter nästan lite som att du skulle chmodda 750 c:\windows\system eller något.

sudo chmod [###] /usr/bin/*

Kan du gissa vad du behöver ha för siffror istället för ### ?

chmodda sedan startx och pythonfilerna tillbaka till dess ursprungliga rättighetsformat:

startx: - rwx r-x r-x : [4+2+1] [4+1] [4+1] = 755
det första strecket kan du strunta i eftersom det representerar ifall det är en katalog(d) eller en enhet/hårddisk(b) eller en länk(l).
sudo chmod 755 /usr/bin/startx

chmod 777 /usr/bin/python*

Även om jag skriver "/usr/bin/*" istället för utan "*" så gör det inte någon skillnad i slutändan, anledningen till att jag drog in "777" var för att visa att alla ska ha tillgång till det, det blev ominstallation eftersom någon fil antagligen inte ville som jag ville.

Mitt dilemma är att jag ska låsa systemfiler (vissa iaf) för att bli av med settings och calendar osv, man ska inte ens kunna byta bakgrundsbild och vad jag märker är mycket av det vitala systemfilerna i /usr/bin/ och inte bara program, sätter jag 750 på alla filer i mappen får inte systemet tillgång och sätter jag mer får alla tillgång (r + x) (till viss del i alla fall).

Om jag inte missminner mig bygger Mint på Ubuntu så det ska ju inte vara mycket skillnad där.

Finns det någon simpel Window manager/DE, så man istället för att stänga vitala filer eller inställningar så gör man det omöjligt att nå det från skrivbordet.
Till din fråga, Beroende vad som ska göras men i mitt fall skulle jag behöva köra 750 eftersom min användare inte ska nå programmen, men då kommer vi till det att även om jag har 777 på python eller 755 som är rätt så gnäller startx och då har jag inte ändrat på något annat än i /usr/bin/ .

Förresten varför har du skrivit "chmod 777 /usr/bin/python*" och inte 755? (inte för att något alternativ fungerar.

Permalänk
Medlem

chmod 777 /usr/bin/python* var ett misstag som jag redigerade bort förmodligen exakt samtidigt som du påpekade det

1. chmodda inte katalogen /usr/bin
2. kom ihåg rättigheterna för pytonfilerna och startx

prova detta:
cd /usr/bin
ls -lah > /home/myUser/orginalpermissions.txt

nu är du klar att pilla med filerna:

det räcker såklart inte att chmodda filerna inuti /usr/bin/*
filerna har ägare och grupp-ägare vars båda är root

det måste du lösa, ändra aldrig ägaren, däremot gruppen kan du leka med. Det är nog inget måste att ändra grupptillhörigheten på filerna men det är förmodigen kanske inte så trovärdigt att ingen användare förutom root får starta ljudprogram och spela upp sin mp3lista m.m.

sudo chgrp nygrupp /usr/bin/*

nu kommer filerna att se ut såhär: root nygrupp
Se här som exempel på python filerna har utseendet ändrats:

lrwxrwxrwx 1 root nygrupp 9 dec 16 21:57 python -> python2.7 : 777
lrwxrwxrwx 1 root nygrupp 9 dec 16 21:57 python2 -> python2.7 : 777
-rwx r-x r-x 1 root nygrupp 3,4M nov 19 10:35 python2.7 : 755
lrwxrwxrwx 1 root nygrupp 9 dec 16 21:57 python3 -> python3.5 : 777
-rwx r-x r-x 1 root nygrupp 4,3M nov 17 20:23 python3.5 : 755
-rwx r-x r-x 1 root nygrupp 4,3M nov 17 20:23 python3.5m : 755
lrwxrwxrwx 1 root nygrupp 10 dec 16 21:57 python3m -> python3.5m : 777

nu är du redo att: sudo chmod 750 /usr/bin/*
750 : ägaren har rwx, gruppmedlemmen har rx

Alla som är medlem i gruppen nygrupp har rättigheterna rx på alla filer i /usr/bin/*

Chmodda sedan tillbaka orginal permissions på de vitala filerna som alla behöver ha tillgång till /usr/bin/vilkafiler?

Alla andra, dvs "others", kan inte göra nånting med filerna där, och det var väl det du ville.

om man är lite smart så kan man "frysa rättigheterna i det nuvarande tillstånd" för de vitala viktiga filerna som alla måste ha tillgång till:
sudo chattr +i /usr/bin/libreoffice*
sudo chattr +i /usr/bin/startx
sudo chattr +i /usr/bin/python*
etc...

OBS.Det kan vara flera filer än startx som behöver behålla sina nuvarande rättigheter för att startx ska fungera för alla. Startx kanske är beroende av någon/några andra filer. Leta rätt på dessa filer isåfall och prova även frys rättigheterna för dessa vitala filer som alla måste ha kvar sina tillstånd till.

sedan sudo chmod 750 /usr/bin/*
och de vitala filerna som du fryst kommer inte att påverkas.

om du ångrar din låsning på filerna så kan du alltid backa genom att:
sudo chattr -i /usr/bin/startx
nu går rättigheterna att ändra för denna fil igen.

Varför gör du inte såhär att du gör ett bash skript som fixar det snabbt ifall du vill backa bandet.

sudo apt-get install gedit
gedit

#!/bin/bash
sudo chattr +i /usr/bin/libreoffice*
sudo chattr +i /usr/bin/startx
sudo chattr +i /usr/bin/python*

spara filen som /home/myUser/freeze.sh
gör den körbar för din användare: chmod 700 /home/myUser/freeze.sh

vill du backa bandet så går du bara in i filen och sätter - istället för plus samt förstås exekverar den.

Lägg in i filen alla dina andra systemkorrigeringar också så du lätt kan backa bandet.

exekvera scriptet som sudo.

Sedan så ska det inte att gå att ändra bakgrund och några inställningar alls i princip, då måste du kanske kolla in konfigurationsfilerna, finns vanligtvis i /etc

write rättigheterna för o "others" måste då tas bort. inklusive på alla underkataloger och dess filer då.
konfigurationsfiler har vanligtvis ändelsen .conf

alla användare måste dock ha kvar sina Read rättigheter för alla konfiguationsfiler annars kommer inte användare kunna logga in ordentligt.

det finns kommandon som kan gå igenom /etc/ och alla dess underkataloger och ta bort Write rättigheter på alla filer med .conf till exempel. Tycker det är lite knepigt att du fått sådan mager specifikation på hur du ska gå tillväga. Det ska inte vara trial and error tycker jag.

en del konfigurationsfiler hittar du nånstans i din egen hem: sudo [ta bort dina egna skrivrättigheter]

Permalänk
Skrivet av Lexdale:

chmod 777 /usr/bin/python* var ett misstag som jag redigerade bort förmodligen exakt samtidigt som du påpekade det

1. chmodda inte katalogen /usr/bin
2. kom ihåg rättigheterna för pytonfilerna och startx

prova detta:
cd /usr/bin
ls -lah > /home/myUser/orginalpermissions.txt

nu är du klar att pilla med filerna:

det räcker såklart inte att chmodda filerna inuti /usr/bin/*
filerna har ägare och grupp-ägare vars båda är root

det måste du lösa, ändra aldrig ägaren, däremot gruppen kan du leka med. Det är nog inget måste att ändra grupptillhörigheten på filerna men det är förmodigen kanske inte så trovärdigt att ingen användare förutom root får starta ljudprogram och spela upp sin mp3lista m.m.

sudo chgrp nygrupp /usr/bin/*

nu kommer filerna att se ut såhär: root nygrupp
Se här som exempel på python filerna har utseendet ändrats:

lrwxrwxrwx 1 root nygrupp 9 dec 16 21:57 python -> python2.7 : 777
lrwxrwxrwx 1 root nygrupp 9 dec 16 21:57 python2 -> python2.7 : 777
-rwx r-x r-x 1 root nygrupp 3,4M nov 19 10:35 python2.7 : 755
lrwxrwxrwx 1 root nygrupp 9 dec 16 21:57 python3 -> python3.5 : 777
-rwx r-x r-x 1 root nygrupp 4,3M nov 17 20:23 python3.5 : 755
-rwx r-x r-x 1 root nygrupp 4,3M nov 17 20:23 python3.5m : 755
lrwxrwxrwx 1 root nygrupp 10 dec 16 21:57 python3m -> python3.5m : 777

nu är du redo att: sudo chmod 750 /usr/bin/*
750 : ägaren har rwx, gruppmedlemmen har rx

Alla som är medlem i gruppen nygrupp har rättigheterna rx på alla filer i /usr/bin/*

Chmodda sedan tillbaka orginal permissions på de vitala filerna som alla behöver ha tillgång till /usr/bin/vilkafiler?

Alla andra, dvs "others", kan inte göra nånting med filerna där, och det var väl det du ville.

om man är lite smart så kan man "frysa rättigheterna i det nuvarande tillstånd" för de vitala viktiga filerna som alla måste ha tillgång till:
sudo chattr +i /usr/bin/libreoffice*
sudo chattr +i /usr/bin/startx
sudo chattr +i /usr/bin/python*
etc...

OBS.Det kan vara flera filer än startx som behöver behålla sina nuvarande rättigheter för att startx ska fungera för alla. Startx kanske är beroende av någon/några andra filer. Leta rätt på dessa filer isåfall och prova även frys rättigheterna för dessa vitala filer som alla måste ha kvar sina tillstånd till.

sedan sudo chmod 750 /usr/bin/*
och de vitala filerna som du fryst kommer inte att påverkas.

om du ångrar din låsning på filerna så kan du alltid backa genom att:
sudo chattr -i /usr/bin/startx
nu går rättigheterna att ändra för denna fil igen.

Varför gör du inte såhär att du gör ett bash skript som fixar det snabbt ifall du vill backa bandet.

sudo apt-get install gedit
gedit

#!/bin/bash
sudo chattr +i /usr/bin/libreoffice*
sudo chattr +i /usr/bin/startx
sudo chattr +i /usr/bin/python*

spara filen som /home/myUser/freeze.sh
gör den körbar för din användare: chmod 700 /home/myUser/freeze.sh

vill du backa bandet så går du bara in i filen och sätter - istället för plus samt förstås exekverar den.

Lägg in i filen alla dina andra systemkorrigeringar också så du lätt kan backa bandet.

exekvera scriptet som sudo.

Sedan så ska det inte att gå att ändra bakgrund och några inställningar alls i princip, då måste du kanske kolla in konfigurationsfilerna, finns vanligtvis i /etc

write rättigheterna för o "others" måste då tas bort. inklusive på alla underkataloger och dess filer då.
konfigurationsfiler har vanligtvis ändelsen .conf

alla användare måste dock ha kvar sina Read rättigheter för alla konfiguationsfiler annars kommer inte användare kunna logga in ordentligt.

det finns kommandon som kan gå igenom /etc/ och alla dess underkataloger och ta bort Write rättigheter på alla filer med .conf till exempel. Tycker det är lite knepigt att du fått sådan mager specifikation på hur du ska gå tillväga. Det ska inte vara trial and error tycker jag.

en del konfigurationsfiler hittar du nånstans i din egen hem: sudo [ta bort dina egna skrivrättigheter]

Jag får tacka för hjälpen letar vidare med chmod och ser om jag kan hitta något som fungerar!
Jag tror att startx är beroende av något program i denna mappen med vilket innebär att jag måste hitta alla som den länkar till!

Dock är det bättre att jag får testa mig fram nu istället för ute i arbetslivet om jag får denna typen av arbete!

Men som sagt tack för hjälpen och nu får jag fortsätta att försöka!

Kan ju säga att tack vare er har jag lärt mig mer om filrättigheter än vad jag kunde innan så även om jag inte klarar denna uppgiften är det ju ett steg på vägen!

Permalänk
Medlem
Skrivet av jappejopp:

Jag får tacka för hjälpen letar vidare med chmod och ser om jag kan hitta något som fungerar!
Jag tror att startx är beroende av något program i denna mappen med vilket innebär att jag måste hitta alla som den länkar till!

Dock är det bättre att jag får testa mig fram nu istället för ute i arbetslivet om jag får denna typen av arbete!

Men som sagt tack för hjälpen och nu får jag fortsätta att försöka!

Kan ju säga att tack vare er har jag lärt mig mer om filrättigheter än vad jag kunde innan så även om jag inte klarar denna uppgiften är det ju ett steg på vägen!

Jo fast det ska ju ändå inte vara trail and error, du borde ha något slags undervisningsmaterial som pekar vägen och ungefär på tillvägagångssätt.

Att själv googla fram alla hundratals .conf filer och binära-filer+beroende filer är låter som ett jäkla jobb.
Jag skulle ha mailat läraren och klagat på bristfällig vägledning.

De mest grundläggande sakerna borde du dock kunna googla fram och chmodda bort rättigheter för.

Provade du att göra på det sättet som jag föreslog btw? Hur gick det?

Prova:
1. skriv en lista på vilka program som är installerade
2. ta reda på sökvägen till respektive program: which [program]
3. chmodda bort execute rättigheten för respektive program.

För de konfigurationsfiler som du vill ta bort så att inga förändringar kan göras
1. ta bort write rättigheterna, du hittar konfigurationsfilerna i användarens hemkatalog

konfigurationsfiler finns annars i /etc men en normal användare har inte rättigheter till write här, så ingenting här behöver göras i ditt fall. För att ändra i konfigurationsfiler i /etc behöver du alltså vara root. Du kan ignorera ett av mina tidigare inlägg där jag nämnde att du kunde ta bort write rättigheterna på filer i /etc, jag måste ha varit väldigt trött när jag skrev det

Att kunna/ha kunskapen att göra filer "immuna" mot förändringar med sudo chattr +i tycker jag är enormt bra.

Permalänk
Skrivet av Lexdale:

Jo fast det ska ju ändå inte vara trail and error, du borde ha något slags undervisningsmaterial som pekar vägen och ungefär på tillvägagångssätt.

Att själv googla fram alla hundratals .conf filer och binära-filer+beroende filer är låter som ett jäkla jobb.
Jag skulle ha mailat läraren och klagat på bristfällig vägledning.

De mest grundläggande sakerna borde du dock kunna googla fram och chmodda bort rättigheter för.

Provade du att göra på det sättet som jag föreslog btw? Hur gick det?

Prova:
1. skriv en lista på vilka program som är installerade
2. ta reda på sökvägen till respektive program: which [program]
3. chmodda bort execute rättigheten för respektive program.

För de konfigurationsfiler som du vill ta bort så att inga förändringar kan göras
1. ta bort write rättigheterna, du hittar konfigurationsfilerna i användarens hemkatalog

konfigurationsfiler finns annars i /etc men en normal användare har inte rättigheter till write här, så ingenting här behöver göras i ditt fall. För att ändra i konfigurationsfiler i /etc behöver du alltså vara root. Du kan ignorera ett av mina tidigare inlägg där jag nämnde att du kunde ta bort write rättigheterna på filer i /etc, jag måste ha varit väldigt trött när jag skrev det

Att kunna/ha kunskapen att göra filer "immuna" mot förändringar med sudo chattr +i tycker jag är enormt bra.

Har inte gjort skriptet då jag inte riktigt kan hitta vilka program som är viktiga för startx, går på lov i morgon med så det får skjutas på en aning men försöker över lovet med!

Jo jag har ju i alla fall lärt mig något av denna uppgiften!