Toegangsrechten in linux - huiswerk: help!

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Torrentus
  • Registratie: April 2009
  • Nu online
Hallo Tweakers,

Voor een practicum van het vak 'Besturingssytemen' op de UT ben ik, als linux-leek, bezig met rechten op mappen.

De opdracht is eigenlijk om een shared folder te maken waarbinnen studenten van een docent elk een eigen map hebben. Studenten mogen alleen hun eigen map zien, de docent mag alle mappen zien en bewerken.

De docent moet een 'init'-scriptje hebben om dit 'systeem' op te zetten; daarin worden dus de gebruikers en mappen met toepasselijke rechten gecreëerd. :)

Ik dacht dat zo op te lossen, maar het lijkt niet te werken: Studenten zien nu namelijk nog wel de mappen van andere studenten (al mogen ze er niet in), en een student(bijv. student1) kan niet in zijn eigen mapje, (student1)..

Mijn gedachtegang was dat ik met chmod 770 de user (de student) en de groep (de teachers) rechten tot het mapje zou geven, maar dat blijkt niet zo te zijn..

Kunnen jullie me misschien helpen/de goede richting wijzen? :)

Bash:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env bash

#Maken van groepen en users

groupadd students
groupadd teachers

useradd -g students student1
printf "student1\nstudent1\n" |sudo passwd student1
useradd -g students student2
printf "student2\nstudent2\n" |sudo passwd student2
useradd -g students student3
printf "student3\nstudent3\n" |sudo passwd student3
useradd -g teachers teacher
printf "teacher\nteacher\n" |sudo passwd teacher

#Aanmaken van mappen

mkdir shared_folder

mkdir shared_folder/student1
chown student1 shared_folder/student1
chgrp teachers shared_folder/student1
chmod 770 shared_folder/student1

mkdir shared_folder/student2
chown student2 shared_folder/student2
chgrp teachers shared_folder/student2
chmod 770 shared_folder/student2

mkdir shared_folder/student3
chown student3 shared_folder/student3
chgrp teachers shared_folder/student3
chmod 770 shared_folder/student3

[ Voor 23% gewijzigd door Torrentus op 24-01-2014 16:36 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Dat is toch het idee van huiswerk :P. Wat zegt Google?

Acties:
  • 0 Henk 'm!

  • Torrentus
  • Registratie: April 2009
  • Nu online
Haha, die reactie had ik verwacht. Laat ik benadrukken dat ik hier niet gewoon de opdracht neerplemp en op een antwoord wacht, ik hoef ook daadwerkelijk geen antwoord. Ik zie alleen niet in waarom bovenstaande niet werkt, en hoopte dat een ervaren Tweaker me dat kon uitleggen :)

Uiteraard heb ik gegoogled, maar ik kom er niet uit waarom chmod 770 in deze situatie niet werkt zoals ik verwacht.. ;)

Acties:
  • 0 Henk 'm!

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Torrentus schreef op vrijdag 24 januari 2014 @ 16:22:
... Students may not see the work of their peers and may not even see the existence of the private folders of other students. ... Studenten mogen alleen hun eigen map zien, de docent mag alle mappen zien en bewerken.
...
Het Nederlandse stukje sluit niet helemaal aan bij het Engelse stuk. Moeten studenten überhaupt hun eigen directory ('van buiten', dus de inhoud van de gedeelde directory) kunnen zien, of alleen de inhoud van hun eigen directory?

Acties:
  • 0 Henk 'm!

  • Torrentus
  • Registratie: April 2009
  • Nu online
begintmeta schreef op vrijdag 24 januari 2014 @ 16:48:
[...]

Het Nederlandse stukje sluit niet helemaal aan bij het Engelse stuk. Moeten studenten überhaupt hun eigen directory ('van buiten', dus de inhoud van de gedeelde directory) kunnen zien, of alleen de inhoud van hun eigen directory?
Een student mag, naar mijn interpretatie, zodra hij 'ls' uitvoert in de map 'shared_folder' alleen zijn eigen map zien. (waar hij vervolgens in kan om de inhoud te bekijken). Een andere student moet in de shared_folder bij een 'ls' alleen zíjn map zien, en niet die van de eerdere student.. :)

