Directory die gecreate wordt automatisch chmod 775 geven

Pagina: 1
Acties:

  • slash24
  • Registratie: November 2002
  • Laatst online: 27-11-2025
Ik ben een linux (ubuntu) gebruiker en ben een beginneling. Aangezien ik met google en de search knop niet echt verder kom (Ik weet niet zo goed waar ik naar moet zoeken) hoop ik dat iemand mij verder kan helpen met het antwoord op een volgens mij niet zo moeilijke vraag:

Ik heb Ubuntu geinstalleerd en heb daarop een Sftp server draaiend weten te krijgen (gezien mijn linux kennisniveau vind ik dat al knap van mezelf.)
Nu komt een user met username "user_a" automatisch in zijn home directory, wat ook de bedoeling is. "user_b" moet echter in de home directory van user_a ook kunnen lezen en schrijven.

Dat heb ik nu opgelost door een chmod 775 van de home directory van user_a. Ook heb ik beide users in de zelfde usergroup gezet. Na die stappen is het voor user_b ook mogelijk om in de home directory van user_a te schrijven.

Mijn probleem:

Als user_a een directory aanmaakt in zijn home directory, dan moet ik weer voor die directory opnieuw een chmod uitvoeren, anders kan user_b niet in die directory schrijven. Als user_b een directory creert, kan user_a er niet bij zonder eerst een chmod uit te voeren.

Is er een manier om in te stellen dat als er een directory gemaakt, bijvoorbeeld "/home/user_a/nieuw" dat die directory dan automatisch de rechten 775 meekrijgt?

hmm, lang verhaal, hopelijk kan iemand er een (kort) antwoord op geven :)

  • Vicarious
  • Registratie: Juni 2008
  • Laatst online: 24-06-2024

Vicarious

☑Rekt | ☐ Not rekt

Ik lees even mee, want iets vergelijkbaars heb ik met mijn ftp servertje ook.

Vicariously I live while the whole world dies


  • cherwin
  • Registratie: Maart 2006
  • Niet online
Neem eens een kijkje naar umask.
user_a@localhost:~$ echo "umask 002" >> .bashrc

Tell me your problem, not the solution you think I should build for you.


  • Vicarious
  • Registratie: Juni 2008
  • Laatst online: 24-06-2024

Vicarious

☑Rekt | ☐ Not rekt

Ik heb het zelf opgelost door een dingetje aan te passen in de vsftpd.conf file, maar ik weet natuurlijk niet of jij die gebruikt...

Vicariously I live while the whole world dies


  • RedPixel
  • Registratie: Januari 2004
  • Laatst online: 20:13
Zoals cherwin zegt: Google eens naar umask :)

I see red pixels.


  • battler
  • Registratie: November 2004
  • Laatst online: 30-06-2025
Misschien handig om te vertellen wat je precies hebt aangepast?

Lux.Architectuur | Van Dromen tot Wonen | www.Lux-a.nl


  • Vicarious
  • Registratie: Juni 2008
  • Laatst online: 24-06-2024

Vicarious

☑Rekt | ☐ Not rekt

battler schreef op zaterdag 19 juli 2008 @ 17:49:
Misschien handig om te vertellen wat je precies hebt aangepast?
Nouja, dat vind je natuurlijk zo als je even kijkt in die vsftpd.conf, maar vooruit:

code:
1
2
chown_uploads=YES
chown_username=someuser

Vicariously I live while the whole world dies


  • slash24
  • Registratie: November 2002
  • Laatst online: 27-11-2025
Vicarious schreef op zaterdag 19 juli 2008 @ 17:42:
Ik heb het zelf opgelost door een dingetje aan te passen in de vsftpd.conf file, maar ik weet natuurlijk niet of jij die gebruikt...
Nee, die gebruikte ik niet, ik gebruikte de standaard sftp server die meekomt met open-ssh.
Nu heb ik intussen wel vsftpd geinstalleerd en de config aangepast zoals die zou moeten zijn. Alleen als ik nu een sftp sessie open naar de linux machine, krijg ik nog steeds verbinding met de sftp server van open-ssh. Hoe kan ik instellen dat een sftp verbinding automatisch met vsftpd gemaakt moet worden?

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22-01 08:08

TrailBlazer

Karnemelk FTW

Je kan maar een sftp server tegelijk draaien. Er kan namelijk maar een programma tegelijk luisteren naar verkeer op een bepaalde poort. Je zal dus moeten kijken hoe je de 1e afschiet en de 2e automatisch opstart. Ik ken ubuntu verder niet dus geen idee hoe ja dat aan zou moeten pakken.

  • benoni
  • Registratie: November 2003
  • Niet online
Volgens mij is het helemaal niet nodig om vsftpd erbij te halen.
slash24 schreef op zaterdag 19 juli 2008 @ 16:52:
Als user_a een directory aanmaakt in zijn home directory, dan moet ik weer voor die directory opnieuw een chmod uitvoeren, anders kan user_b niet in die directory schrijven. Als user_b een directory creert, kan user_a er niet bij zonder eerst een chmod uit te voeren.
Geef de map waar andere mensen die in dezelfde groep zitten in moeten kunnen schrijven een 'set group ID on execution (s)' optie mee (zie die man page).
chmod g+s /home/webuser/shared

