/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
mount, fstab - forskellig adgang for forsk~
Fra : Martin Jørgensen


Dato : 11-01-04 21:22

Hej NG.

Som forholdsvis ny indenfor linux-verdenen, kan jeg ikke finde ud af at
tildele forskellig adgang til forskellige brugere. Sagen er nemlig den at
jeg på en hjemmepc på en lokalnetværk vil oprette en ftp-bruger som kan
logge ind og gemme filer, evt. hente filer som jeg vælger eller lægger over
i en mappe (evt. som root). Jeg logger selv ind med brugernavn "A", siger
vi...

Jeg har fået ftp-serveren til at virke men har fundet et sikkerhedsproblem:
Ftp-brugeren har samme rettigheder som mig selv (brugeren "A"), pga. det
som står i /etc/fstab-filen, tror jeg.

Jeg har to windowsdrev som kan mountes og som indeholder private
oplysninger, som ikke skal kunne ses af ftp-brugeren.
Derudover har jeg et delt fat32-drev, hvor ftp-brugeren pt. kan gå ind og
slette filer nøjagtigt ligesom mig selv og det er jo ikke meningen...

Jeg har læst lidt om "man mount" og tror at jeg skal ændre noget med uid/gid
i /etc/fstab, hvor der står:

/dev/hda7 /mnt/fat32 vfat codepage=850,umask=0,iocharset=iso8859-1,quiet 0 0
/dev/hda1 /mnt/win_c ntfs umask=0,ro,iocharset=iso8859-1 0 0
/dev/hda5 /mnt/win_d ntfs umask=0,ro,iocharset=iso8859-1 0 0

Jeg har forsøgt google og bliver ikke umiddelbart klogere. Spørgsmålet er nu
hvad jeg skal gøre for at de to brugere har forskellig adgang til de
mount'ede partitioner? Der er ingen problemer i /home/A, for her har jeg
lavet en chmod o-r på biblioteket og det virker såvidt jeg kan som det skal
når jeg logger ind med ftp...

Håber jeg har gjort problemet forståeligt nok.

På forhånd tak,

mvh.
Martin Jørgensen

--
---------------------------------------------------------------------------
Home of Martin Jørgensen - http://www.martinjoergensen.dk

 
 
Klaus Ellegaard (11-01-2004)
Kommentar
Fra : Klaus Ellegaard


Dato : 11-01-04 21:32

Martin =?ISO-8859-1?Q?J=F8rgensen?= <unoder(spam-protected)@(remove-these)jay.net> writes:

>Jeg har fået ftp-serveren til at virke men har fundet et sikkerhedsproblem:
>Ftp-brugeren har samme rettigheder som mig selv (brugeren "A"), pga. det
>som står i /etc/fstab-filen, tror jeg.

Mjah, fstab indeholder ideelt set ikke sikkerhedsoplysninger.
Det er noget rod. For fremmede filsystemer som VFAT og NTFS
kan det dog være nødvendigt, men det er og bliver noget rod.

Unix's brugerkoncept er meget anderledes end de fleste andres.
Det eneste sted, man kan specificere rettigheder, er på filer
og katalogers "mode". Det er næppe nok i ftp-tilfældet, for
det er praktisk talt umuligt at begrænse sig ud af den slags,
medmindre man har rigtig god tid (strengt taget skal man have
rettigheder for others væk, eller også skal man lave en speciel
gruppe til ftp og undtage den en milliard steder).

Løsningen er nok at chroot'e ftp-brugeren, så denne bruger kun
kan se filer under f.eks. /home/ftp og ingen andre steder. Ved
brug af hardlinks kan også ftp-brugeren få adgang til filer på
samme partition, selvom de ligger uden for /home/ftp.

Hvordan man chroot'er må fremgå af ftp-serverens dokumentation.
Prøv det - og se om det ikke løser dit problem uden de store
sværdslag.

>Der er ingen problemer i /home/A, for her har jeg
>lavet en chmod o-r på biblioteket og det virker såvidt jeg kan som det skal
>når jeg logger ind med ftp...

chmod o-rx forhåbentlig?

Hvis du mangler "r" til et katalog, men du har "x", kan du gå
ned i kataloget. Du kan bare ikke se filerne. Men hvis du ved,
at der er et "Mail"-katalog, kan du sagtens gå ned i det med
"cd /home/A/Mail" og lave en ls dernede (forudsat er der er r-
flag på Mail). Og selvom ls ikke virker, kan man godt hente en
fil - igen hvis man kender navnet på den, og man har læseret
til filen.