Acties:
  • 0 Henk 'm!

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Ik zou het anders interpreteren, het is niet noodzakelijk en dan is de opdracht ook geen enkel probleem (alleen als de studenten ook niet indirect mogen zien dat directories bestaan wordt het op het eerste gezicht wat lastiger (als je puur met standaardpermissies en -useraccounts mag werken)). Wat doet de read en wat doet de execute permissie op een directory?

[ Voor 82% gewijzigd door begintmeta op 24-01-2014 17:05 ]


Acties:
  • 0 Henk 'm!

  • Torrentus
  • Registratie: April 2009
  • Nu online
begintmeta schreef op vrijdag 24 januari 2014 @ 17:00:
Ik zou het anders interpreteren, het is niet noodzakelijk en dan is de opdracht ook geen enkel probleem. Wat doet de read en wat doet de execute permissie op een directory?
Zoals dat de home-locatie van een user zijn eigen map wordt? en hij niet 'omhoog' kan?

Acties:
  • 0 Henk 'm!

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Welke permissies moet de 'groepsdirectory' maximaal hebben zodat de studenten hem niet kunnen lezen en de docent wel?

[ Voor 4% gewijzigd door begintmeta op 24-01-2014 17:08 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Tip: lees het stukje 'sticky bit' nog een keer door.

Acties:
  • 0 Henk 'm!

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Dat ook inderdaad Typnix, maar daarnaast moet de TS ook nog zorgen dat een student het bestaan van anderstudents directory niet kan zien. Als het ook om voorkomen van 'indirect aantonen' van anderstudents directory zou gaan, dat zou ik zo op het eerste gezicht best lastig vinden met de 'standaard-middelen' (hoewel, dat valt wel weer me als je random directorynamen neemt, dan maak je het wel onwaarschijnlijk genoeg zou ik denken).

[ Voor 24% gewijzigd door begintmeta op 24-01-2014 17:22 ]


Acties:
  • 0 Henk 'm!

  • Torrentus
  • Registratie: April 2009
  • Nu online
Ik heb het scriptje iets aangepast op basis van jullie aanwijzingen;

Bash:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/env bash

#Maken van groepen en users

groupadd students
groupadd teachers

mkdir shared_folder

useradd -g students student1
mkdir shared_folder/student1
printf "student1\nstudent1\n" |sudo passwd student1
usermod -m -d shared_folder/student1 student1

useradd -g students student2
mkdir shared_folder/student2
printf "student2\nstudent2\n" |sudo passwd student2
usermod -m -d shared_folder/student2 student2

useradd -g students student3
mkdir shared_folder/student3
printf "student3\nstudent3\n" |sudo passwd student3
usermod -m -d shared_folder/student3 student3

useradd -g teachers teacher
printf "teacher\nteacher\n" |sudo passwd teacher
usermod -m -d shared_folder teacher

#Toepassen van rechten op mappen

chown student1 shared_folder/student1
chgrp teachers shared_folder/student1
chmod 1770 shared_folder/student1

chown student2 shared_folder/student2
chgrp teachers shared_folder/student2
chmod 1770 shared_folder/student2

chown student3 shared_folder/student3
chgrp teachers shared_folder/student3
chmod 1770 shared_folder/student3


Een stap dichterbij; studenten kunnen niet meer in elkaars mappen en de teacher kan wel in alle mappen. Moet ik alleen nog oplossen dat een student de andere mappen niet meer kan zien...

Acties:
  • 0 Henk 'm!

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Torrentus schreef op vrijdag 24 januari 2014 @ 17:37:
... Moet ik alleen nog oplossen dat een student de andere mappen niet meer kan zien...
begintmeta in "Toegangsrechten in linux - huiswerk: help!" ?

Acties:
  • 0 Henk 'm!

  • Torrentus
  • Registratie: April 2009
  • Nu online
Ah sorry, over het hoofd gezien!

Dat lijkt de oplossing! Dankjewel :) Ik heb teacher owner gemaakt van de shared_folder en die vervolgens 700 gechmod't.