Als het goed is zie je dan een s in plaats van een x bij de rechten:
ls -la /home/webuser/
drwxrwsr-x  2 webuser webgroup 4096 2006-09-20 16:52 shared

Dan erft iedere submap die wordt aangemaakt de groepsnaam van de parent, dus als het toegekende groepseigendom van de map een gedeelde groep is, blijft de hele map lees- en schrijfbaar voor medeleden in die groep, tenzij de gebruiker zelf die rechten intrekt.
Waarschuwing: zet geen setuid op de user permissions (dat werkt iets anders en is een potentieel veiligheidslek), alleen op de group. Houd er rekening mee dat gebruikers ook executables bij elkaar in de map kunnen zetten (bijvoorbeeld bij een webserver: een PHP pagina die dan weer via de website van de andere gebruiker is te starten).

  • benoni
  • Registratie: November 2003
  • Niet online
slash24 schreef op zondag 20 juli 2008 @ 11:24:
Hoe kan ik instellen dat een sftp verbinding automatisch met vsftpd gemaakt moet worden?
Hier heb ik geen specifieke ervaring mee, maar het lijkt me je dat je vsftpd in plaats van sftpd kunt aangeven in /etc/ssh/sshd_config:
code:
1
Subsystem sftp /usr/lib/openssh/sftp-server

  • Valium
  • Registratie: Oktober 1999
  • Laatst online: 21-01 10:49

Valium

- rustig maar -

1. De umask methode zal werken en haakt in op het shell-niveau.
2. De vsftp-config-methode zal ook werken en haakt in op het service-niveau.

Aangezien het probleem van deze gebruiker is dat 2 gebruikers altijd bij elkaars bestanden moeten kunnen zou ik de oplossing ook zoeken in het filesystem en niet in de services die ze gebruiken.

3. De in mijn ogen beste oplossing is dus om dit op het filesystem-niveau op te lossen. Dat kan door middel van POSIX ACLs. Dit is een feature die in de bekende linux-filesystems (ext3,reiser,xfs...) zit (standaard staat deze niet aan, maar kan door de distributie ingeschakeld zijn). Zie voor howto's de bekende google, zoek naar "linux acl howto" o.i.d. Vergeet niet om ook het userland pakket acl te installeren voor de tools om dit te manipuleren.

Daarna kun je op die directory een zogenaamde "default acl zetten". Alle vanaf dat moment in die directory aangemaakte bestanden (dus geen bestanden die er al waren, alleen nieuwe) zullen de rechten van die default acl overnemen. Dus voor het probleem genoemd in de titel zou dan een "setfacl -d -m g::rwx bla" genoeg zijn om dit te doen voor de directory bla.

Verwijderd

Met ACL's ga je normaal gesproken echt niet aan de gang voor zoiets triviaals. Die umask in combinatie met de juiste permissies 2775 (daar is nou die sticky bit wel handig voor) lost dit normaal gesproken wel op.

  • benoni
  • Registratie: November 2003
  • Niet online
Ik heb ook aan ACL's zitten denken, maar aangezien TS nog maar één groep heeft voor gedeeld gebruik (en niet allerlei verschillende groepen aan een samengebruikte map hoeft te hangen) voldoet een 'chmod g+s' prima lijkt me :?

Addit: Ik ben traag vandaag, Cheatah was me allang voorbij :)
Pas wel op met de term 'sticky bit', dat is 'chmod o+t' en doet wat anders dan set group id.

[ Voor 27% gewijzigd door benoni op 20-07-2008 13:52 ]


  • Emmeau
  • Registratie: Mei 2003
  • Niet online

Emmeau

All your UNIX are belong to us

ACLs?
waarom niet een group 'ftpusers' en met behulp van groepsrechten alles goed zetten?

If you choose to criticise you choose your enemies


  • Valium
  • Registratie: Oktober 1999
  • Laatst online: 21-01 10:49

Valium

- rustig maar -

Als je met groepsrechten gaat werken krijgen nieuw aangemaakte directories nog niet 775 mee, of zie ik hier iets over het hoofd? Een nieuwe directory krijgt nog steeds 755 mee, dus geen toegang voor de anderen.

  • benoni
  • Registratie: November 2003
  • Niet online
Daarvoor heb je inderdaad umask nodig, maar umask alleen is bij standaard gebruikers niet voldoende. Als je de gebruikers op de normale manier hebt aangemaakt, krijgen ze een groep onder dezelfde naam. Bij het aanmaken van een nieuwe map krijgt deze dus de primary group van de gebruiker mee, niet de group van de parent, en dan kunnen de andere gebruikers er niet in werken.

  • Valium
  • Registratie: Oktober 1999
  • Laatst online: 21-01 10:49

Valium

- rustig maar -

Mja, dat dacht ik dus al. Naar mijn mening is een combinatie van de groep zetten plus een umask forceren voor alle bestanden die die gebruiker aanmaakt inferieur aan het gebruiken van een acl. Mocht je daar namelijk een andere groep in willen hebben die toegang moet hebben kun je ook de defaultacl zetten op deze manier: "setfacl -d -m g:groepsnaam:rwx directory". Dat lost alle problemen echt op. Zonder dat er andere effecten ontstaan die wel optreden als je de umask gaat aanpassen (zoals tijdelijke bestanden ie aangemaakt worden die ineens ook andere rechten krijgen).
Pagina: 1