Mvh.
   Klaus.

Martin Jørgensen (11-01-2004)
Kommentar
Fra : Martin Jørgensen


Dato : 11-01-04 22:52

Klaus Ellegaard wrote:

> Martin =?ISO-8859-1?Q?J=F8rgensen?=
> <unoder(spam-protected)@(remove-these)jay.net> writes:
>
>>Jeg har fået ftp-serveren til at virke men har fundet et
>>sikkerhedsproblem: Ftp-brugeren har samme rettigheder som mig selv
>>(brugeren "A"), pga. det som står i /etc/fstab-filen, tror jeg.
>
> Mjah, fstab indeholder ideelt set ikke sikkerhedsoplysninger.
> Det er noget rod. For fremmede filsystemer som VFAT og NTFS
> kan det dog være nødvendigt, men det er og bliver noget rod.

Er du sikker? Jeg mente nemlig at jeg læste noget med UID og GID på google
som jeg tænkte kunne anvendes. Man mount skriver også noget med UID og GID
men jeg forstår dog ikke rigtigt hvordan jeg i praksis gør det.

> Unix's brugerkoncept er meget anderledes end de fleste andres.
> Det eneste sted, man kan specificere rettigheder, er på filer
> og katalogers "mode". Det er næppe nok i ftp-tilfældet, for
> det er praktisk talt umuligt at begrænse sig ud af den slags,
> medmindre man har rigtig god tid (strengt taget skal man have
> rettigheder for others væk, eller også skal man lave en speciel
> gruppe til ftp og undtage den en milliard steder).

Ja, men man kan jo ikke ændre rettigheder på ntfs- og fat-drevene, desværre.

> Løsningen er nok at chroot'e ftp-brugeren, så denne bruger kun
> kan se filer under f.eks. /home/ftp og ingen andre steder. Ved
> brug af hardlinks kan også ftp-brugeren få adgang til filer på
> samme partition, selvom de ligger uden for /home/ftp.
>
> Hvordan man chroot'er må fremgå af ftp-serverens dokumentation.
> Prøv det - og se om det ikke løser dit problem uden de store
> sværdslag.

chroot? Det har ikke noget at gøre med "man chroot", vel? Jeg kunne ellers
godt tænke mig en løsning, hvor ftp-brugeren kunne se alt undtagen brugeren
A's home-mappe og så den ene windowspartition. Derudover skal
fat-partitionen være read-only for ftp-brugeren og ikke for brugeren "A"...

>>Der er ingen problemer i /home/A, for her har jeg
>>lavet en chmod o-r på biblioteket og det virker såvidt jeg kan som det
>>skal når jeg logger ind med ftp...
>
> chmod o-rx forhåbentlig?

Nøæh, men nu har jeg lavet en chmod o-rx

> Hvis du mangler "r" til et katalog, men du har "x", kan du gå
> ned i kataloget. Du kan bare ikke se filerne. Men hvis du ved,
> at der er et "Mail"-katalog, kan du sagtens gå ned i det med
> "cd /home/A/Mail" og lave en ls dernede (forudsat er der er r-
> flag på Mail). Og selvom ls ikke virker, kan man godt hente en
> fil - igen hvis man kender navnet på den, og man har læseret
> til filen.

Ups, ja - du har ret. Jeg efterprøvede det lige, så det var godt du gjorde
mig opmærksom på det

mvh.
Martin Jørgensen

--
---------------------------------------------------------------------------
Home of Martin Jørgensen - http://www.martinjoergensen.dk

Klaus Ellegaard (11-01-2004)
Kommentar
Fra : Klaus Ellegaard


Dato : 11-01-04 23:02

Martin =?ISO-8859-1?Q?J=F8rgensen?= <unoder(spam-protected)@(remove-these)jay.net> writes:

>Er du sikker? Jeg mente nemlig at jeg læste noget med UID og GID på google
>som jeg tænkte kunne anvendes. Man mount skriver også noget med UID og GID
>men jeg forstår dog ikke rigtigt hvordan jeg i praksis gør det.

Det kan du godt. Det er bare ikke "pænt".

Dit uid og gid får du fra "id" kommandoen:

katie $ id
uid=500(klaus) gid=10(staff)

Så kan du skrive noget à la "uid=500,gid=10,umask=077" i options
("ro,uid=500,gid=10,umask=277" hvis det skal være read-only). Så
er det kun dig, der har adgang.