Tot slot dan nog de vraag; is het mogelijk om een student, als ik met 'su student1' naar zo'n student wissel, in zijn mapje te laten 'beginnen'? De home-directory die ik nu set schijnt niet te werken, ik had verwacht dat dat dat zou verzorgen..

Acties:
  • 0 Henk 'm!

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Torrentus schreef op vrijdag 24 januari 2014 @ 17:43:
Ah sorry, over het hoofd gezien!

Dat lijkt de oplossing! Dankjewel :) Ik heb teacher owner gemaakt van de shared_folder en die vervolgens 700 gechmod't.
Weet je zeker dat dat voor de studenten gaat werken, of zou mogelijk toch nog een andere permissie nodig zijn? En moeten studenten meer kunnen met hun eigen directory dan allen lezen?

[ Voor 16% gewijzigd door begintmeta op 24-01-2014 17:49 ]


Acties:
  • 0 Henk 'm!

  • Torrentus
  • Registratie: April 2009
  • Nu online
Niet? Als ik nu als student namelijk in 'mijn' map ben, kan ik niet omhoog (naar shared_folder) cd'en, en dat is de bedoeling toch? Een teacher kan dat op deze manier wel.

Edit: Ik denk niet dat er meer rechten nodig zijn voor de 'hoofdmap', maar misschien heb ik het mis? Waar doel je op? :)

Studenten moeten binnen hun mapje gewoon alle rechten hebben.

[ Voor 35% gewijzigd door Torrentus op 24-01-2014 17:52 ]


Acties:
  • 0 Henk 'm!

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Torrentus schreef op vrijdag 24 januari 2014 @ 17:49:
... Als ik nu als student namelijk in 'mijn' map ben, ...
Als je als student in je map bent inderdaad. Probeer het maar eens uit zou ik zeggen.

Acties:
  • 0 Henk 'm!

  • Torrentus
  • Registratie: April 2009
  • Nu online
Dat heb ik gedaan, ik merk niks verkeerds op? ;)

Acties:
  • 0 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 13:16

CAPSLOCK2000

zie teletekst pagina 888

Volgens mij heb je ergens een foutje gemaakt. Als je geen enkele rechten hebt over een directory dan mag je ook niet in subdirectories komen. Als de shared folder '700' heeft dan mag een student dus niet in z'n eigen homedir.

This post is warranted for the full amount you paid me for it.


Acties:
  • 0 Henk 'm!

  • DrFlash
  • Registratie: Juli 2009
  • Laatst online: 05-03 12:59
Er staat niet in de de studenten hun eigen dir wel moeten kunnen zien. het zien van directories en bestanden binnen een dir wordt gedaan met de lees rechten op de hoofd map. Op de hoofd map zou je dus de lees/schrijf rechten voor iedereen weg kunnen halen, maar wel de rechten geven voor "execute" zodat ze wel die directory in kunnen (711).

Wowhead profiel


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 01-10 21:30

Hero of Time

Moderator LNX

There is only one Legend

DrFlash schreef op maandag 27 januari 2014 @ 11:16:
Er staat niet in de de studenten hun eigen dir wel moeten kunnen zien. het zien van directories en bestanden binnen een dir wordt gedaan met de lees rechten op de hoofd map. Op de hoofd map zou je dus de lees/schrijf rechten voor iedereen weg kunnen halen, maar wel de rechten geven voor "execute" zodat ze wel die directory in kunnen (711).
711 is in dit geval hetzelfde als 700. De groep kan alsnog niet lezen, de 'execute' bit heeft dan geen nut. 750 zou dan eerder zijn wat je wilt.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
De studenten mogen de groepsdirectory niet lezen.

Acties:
  • 0 Henk 'm!

  • timberleek
  • Registratie: Juli 2009
  • Laatst online: 08-09 22:13
inderdaad. als je 711 doet (of 701, of 710 afhankelijk van je indeling) kun je de map in, maar bijvoorbeeld ls werkt niet. Je kan dan wel cd'en naar je eigen map (want daar heb je rechten), maar niet cd'en naar elke andere (waarvan je de naam moet gokken)
Pagina: 1