Användare, Rättigheter och Filträd

Här skriver vi våran FAQ. Vill du komma med förslag, skriva själv eller rätta stavfel så gör det här. Någorlunda färdiga frågor komer att läggas i forumet FAQ.
Post Reply
User avatar
Emil.s
Posts: 4366
Joined: 24 May 2005, 22:22
Location: Hedemora/Dalarna
Contact:

Användare, Rättigheter och Filträd

Post by Emil.s » 7 January 2007, 22:11

Största projektet hittills tror jag... Men man lärde sig en del när man läste info. :)
Förmodligen är det mycket mer som ska läggas till... Några tips på saknad information? :)

###########################################
###########################################

Användare/Grupper:
I *NIX system så är systemet väldigt beroende av olika användare. Användarhanteringen skiljer sig även mycket från Windows, och kan vara svår att förstå sig på om man inte är van sedan något annat POSIX system.

Administratörs kontot heter "root", även kallat "super user" och har all kontroll över systemet. Har man möjlighet att bli root kan man göra precis vad man vill med systemet. Det finns INGA begränsningar.
Därför ska man alltid vara rädd om lösenordet för root, och inte använda root kontot för vardagliga sysslor.

Alla användare utom root är mer eller mindre så kallade "användare". Det finns oftast många systemanvändare som tex "klog", "ntp", "mysql", "cupsys", "daemon", "bind" osv.
Tex så körs oftast Apache som användaren "apache" eller "www-data". Användaren skapas automatiskt vid installation, och användaren finns pga säkerheten.
Om tex databashanteraren mysql skulle innehålla ett säkethetshål som gör att datorn står öpen för hackaren är det ju inte så bra om mysql skulle köras som root.
Eftersom mysql då kört som användaren "mysql" så kommer man in, men inte längre. :)