>chroot? Det har ikke noget at gøre med "man chroot", vel? Jeg kunne ellers
>godt tænke mig en løsning, hvor ftp-brugeren kunne se alt undtagen brugeren
>A's home-mappe og så den ene windowspartition. Derudover skal
>fat-partitionen være read-only for ftp-brugeren og ikke for brugeren "A"...

Tjah, så er det jo bare at lege med umask-values jf. ovenfor.

Mvh.
   Klaus.

Martin Jørgensen (12-01-2004)
Kommentar
Fra : Martin Jørgensen


Dato : 12-01-04 23:15

Klaus Ellegaard wrote:

> Martin =?ISO-8859-1?Q?J=F8rgensen?=
> <unoder(spam-protected)@(remove-these)jay.net> writes:
>
>>Er du sikker? Jeg mente nemlig at jeg læste noget med UID og GID på google
>>som jeg tænkte kunne anvendes. Man mount skriver også noget med UID og GID
>>men jeg forstår dog ikke rigtigt hvordan jeg i praksis gør det.
>
> Det kan du godt. Det er bare ikke "pænt".

Nu bliver jeg jo nødt til at spørge dig, hvorfor det ikke er "pænt"?

> Dit uid og gid får du fra "id" kommandoen:
>
> katie $ id
> uid=500(klaus) gid=10(staff)
>
> Så kan du skrive noget à la "uid=500,gid=10,umask=077" i options
> ("ro,uid=500,gid=10,umask=277" hvis det skal være read-only). Så
> er det kun dig, der har adgang.

Mener du at, i /etc/fstab, hvor der står:

/dev/hda7 /mnt/fat32 vfat codepage=850,umask=0,iocharset=iso8859-1,quiet 0 0
/dev/hda1 /mnt/win_c ntfs umask=0,ro,iocharset=iso8859-1 0 0
/dev/hda5 /mnt/win_d ntfs umask=0,ro,iocharset=iso8859-1 0 0

ændres det til:

i /etc/fstab, hvor der står:

/dev/hda7 /mnt/fat32 vfat
uid=500,gid=10,codepage=850,umask=0,iocharset=iso8859-1,quiet 0 0
/dev/hda1 /mnt/win_c ntfs uid=500,gid=10,umask=0,ro,iocharset=iso8859-1 0 0
/dev/hda5 /mnt/win_d ntfs uid=500,gid=10,umask=0,ro,iocharset=iso8859-1 0 0

/dev/hda7 /mnt/fat32 vfat ro,codepage=850,umask=0,iocharset=iso8859-1,quiet
0 0
/dev/hda5 /mnt/win_d ntfs umask=0,ro,iocharset=iso8859-1 0 0

Således at de 3 første linjer giver den almindelige bruger de almindelige
adgangsrettigheder som normalt og de nederste 2 linjer gælder ftp-brugeren,
dvs. giver ro til vfat partitionen og den kun win_d-partitionen???
-SNIP-

mvh.
Martin Jørgensen

--
---------------------------------------------------------------------------
Home of Martin Jørgensen - http://www.martinjoergensen.dk

Klaus Ellegaard (13-01-2004)
Kommentar
Fra : Klaus Ellegaard


Dato : 13-01-04 07:52

Martin =?ISO-8859-1?Q?J=F8rgensen?= <unoder(spam-protected)@(remove-these)jay.net> writes:

>> Det kan du godt. Det er bare ikke "pænt".

>Nu bliver jeg jo nødt til at spørge dig, hvorfor det ikke er "pænt"?

Fordi det flytter sikkerhedsmæssige detaljer et sted hen, hvor
man normalt ikke vil kigge. Der er derfor stor risiko for, at
en sysadm kommer til at omgå sikkerheden ved et uheld, når han
mounter diskene manuelt.

Det er næppe et problem i single-user-setups, men det giver
dårlige vaner.

>> Så kan du skrive noget à la "uid=500,gid=10,umask=077" i options
>> ("ro,uid=500,gid=10,umask=277" hvis det skal være read-only). Så
>> er det kun dig, der har adgang.

>/dev/hda7 /mnt/fat32 vfat
>uid=500,gid=10,codepage=850,umask=0,iocharset=iso8859-1,quiet 0 0
>/dev/hda1 /mnt/win_c ntfs uid=500,gid=10,umask=0,ro,iocharset=iso8859-1 0 0
>/dev/hda5 /mnt/win_d ntfs uid=500,gid=10,umask=0,ro,iocharset=iso8859-1 0 0

>/dev/hda7 /mnt/fat32 vfat ro,codepage=850,umask=0,iocharset=iso8859-1,quiet
>0 0
>/dev/hda5 /mnt/win_d ntfs umask=0,ro,iocharset=iso8859-1 0 0

>Således at de 3 første linjer giver den almindelige bruger de almindelige
>adgangsrettigheder som normalt og de nederste 2 linjer gælder ftp-brugeren,
>dvs. giver ro til vfat partitionen og den kun win_d-partitionen???

De kan kun stå der én gang hver. Det er det, der er problemet
med at bygge sikkerheden ind i /etc/fstab: oplysningerne her
er uafhængige af, hvem man er.

Det er umask'en, der er vigtig. Hvis den er 077, kan ejeren
(den der har uid) skrive, mens ingen andre kan komme derned.
Er den 277, kan ejeren læse, mens ingen andre kan komme derned.

Hvis ejeren skal kunne skrive, og alle andre skal kunne læse,
er det 022, du er ude efter.

Du kunne også lave en gruppe specifikt til ftp-brugeren og så
styre dennes rettigheder via umask. Men det vil så KUN gælde
for den specifikke bruger. Hvad med evt. andre på systemet?

Mvh.
   Klaus.


Martin Jørgensen (13-01-2004)
Kommentar
Fra : Martin Jørgensen


Dato : 13-01-04 19:22

Klaus Ellegaard wrote:

> Martin =?ISO-8859-1?Q?J=F8rgensen?=
> <unoder(spam-protected)@(remove-these)jay.net> writes:
>
>>> Det kan du godt. Det er bare ikke "pænt".
>
>>Nu bliver jeg jo nødt til at spørge dig, hvorfor det ikke er "pænt"?
>
> Fordi det flytter sikkerhedsmæssige detaljer et sted hen, hvor
> man normalt ikke vil kigge. Der er derfor stor risiko for, at
> en sysadm kommer til at omgå sikkerheden ved et uheld, når han
> mounter diskene manuelt.

Sysadm'en er mig selv på mit singleuser-linux-home-system... Jeg kører
MDK9.2 som selv mounter drevene.

> Det er næppe et problem i single-user-setups, men det giver
> dårlige vaner.

Ok.

>>> Så kan du skrive noget à la "uid=500,gid=10,umask=077" i options
>>> ("ro,uid=500,gid=10,umask=277" hvis det skal være read-only). Så
>>> er det kun dig, der har adgang.

Ok, nu vil jeg så afprøve nedenstående og checke næste gang jeg rebooter
(jeg ved ikke om man skal reboote, men så er jeg ihvertfald sikker)...

-SNIP-
> De kan kun stå der én gang hver. Det er det, der er problemet
> med at bygge sikkerheden ind i /etc/fstab: oplysningerne her
> er uafhængige af, hvem man er.
Ok, øv.. Undtagen lige det med umask'en kan jeg høre...

> Det er umask'en, der er vigtig. Hvis den er 077, kan ejeren
> (den der har uid) skrive, mens ingen andre kan komme derned.
> Er den 277, kan ejeren læse, mens ingen andre kan komme derned.

Jep. ok.

> Hvis ejeren skal kunne skrive, og alle andre skal kunne læse,
> er det 022, du er ude efter.

Jep. forstået.

> Du kunne også lave en gruppe specifikt til ftp-brugeren og så
> styre dennes rettigheder via umask. Men det vil så KUN gælde
> for den specifikke bruger. Hvad med evt. andre på systemet?