Vanliga användare som, ditt konto du förmodligen använder nu har bara begränsade möjligheter till systemadministration.
Man har i princip bara rättighet till sin egen "hem katalog", som oftast är /home/*användarnamn*/
I den katalogen sparas alla inställningar och filer. Även tex inställningar för tex Gaim, Mozilla Firefox osv.
Så om du skulle vilja ta backupp på dina inställningar så är allt du behöver en backupp på /home/*användarnamn*. :)

Grupper:
Alla användare måste (?) tillhöra en grupp.
Grupper har mest med rättigheter att göra, tex så måste man vara med i gruppen "audio" för att kunna använda datorn ljudsystem, "cdrom" för CD/DVD läsaren osv.
Det är även bra när man ställer in rättigheter på delade kataloger osv. Vilket jag återkommer till senare.

Kommandon
Här är några grundläggande kommandon för att hantera användare/grupper. :)

"useradd" är standard i GNU/Linux för att lägga till användare. I Debian (Och distar som bygger på debian) finns även verktyget "adduser". För mer info om det, se manualen. ;)

För att lägga till en användare:

Code: Select all

useradd *användarnamn*

Svara på frågorna och användaren är skapad. :)
För mer info, och hjälp, se "useradd --help" och "man useradd".

Lägga till en grupp:

Code: Select all

addgroup *gruppnamn*
Lägga till en användare i en grupp

Code: Select all

usermod -G *gruppnamn* *användarnamn*
Usermod är ett mycket användbart kommando. Det kan man använda för nästan allt som har med användare att göra.
Byta hemkatalog, byta standardskal osv. Se "usermod --help" och manualen.

Byta lösenord:

Code: Select all

passwd
Man kan även byta lösenord på andra. Kör då "passwd *användare*" som root.

I alla exempel ovan ska såklart ** tas bort. Så för att lägga till en användare blir det alltså:

Code: Select all

useradd emil
"who", eller "w" listar vilka användare som är inloggade på systemet:

Code: Select all

emil@emils-macbook.local: ~ $ w
21:05  up  1:05, 2 users, load averages: 0.32 0.23 0.17
USER     TTY      FROM              LOGIN@  IDLE WHAT
emil     console  -                20:01       5 -
emil     p1       -                21:05       - w
emil@emils-macbook.local: ~ $ who
emil     console  Jan  7 20:01 
emil     ttyp1    Jan  7 21:05
Du kan även använda "last" för att kolla när någon användare var inloggad senast på systemet.

En sak till som kan vara bra att veta är, att när man skapar en användare så kopieras /etc/skel till användarens hemkatalog. Så om du lägger en fil som heter "Välkommen" i /etc/skel så kommer den att finnas i alla nya användares hemkataloger.

Vanliga problem:
Permission denied / Operation not permitted / Are you root? osv...
För de flesta administriva uppgifter, och om man vill ändra i systemkatalogerna så måste man vara root.
Det blir du genom "su" (switch user) eller "sudo" (super user do).
För att logga in som root på ett system som använder su skriver du helt enkelt "su". Ange root's lösenort, och sen är du root. :)
Om du använder sudo så skriver du "sudo komando". Om du tex vill editera /etc/ntpd.conf med "vim" så skriver du; "sudo vim /etc/ntpd.conf"
För att bli kvar som root för alltid används "sudo -i", "sudo -s" eller "sudo su".

För mer info. Se manualen: "man sudo", eller "man su".


Rättigheter:
Normalt har en användare bara rättighet att skriva i sin hemkatalog (/home/*användare*), och /tmp/. Ibland även någon annan katalog för tex lagring eller någon extra säker katalog...
I övriga systemet har endast root skrivrättigheter, och i vissa filer har inte ens vanliga användare läsrättigheter.

En fil eller en katalog kan tillhöra en användare, "ägaren", och en grupp.
Ett exempel:

Code: Select all

emil@emils-macbook.local: ~ $ ls -l
total 0
drwx------    18 emil  emil   612 Jan  4 13:47 Desktop
drwxr-xr-x     5 emil  users   170 Dec 24 12:06 Delat
-rw-r--r--     1 emil  emil     0 Jan  5 16:50 Textfil
I exemplet ovan finns 2 kataloger, och 1 fil.
Katalogen "Desktop" innehåller filerna på skrvbordet. "drwx-----" säger att "Det är en katalog, och; Ägaren=Köra,Skriva,Läsa Gruppen=Inget och Övriga=Inget".
Katalogen "Delat" är en katalog som vi skulle unna säga är delad i systemet. "d säger att det är en katalog, och; Ägaren=Köra, Läsa, Skriva Grupp och övriga=Läsa och köra" Grupen är även satt till "users".
Filen "Textfil" är en textfil, och den går att läsa och skriva för ägaren, och läsa för gruppen och övriga.

Ägare och grupp sätts med kommandot "chown".

Code: Select all

chown emil /någon/fil/eller/katalog
Sätter ägaren till "emil".

Code: Select all

chown emil:users
Sätter ägaren till emil, och gruppen till "users".

Rättigheterna sätts med 3x3 bitar. Den första för ägaren, den andra för gruppen, och den tredje för "övrga".
Man kan sätta rättigheter på 2 olika sätt, med bokstäver, eller med siffror.
Exemplen nedan sätter båda rättigheterna "-rwxrw-r-x" (Ägaren=Läsa,Skriva,Köra Gruppen=Läsa,Skriva och Övriga=Läsa,Köra):
chmod 765 ./filen
chmod u=rwx,g=rw,o=rx ./filen

Förutom de vanliga rättigheterna kan man även lägga till ytterligare en extra bit för att sätta "UID", "GID" och "Sticky bit".
Och utöver det kan man även använda access listor för ytterligare möjligheter.

Att ta upp allt det här, här vore omöjligt, så jag hänvisar till manualen för "chmod", eller läsning om rättigheter i "Att använda Linux och GNU", av Linus Valleij.
Finns att ladda ner här:
http://www.df.lth.se/~triad/gnulinux/


Filträd/Filhantering:
Filträdet i *NIX skiljer sig mycket från Windows, men är ganska likt det i OS X, *BSD och övriga POSIX operativsystem.
En sak som kan vara mycket ovan är att ALLT är filer. Även tex tangentbordet, grafikkortet och skrivaren.
Det kan ta ett tag att komma igång med, men när man väl kommit igång så är det mycket smidigt och lättarbetat.

Standardkatalogerna är:
/bin/
/boot/
/dev/
/etc/
/home/
/lib/
/media/
/mnt/
/sbin/
/opt/
/sys/
/proc/
/root/
/tmp/
/usr/
/var/

En snabb beskrivning:
/bin/
Innehåller körbara filer som är viktiga för systemet.

/boot/
Innehåller viktiga saker för att datorn ska starta. Oftast ligger kärnan och konfigurationen för bootladdaren där.

/dev/
Innehåller enhetsfiler.
Tex hårddisken /dev/XdX, Mus/Tangentbord /dev/input/* osv...

/etc/
Innehåller globala grundläggande inställningar, och konfiguration för server tjänster och liknande.

/home/
Innehåler alla användares hemkataloger. Tex så har användaren "emil" katalogen /home/emil som hemkatalog.

/lib/
Innehåller viktiga delade programbibliotek, moduler till kärnan, och liknande.

/media/
Här monteras de flesta enheter, som extra hårddiskar, cd/dvd läsare USB minnen osv...

/mnt/
En plats för tillfälliga monteringar som man monterar manuellt.

/sbin/
Innehåller viktiga körbara program för systemet. Dessa filer kan endast köras av root.

/opt/
Här installeras program man installerar själv.
I opt ska alla paket heta vad de egentligen heter, och inte grena upp sig i flera kataloger, tex blir det /opt/azureus, /opt/linuxdcpp osv...

/sys/
/sys/ tillkom i Linux 2.6 och innehåller information om hårdvaran.
Liknar /proc, men har en annan filstruktur.
Vissa saker som tidigare fanns i /proc finns nu i /sys...

/proc/
Egentligen ett eget filsystem som skapas när man startar datorn. Där finns information om datorns hårdvara. Se tex "cat /proc/cpuinfo"

/root/
root's hemkatalog. Kan inte listas av någon annan av root själv. Egentligen precis som din egen hemkatalog...

/tmp/
Innehåller temporära filer. Du kan bara läsa och skriva dina egna filer. Och och katalogen töms vid boot.

/usr/
Innehåller alla program. I katalogen finns egentligen ett eget filträd. De viktigaste finns under här:

/usr/bin - Innehåller länkar, eller körbara binärer för program du installerat själv
/usr/sbin - Innehåller länkar eller körbara binärer som bara root kan köra.
/usr/lib - Innehåller delade program bibliotek
/usr/local - Kanske den viktigaste katalogen. Innehåller alla program du kompilerat och installerat själv.
Har även den ett eget filträd som liknar /usr/, men utan "local". ;)
/usr/share - Innehåller arkitektursoberoende filer
/usr/include - Innehåller generella "include filer" för C.

/var/
Innehåller variabler. Tex logg filer. /var/log...
Innehåller också ett eget filträd. Se nedan för mer info...

Filträdet kan skilja sig ganska mycket mellan olika distar, så att det ser ut så här är inte självklart.
För mer info om hur det ser ut i din dist så är det bara att läsa i någon manual, wiki eller liknande...

För mer info om filträdet så kan man läsa i "Filesystem Hierarchy Standard". Den finns här:
http://www.pathname.com/fhs/


Filhantering
I *NIX finns egentligen 3 olika objekt. Filer, kataloger och länkar.
En katalog/mapp innehåller som ni förmodilgen redan räknat ut; filer.
En länk är det som kallas "genväg" i MS Windows. Helt enkelt en länk till en annan fil eller katalog. Det finns dock "håda" länkar. Helt enkelt en länk. Och "mjuka" länkar. En "symlänk". För mer info, se "man ln".

En fil kan vara vad som hellst. Ett körbart program, eller en textfil. Linux är därmed filtilläggs oberoende. Bara filen är körbar kan man köra den oavsett vad den heter.
Så om programmet X heter "application.sh", ligger i /usr/bin/ och startas med "application.sh" kan det lika gärna köras med "/usr/bin/program" Observera att det inte är någon filändelse.

Man kan även köra filer som inte är körbara med "sh ./filen".
Last edited by Emil.s on 16 January 2007, 18:42, edited 6 times in total.
Innan ni postar: Läs FAQen
När ni postar:
Posta i Rätt forum! Och skriv/formulera dig rätt

User avatar
JO
Posts: 12419
Joined: 1 May 2002, 02:00
Contact:

Post by JO » 8 January 2007, 11:50

Standard är även katalogen /media (i stort samma som /mnt).
Att notera är även, att det kan skilja mella olika distar.
Som det är nu. Saknar exempelvis CRUX, /usr/local.
Registered User # 259689 http://counter.li.org
First humans moved out of caves;
then they invented writing;
now they invented intuitive GUIs;
all that remains is to return to caves.

Barre
Posts: 52
Joined: 3 January 2007, 10:34
Contact:

Post by Barre » 8 January 2007, 12:04

Du har rätt JO.
filsystemen kan skilja mellan olika distar.

Kanske bättre att bara beskriva "The Filesystem Hierarchy Standard (FHS)" och sen kanske avvikelser mellan standarden och de olika distarna?

The Filesystem Hierarchy Standard (FHS)

cheers

User avatar
Emil.s
Posts: 4366
Joined: 24 May 2005, 22:22
Location: Hedemora/Dalarna
Contact:

Post by Emil.s » 9 January 2007, 00:29

Tackar! Ska fixa det så snart jag hinner. :)
Innan ni postar: Läs FAQen
När ni postar:
Posta i Rätt forum! Och skriv/formulera dig rätt

User avatar
fagerjan
Posts: 889
Joined: 21 December 2004, 18:05
Location: Dalsbruk, Finland
Contact:

Re: Användare, Rättigheter och Filträd

Post by fagerjan » 9 January 2007, 15:00

Emil.s wrote: Därför ska man alltid vara rätt om lösenordet för root, och inte använda root kontot för vardagliga sysslor.
Ett litet skrivfel:
Det skall väl vara rädd och inte rätt?
Fagerjan

User avatar
Emil.s
Posts: 4366
Joined: 24 May 2005, 22:22
Location: Hedemora/Dalarna
Contact:

Post by Emil.s » 15 January 2007, 11:11

Hm, mysko. Postade här förut, men det verkar som att inlägget försvann!?

Aja.
Har uppdaterat lite i allafall. :)

Någon som kan förklara vad som finns i /sys?
Innan ni postar: Läs FAQen
När ni postar:
Posta i Rätt forum! Och skriv/formulera dig rätt

kratz
Posts: 1121
Joined: 9 May 2005, 17:21
Location: ~/Högsby
Contact:

Post by kratz » 15 January 2007, 12:02

Jag satt nyss och funderade på varför i helvete vissa program, helt skilda, lägger sig i /opt . Jag har inte kollat upp det än, men varför inte skriva ut det?:)
Välkommen till http://archlinux.se !

mikma
Posts: 3349
Joined: 10 July 2003, 21:19

Post by mikma » 15 January 2007, 12:51

/opt används ofta i bl.a. (Open)Solaris och andra UNIX:ar.

Barre
Posts: 52
Joined: 3 January 2007, 10:34
Contact:

Post by Barre » 15 January 2007, 13:58

saxat från Filesystem Hierarchy Standard
/opt : Add-on application software packages
Purpose

/opt is reserved for the installation of add-on application software packages.

A package to be installed in /opt must locate its static files in a separate /opt/<package> or /opt/<provider> directory tree, where <package> is a name that describes the software package and <provider> is the provider's LANANA registered name.

User avatar
fagerjan
Posts: 889
Joined: 21 December 2004, 18:05
Location: Dalsbruk, Finland
Contact:

Post by fagerjan » 15 January 2007, 14:04

/sys innehåller beskrivning av systemet. Här finns detaljerade uppgifter (i binär form) om hårdvara, kärna och moduler. Informationen används för PnP-konfigurering. /sys är liksom /proc en virtuell katalog. http://www.linux.com/howtos/Plug-and-Play-HOWTO-6.shtml
Fagerjan

User avatar
andersajja
Posts: 1123
Joined: 17 August 2005, 14:22
Location: Motala
Contact:

Post by andersajja » 15 January 2007, 14:12

Hakar på fagerjan med det jag saxat ur Linus Walleij's "Att använda GNU/Linux".
/sys är ytterligare ett pseudo-filsystem som tillkom med version 2.6.0
av Linuxkärnan. Detta har som syfte att visa en hierarkisk vy av
hur olika hårdvaruenheter är anslutna till systemet. Delar av informationen
i /sys fanns tidigare i /proc men flyttas nu successivt
över till /sys.
andersajja

"You are not allowed to criticize this product publicly",
"You agree that by agreeing, we can make any changes to
the agreement in the future which you automatically agree to."

User avatar
Emil.s
Posts: 4366
Joined: 24 May 2005, 22:22
Location: Hedemora/Dalarna
Contact:

Post by Emil.s » 16 January 2007, 12:59

Tackar tackar!
Uppdaterade en trasig slut tagg också. :)

Något mer som ska med / ska fixas? :)
Innan ni postar: Läs FAQen
När ni postar:
Posta i Rätt forum! Och skriv/formulera dig rätt

PJ

Re: Användare, Rättigheter och Filträd

Post by PJ » 16 January 2007, 14:21

Lite förtydligande + några funna stavfel.
Emil.s wrote:/bot/
Har för mig att det stavas "boot" men jag kanske har fel. :wink:
Emil.s wrote:/etc/
Innehåller grundläggande inställningar, och konfiguration för server tjänster och liknande.
Innehåller globala grundläggande inställningar, ...(fortsättning av meningen)

Man kan ju trots allt påverka vissa av dessa inställningar ifrån ens hemkatalog.
Emil.s wrote:/media/
Här monteras oftast de flesta enheter, som extra hårddiskar, cd/dvd läsare USB minnen osv...

/mnt/
Här monteras tillfälliga enheter
Som jag har uppfattat det hela används /media för automonterade enheter medans /mnt används för enheter som monteras av användaren.
Emil.s wrote:/usr/
Innehåller alla program. I kataogen
I katalogen (gissar jag)

User avatar
Emil.s
Posts: 4366
Joined: 24 May 2005, 22:22
Location: Hedemora/Dalarna
Contact:

Post by Emil.s » 16 January 2007, 18:00

Sådär. :)

Vet inte exakt hur det är med /media, /mnt
Man brukar ju oftast lägga enheter man har i fstab i /media.
Men de behöver ju inte vara auto för det. :P

Börjar bli ganska bra nu tror jag. :)
Innan ni postar: Läs FAQen
När ni postar:
Posta i Rätt forum! Och skriv/formulera dig rätt

Barre
Posts: 52
Joined: 3 January 2007, 10:34
Contact:

Post by Barre » 16 January 2007, 18:20

enligt standarden skall /media användas för flyttbar media, som tex, cd-rom, dvd-rom, floppy disk, zip-disk, usb-disk.. o.s.v.

/mnt skall användas till (åter igen, enligt standarden) som en plats för administratörer att temporärt montera filsystem. Förändringar här får inte påverka applikationer och/eller systemet.
Nu vet jag mängder med folk som nyttjar /mnt för olika applikationer eller permanenta monteringspunkter.. det fungerar alldeles utmärkt, men inte förenligt med standarden :)

User avatar
Ham
Posts: 396
Joined: 5 February 2006, 14:37
Location: Multiversums mörkare delar...
Contact:

Post by Ham » 16 January 2007, 18:40

Vill bara att du ska veta att jag tycker att du gör ett superbt jobb med dessa FAQ:er. Keep it up bro'! :D
Linux limitless
Image

User avatar
Emil.s
Posts: 4366
Joined: 24 May 2005, 22:22
Location: Hedemora/Dalarna
Contact:

Post by Emil.s » 16 January 2007, 19:11

Tackar för hjälp och stöd!

Jo, visst är det lite pyssel. Men man lär sig en helt del själv också. :)
Alltid kula att lära ut, och att lära sig själv också är ju en bra bonus. :D
Innan ni postar: Läs FAQen
När ni postar:
Posta i Rätt forum! Och skriv/formulera dig rätt

Barre
Posts: 52
Joined: 3 January 2007, 10:34
Contact:

Post by Barre » 16 January 2007, 19:54

Håller med Ham.

Emil.s du är en hjälte :)

azlan
Posts: 47
Joined: 25 June 2002, 09:48
Location: Bolltorp, Alingsås, V. Götaland, Sverige

Post by azlan » 16 January 2007, 21:42

Nu vet jag inte direkt vad som är standard eller inte..
Men efter som jag grundade mitt linux missbruk hos Slackware 8.0 är jag van vid att bara använda /mnt då /media inte har funnits i slackware 8.0 - 10.2. Vet ej hur det är med 11.0, men men.

Jag monterar i mitt Ubuntu system som jag kör som workstation alla fasta monteringar i /mnt(t.ex min windows partition(som inte har fått jobba på ett år har inte orkat partitonera om den),NFS, mm ) och alla temporära i /media(t.ex CD, Usbstickan, telefonen, mp3 spelaren).
Men det e bara av ren vana efter som jag aldrig rör /media mappen. Drag&Drop i Gnome... Nice :)
Server:
Celeron D 2.31 Ghz
1 GB DDR1
ELSA Geforce 3
4 x 300gb SATA HDD(Snart mer)
Ubuntu-Server 8.04
Kernel 2.6.24
http://counter.li.org : 259206

User avatar
JO
Posts: 12419
Joined: 1 May 2002, 02:00
Contact:

Post by JO » 17 January 2007, 11:27

azlan wrote:Nu vet jag inte direkt vad som är standard eller inte..
Men efter som jag grundade mitt linux missbruk hos Slackware 8.0 är jag van vid att bara använda /mnt då /media inte har funnits i slackware 8.0 - 10.2. Vet ej hur det är med 11.0, men men.

Nice :)
Slackware 11.0 har katalogen /media. /media är standard.
Registered User # 259689 http://counter.li.org
First humans moved out of caves;
then they invented writing;
now they invented intuitive GUIs;
all that remains is to return to caves.

User avatar
Emil.s
Posts: 4366
Joined: 24 May 2005, 22:22
Location: Hedemora/Dalarna
Contact:

Post by Emil.s » 22 January 2007, 16:19

Postade i FAQ.
Finns förmodligen något oupptäckt fel någonstans...

Bara att meddela mig. :)
Innan ni postar: Läs FAQen
När ni postar:
Posta i Rätt forum! Och skriv/formulera dig rätt

User avatar
fagerjan
Posts: 889
Joined: 21 December 2004, 18:05
Location: Dalsbruk, Finland
Contact:

Post by fagerjan » 22 January 2007, 21:25

Emil.s wrote:Postade i FAQ.
Finns förmodligen något oupptäckt fel någonstans...

Bara att meddela mig. :)
En länk är det som kallas "genväg" i MS Windows. Helt enkelt en länk till en annan fil eller katalog. Det finns dock "håda" länkar. Helt enkelt en länk. Och "mjuka" länkar. En "symlänk". För mer info, se "man ln".
Fagerjan

lefant
Posts: 382
Joined: 19 April 2005, 20:29

Re: Användare, Rättigheter och Filträd

Post by lefant » 27 January 2007, 19:04

Emil.s wrote:Man kan även köra filer som inte är körbara med "sh ./filen".
Det där fungerar bara om ./filen är ett sh-skript.

Code: Select all

$ cat <<EOF >testprog.c
#include <stdio.h>
int main() {
   return puts("hejsan");
}
EOF

$ make testprog
cc     testprog.c   -o testprog

$ ./testprog
hejsan

$ chmod -x ./testprog

$ ./testprog
bash: ./testprog: Permission denied

$ sh ./testprog
./testprog: ./testprog: cannot execute binary file

User avatar
Emil.s
Posts: 4366
Joined: 24 May 2005, 22:22
Location: Hedemora/Dalarna
Contact:

Post by Emil.s » 27 January 2007, 19:14

Jo, det har du rätt i. Ändrar... :)
Innan ni postar: Läs FAQen
När ni postar:
Posta i Rätt forum! Och skriv/formulera dig rätt

Post Reply