Lige nu er der kun 2 (mig og ftp'en), men måske kommer der flere en dag. Jeg
forstår dog ikke helt hvordan man i praksis gør det du herover skriver? Kan
du give nogle eksempler? Og ovenstående lyder da meget logisk, for man kan
vel bare putte dem man har lyst til ind i ftp-gruppen hvis man har lyst,
kan man ikke?

mvh.
Martin Jørgensen

--
---------------------------------------------------------------------------
Home of Martin Jørgensen - http://www.martinjoergensen.dk

Klaus Ellegaard (14-01-2004)
Kommentar
Fra : Klaus Ellegaard


Dato : 14-01-04 08:01

Martin =?ISO-8859-1?Q?J=F8rgensen?= <unoder(spam-protected)@(remove-these)jay.net> writes:

>Ok, nu vil jeg så afprøve nedenstående og checke næste gang jeg rebooter
>(jeg ved ikke om man skal reboote, men så er jeg ihvertfald sikker)...

umount og mount er rigeligt.

>> Du kunne også lave en gruppe specifikt til ftp-brugeren og så
>> styre dennes rettigheder via umask. Men det vil så KUN gælde
>> for den specifikke bruger. Hvad med evt. andre på systemet?

>Lige nu er der kun 2 (mig og ftp'en), men måske kommer der flere en dag. Jeg
>forstår dog ikke helt hvordan man i praksis gør det du herover skriver?

Hvis du laver en gruppe, som ftp-brugeren er medlem af, kan du
på gruppeniveau udelukke ftp-brugeren (og andre i den gruppe)
fra at gå ned i et katalog.

Unix deler folk op i tre grupper: user, group, others. Det er
det, de tre "rwxrwxrwx" symboliserer. Med mode 777 (rwxrwxrwx)
kan alle alt. Hvis den er 700 (rwx------), er det kun ejeren
af filen, der kan noget. Er den 705 (rwx---r-x) kan ejeren alt
og others kan læse. Men gruppen må ingenting.

Så hvis du laver et katalog à la:

katie $ ls -ld /blargh
drwx---r-x 34 dig ftpers 1024 Sep 9 14:04 /blargh

....kan ftpers-gruppen altså ikke komme derned.

Detaljen er så, at det stadig skal være i fstab, du laver den
ændring, medmindre du mounter diskene under /windows eller
noget tilsvarende (/windows/disk1, /windows/disk2, osv). I
så fald behøver du kun ændre mode på /windows-kataloget.

Det smarte ved /windows-konceptet er, at kontrollen er lagt i
filsystemet og ikke i fstab. Det ufikse er, at én forkert
bevægelse med chmod eller chgrp, og så kan ftp igen.

Mvh.
   Klaus.

Martin Jørgensen (15-01-2004)
Kommentar
Fra : Martin Jørgensen


Dato : 15-01-04 22:10

Klaus Ellegaard wrote:

-SNIP-
>
> Hvis du laver en gruppe, som ftp-brugeren er medlem af, kan du
> på gruppeniveau udelukke ftp-brugeren (og andre i den gruppe)
> fra at gå ned i et katalog.
>
> Unix deler folk op i tre grupper: user, group, others. Det er
> det, de tre "rwxrwxrwx" symboliserer. Med mode 777 (rwxrwxrwx)
> kan alle alt. Hvis den er 700 (rwx------), er det kun ejeren
> af filen, der kan noget. Er den 705 (rwx---r-x) kan ejeren alt
> og others kan læse. Men gruppen må ingenting.
>
> Så hvis du laver et katalog à la:
>
> katie $ ls -ld /blargh
> drwx---r-x 34 dig ftpers 1024 Sep 9 14:04 /blargh
>
> ...kan ftpers-gruppen altså ikke komme derned.
-SNIP-

Hej Klaus.

Jeg har lidt småtravlt for tiden, men finder sikkert ud af noget en dag...
Lige nu virker mit win_d-drev ikke fordi jeg lavede et eller andet i
fstab-filen, men med dine kommentarer og google + NG'erne finder jeg nok ud
af noget en dag...

Så tak for hjælpen (selvom jeg ikke lige kan overskue tingene nu)...

mvh.
Martin Jørgensen

--
---------------------------------------------------------------------------
Home of Martin Jørgensen - http://www.martinjoergensen.dk

Martin Jørgensen (13-01-2004)
Kommentar
Fra : Martin Jørgensen


Dato : 13-01-04 19:23

Klaus Ellegaard wrote:

ups, glemte lige at skrive hvad jeg har ændret mine linjer til og som vil
blive afprøvet efter næste boot:

/dev/hda7 /mnt/fat32 vfat
uid=501,gid=501,umask=022,codepage=850,iocharset=iso8859-1,quiet 0 0
/dev/hda1 /mnt/win_c ntfs uid=501,gid=501,umask=077,ro,iocharset=iso8859-1 0
0
/dev/hda5 /mnt/win_d ntfs uid=501,gid=501,umask=277,ro,iocharset=iso8859-1 0
0


mvh.
Martin Jørgensen

--
---------------------------------------------------------------------------
Home of Martin Jørgensen - http://www.martinjoergensen.dk

Søg
Reklame
Statistik
Spørgsmål : 177503
Tips : 31968
Nyheder : 719565
Indlæg : 6408539
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste