Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: FTP CHMOD rechten vragen  (gelezen 6186 keer)

turbodiesel13

  • Gast
FTP CHMOD rechten vragen
« Gepost op: 2007/01/04, 11:06:24 »
Hey, ik ben zelf nu ook bezig met een Ubuntu Server. Ik ben compleet nieuw in het command venster (linux omgeving) maar heb het nu voor elkaar gekregen om een webserver met apache, php5 en mysql te maken. De ubuntu draait virtueel op mijn pc en is gewoon via 'buiten' te benaderen via mijn IP adres. Nu wil ik dus dmv FTP bestanden online kunnen zetten en bewerken. Ik loop nu tegen een aantal problemen aan:

- het lukt maar niet om de rechten van een bepaalde map via een FTP client (smartFTP) aan te passen.
- Ik wil dat alle mappen en files die in een bepaalde map geplaatst worden allemaal de rechten structuur(CHMOD settings) van de moeder krijgen.
- Als ik een nieuwe user toevoeg, en deze iets laat uploaden, kan ik het zelfs helemaal niet via de FTP client iets doen met die map, niet CHmodden, niet bewerken.

Hoe kan ik deze bovenstaande dingen oplossen?

Ik gebruik de interface versie van ProFTPd dus met een 'G' ervoor
GPROFTPD

Offline Tukcedo

  • Lid
    • http://www.tukcedo.nl
FTP CHMOD rechten vragen
« Reactie #1 Gepost op: 2007/01/04, 11:27:01 »
OK, even in het algemeen: je kunt veel beter SSH (of, in dit geval, scp) gebruiken om bestanden te kopieren. Weliswaar doe je waarschijnlijk alles (nog) op je interne netwerk, maar het is beter om je nu al te wennen aan encrypted (versleutelde) dataoverdracht in het algemeen en SSH in het bijzonder.  Een voorbeeldje van een SSH commandline zou bijv. kunnen zijn:

scp -r /my/website/* pietje@web:/var/www/mijnsite

Waarbij:

-r                           bestanden en directories recursief kopieren
/my/website/*        je web site source bestanden
pietje                     gebruiker op het ontvangende systeem
web                       ontvangend systeem
/var/www/mijnsite  locatie van je web site bestanden

Als je meer wilt weten gil dan maar!
Tukcedo Services - Unix en Linux Consultants
http://www.tukcedo.nl

turbodiesel13

  • Gast
FTP CHMOD rechten vragen
« Reactie #2 Gepost op: 2007/01/04, 14:17:51 »
nee ik doe het niet alleen maar intern, maar ook extern, vanaf me werk website files uploaden.
Voorheen gebruikte ik altijd Serv-U (een ftp programma om mappen via de FTP te delen, en gebruikers toe te voegen)
Datzelfde hoopte ik dus voor elkaar te krijgen met GPROFTPD.

Je antwoord is voor mij nog iets te onduidelijk aangezien mijn kennis met ubuntu (linux) laag is.

FTP CHMOD rechten vragen
« Reactie #3 Gepost op: 2007/01/04, 18:10:29 »
scp is hetzelfde als ftp maar over een ssh kanaal. Het verschil tussen ssh en ftp zit het dat al je bestanden inclusief het inloggen bij ssh via een beveiligd kanaal gaat. Maw veel veiliger. Bij ftp kan iemand je paswoord en login verkrijgen met een een 'snifler' programma.

Ik doe hetzelfde als tukcedo zegt, enkel gebruik ik het sftp protocol. Heb vroeger beide geprobeerd en sftp was beter, geen idee meer waarom, maar kan het nog eens opzoeken.

eerst moet je op je server een ssh-server draaien. hiermee, kan je op uw pc inloggen om beheerderstaken te doen.

in die server zit ook alles om te kunnen ftp'en via ssh (sftp).
Je kan dit gebruiken door in de console:
sftp

dan kan je met gewone ftp comando's put, get, cd, ls,... in mappen bladeren, downloaden, uploaden....

op een desktop pc die gnome draait, kan je in locaties>connect server ook ssh als protocol aanvinken, dus dit alles grafisch doen.

Het enige nadeel is, op een windowspc kan je ftp'en in internet explorer. Spijtig genoeg kan deze niet sftp doen. Dus op een windowspc heb je een ftp client nodig zoals filezilla, ...

op de wiki vind je een beetje meer info over ssh https://wiki.ubuntu.com/NlLampHowto#head-8d13bac12cff7ec1faed1d9f453bb28197a5f3f2

Normaal kan je een pak meer vinden. Probeer maar eens de zoekfunctie van dit forum met als termen: ssh en sftp.

Succes,
Arvid Van Essche

turbodiesel13

  • Gast
FTP CHMOD rechten vragen
« Reactie #4 Gepost op: 2007/01/05, 09:42:10 »
Citaat van: Burnass
Het enige nadeel is, op een windowspc kan je ftp'en in internet explorer. Spijtig genoeg kan deze niet sftp doen. Dus op een windowspc heb je een ftp client nodig zoals filezilla, ...
Dat vind ik ook wel jammer opzich. Want ik heb de FTP namelijk opgezet met bedoeling dat mensen die weinig verstand van computers hebben, toch hun foto's en filmpjes op de ftp map kunnen zetten, zodat ik ze vervolgens gemakkelijk kan toevoegen in het online fotoprogramma (coppermine) wat draait op mijn server

Dank je voor de info verder, ik zal mijzelf zowieso nog even verdiepen in het ssh verhaal op de wiki. Maar nog 1 vraag, kun je een map via de commandline chmod rechten geven (sudo chmod 777 /var/www/pictures/albums) , maar dat ook automatisch alle files/mappen die in die map worden gezet deizelfde rechten krijgen ?

Zodat als iemand er via ftp files inzet, deze gelijk 777 worden kan dit ?

Dank in ieder geval al voor alle antwoorden!

Offline Tukcedo

  • Lid
    • http://www.tukcedo.nl
FTP CHMOD rechten vragen
« Reactie #5 Gepost op: 2007/01/05, 11:44:18 »
Er is trouwens ook een SSH client voor Windows, maar ik weet niet of die sftp ondersteunt. In elk geval wel scp: PuTTY. Gewoon in Google even putty en download inkloppen en dan zie je het vanzelf.

T.a.v. je permissies heb je twee mogelijkheden: OF je zet de permissies voor alle bestanden op dat moment met de optie -R (voor recursief) dus chmod -R 777 .... OF je zet het z.g. GID bit op de directory waardoor bestanden in die directory dezelfde owner krijgen als de owner van die directory. Dat is denk ik wat je wilt:

sudo chmod g+s /my/dir

Succes!

p.s. Hier is een artikeltje over dat GID bit: http://www.metacase.com/support/25/manuals/dbgroups.html
Tukcedo Services - Unix en Linux Consultants
http://www.tukcedo.nl

turbodiesel13

  • Gast
FTP CHMOD rechten vragen
« Reactie #6 Gepost op: 2007/01/05, 11:54:37 »
Bedankt Tukcedo, ik ga het vanavond gelijk even proberen!  Is het alleen ook zo dat met GID bit de files die er op worden gezet, NADAT het commanda is uitgevoerd, ook dezelfde owner krijgen, of moet je na elk nieuw geplaatste file / folder weer die commando uitvoeren ? Lijkt mij een beetje onhandig namelijk ?

FTP CHMOD rechten vragen
« Reactie #7 Gepost op: 2007/01/05, 13:29:02 »
Als je recursive gebruikt (de -r optie bij chmod), verander je alle onderliggende mappen naar die permitie. De nieuwe bestanden worden niet veranderd.
Ik denk bij GID bit dat de nieuwe bestanden ook veranderen, maar dit kende ik ook niet, ga het ook eens bekijken!

Veel geluk,
Arvid

Offline Tukcedo

  • Lid
    • http://www.tukcedo.nl
FTP CHMOD rechten vragen
« Reactie #8 Gepost op: 2007/01/05, 14:51:17 »
De SETGID truc werkt juist nadat je het commando hebt gegeven totdat je het bitje er weer afhaalt. Het is dus een eenmalig commando zeg maar, terwijl je de "-R' truc zou moeten herhalen omdat nieuwe bestanden toch weer hun standaard permissies krijgen. Die zijn echter weer aan te passen met het z.g. umask, maar da''s weer een ander verhaal ...
Tukcedo Services - Unix en Linux Consultants
http://www.tukcedo.nl

turbodiesel13

  • Gast
FTP CHMOD rechten vragen
« Reactie #9 Gepost op: 2007/01/06, 20:13:13 »
Ik ben er nu even mee aan het stoeien geweest, maar echt begrijpen doe ik het nog niet.
Als ik nu een bestand toevoeg krijgt deze standaard de CHMOD waarde "0" ipv de 777 die ik wil :)

Ik heb het voldende geprobeerd:
CHMOD -R G+W /var/www/pictures/albums/*
CHMOD g+s /var/www/pictures/albums/

(stuk gevonden http://www.phpfreakz.com/forum.php?forum=8&page=6&iid=767099)

De gebruikers die op mijn ProFTP zijn toegevoegd zijn allemaal lid van de groep Users
behalve ikzelf ik ben lid van admin

Moet ik nog iets met die groepen doen?

turbodiesel13

  • Gast
FTP CHMOD rechten vragen
« Reactie #10 Gepost op: 2007/01/06, 20:55:41 »
Ik zal ook even plaatsen wat ik krijg bij een comando:

root@turbodiesel13-pc:~# ls -l /var/www/pictures/albums
total 36
drwxrwxrwx 2 root          root          4096 2006-12-23 20:17 edit
-rwxrwxrwx 1 root          root          1376 2006-10-29 22:56 index.php
-rwxrwxrwx 1 turbodiesel13 Admin          215 2006-12-23 20:41 LEES MIJ EERST FF.txt
drwxrwxrwx 3 turbodiesel13 Admin         4096 2006-12-23 20:40 Mp3
drwxrwxrwx 6 turbodiesel13 Admin         4096 2006-12-26 06:21 Pictures
drwxrwxrwx 2 turbodiesel13 Admin         4096 2006-12-25 02:15 Software
drwxrwxrwx 2 turbodiesel13 turbodiesel13 4096 2006-12-27 01:21 Testee
drwxr-xr-x 2 niles         Users         4096 2006-12-27 01:26 Test Map
drwxrwxrwx 5 root          root          4096 2006-12-23 20:17 userpics
root@turbodiesel13-pc:~#

Hier zie je dus dat als gebruiker niles van de groep users een bestand plaats, deze onder zijn 'beheer is' dat wil ik dus niet :)

Offline Tukcedo

  • Lid
    • http://www.tukcedo.nl
FTP CHMOD rechten vragen
« Reactie #11 Gepost op: 2007/01/07, 11:54:52 »
Niet helemaal correct: we hebben het GROUP bit aangezet en je ziet dus dat de Users de "group owner" is van wat niles heeft neergezet.

Hmmm nu wordt me iets duidelijker wat je bedoeld, je wilt ook de OWNER van het bestand van de moeder directory overnemen zeg maar. Ik geloof niet dat je automatisch de owner kunt overerven, wat je wel kunt doen is de permissies van de moederdirectory zo aanpassen dat anderen (naar jouw keus) toegang hebben.

Als iemand write permissies op een directory heeft, dan mag-ie dus ook bestanden uit die directory verwijderen en hij mag ze er in plaatsen. Je hebt dus kans dat je doel al bereikt is ...
Tukcedo Services - Unix en Linux Consultants
http://www.tukcedo.nl

turbodiesel13

  • Gast
FTP CHMOD rechten vragen
« Reactie #12 Gepost op: 2007/01/07, 14:34:55 »
ja sorry, ik wist ook niet helemaal precies hoe ik het moest verwoorden. Maar in bovenstaand geval kan Niles gewoon posten / editten /deleten, die rechten heb ik hem ook gegeven in het FTP programma. Maar het probleem is dat de bestanden die niles online zet (en alle andere gebruikers van de groep users) niet automatisch de chmod settings 777 krijgt. en ik als turbodiesel13(admin) de rechten niet kunt aanpassen in het FTP programma.

(wat ik dan dus nu doe is de map downloaden, want dat kan ik wel, dan deleten, mag ook, dan zelf online zet, en de chmod settings verander met de ftp client.)

Ik hoop dat ik het zo nog even een stukje duidelijker heb gemaakt! Tukcedo bedankt voor je snelle reacties elke keer! (y)

Offline Tukcedo

  • Lid
    • http://www.tukcedo.nl
FTP CHMOD rechten vragen
« Reactie #13 Gepost op: 2007/01/07, 15:53:17 »
Als niles alleen maar via FTP binnenkomt, dan kun je proberen om met het z.g. "umask" zijn standaard permissies in te stellen. Je moet dan als root nils' .bashrc bestand in zijn homedir aanpassen. Zet daar in:

umask 0000

Dit creert bestanden die readable/writeable voor idereen zijn ...

Je kunt zelf ermee spelen door in je huidige shell gewoon umask in te typen. Dat geeft je de huidige instelling, n.l. 022. Type vervolgens umask 0000 en maak een nieuw bestand met "> bla". Je bekijkt de permissies dan met "ls -l bla". Hopelijk is dat wat?
Tukcedo Services - Unix en Linux Consultants
http://www.tukcedo.nl

turbodiesel13

  • Gast
FTP CHMOD rechten vragen
« Reactie #14 Gepost op: 2007/01/07, 23:40:09 »
het lukt nog niet helemaal. Ik heb nu nog een ftp account aangemaakt genaamd user03 waarmee ik test. Alles wat ik met deze account upload of aanmaak in het smart ftp programma, krijgt (ondanks welke umask ik ook gebruik) de chmod rechten 644. Welke ik dus in 777 wil hebben. Die .bashrc kan ik niet vinden helaas

turbodiesel13

  • Gast
FTP CHMOD rechten vragen
« Reactie #15 Gepost op: 2007/01/07, 23:51:34 »
ondertussen is me het wel gelukt met het gid bitje. Alle nieuwe bestanden krijgen nu allemaal de zelfde user + group, ook nieuwe files. Alleen rest mij nu nog het probleemtje dat als 'niles' of 'user03' files uploaden deze niet standaard op 777 staan. En ik dit wel graag zou willen

turbodiesel13

  • Gast
FTP CHMOD rechten vragen
« Reactie #16 Gepost op: 2007/01/08, 00:19:57 »
Citaat van: turbodiesel13
ondertussen is me het wel gelukt met het gid bitje.
Ook deze opmerking neem ik weer terug :(
Hij veranderde de gebruiker + groep van de huidige bestanden, maar als er weer een nieuwe map bijkomt dan geeft hij niet automatisch de owner of die map mee:

root@turbodiesel13-pc:/var/www/pictures/albums# ls -l
total 28
drwxrwxrwx 2 turbodiesel13 admin 4096 2006-12-23 20:17 edit
-rwxrwxrwx 1 turbodiesel13 admin 1376 2006-10-29 22:56 index.php
-rwxrwxrwx 1 turbodiesel13 admin  215 2006-12-23 20:41 LEES MIJ EERST FF.txt
drwxrwxrwx 3 turbodiesel13 admin 4096 2006-12-23 20:40 Mp3
drwxrwxrwx 6 turbodiesel13 admin 4096 2006-12-26 06:21 Pictures
drwxrwxrwx 2 turbodiesel13 admin 4096 2006-12-25 02:15 Software
-rwxrwxrwx 1 turbodiesel13 admin    0 2006-12-28 04:56 test01.txt
-rwxrwxrwx 1 turbodiesel13 admin    0 2006-12-28 05:04 test02.txt
-rw-r--r-- 1 user03        Users    0 2006-12-28 05:07 test03.txt
drwxrwxrwx 5 turbodiesel13 admin 4096 2006-12-23 20:17 userpics
De code die ik daarvoor uitgevoerd heb:

chown -R turbodiesel13:admin /var/www/pictures/albums/
chmod -R g+w /var/www/pictures/albums/*
chmod g+s /var/www/pictures/albums
ook inngevoerd in de terminal:
umask 0000---
Bestanden die nu online worden gezet door andere krijgen nu dus nog steeds als chmod recht 644 mee en ik kan ze niet bewerken met mijn account (turbodiesel13:admin) via ftp.

Offline Tukcedo

  • Lid
    • http://www.tukcedo.nl
FTP CHMOD rechten vragen
« Reactie #17 Gepost op: 2007/01/08, 08:18:35 »
In de home directory van je user03 moet een bash (shell) initialisatie (rc) bestand staan. Doe es:

ls -al /home/user03

De GID-bit actie heeft gewerkt, want het betekent dat bestanden die erin worden geplaatst dus dezelfde GROUP owner krijgen als de directory waar je de chmod g+s op uitvoert. Alleen wil jij nog een stap verder door overal 777 (-rwxrwxrwx) van te maken. Overigens, het zal wel 666 (-rw-rw-rw-) moeten zijn want tekst bestanden zijn sowieso niet uitvoerbaar natuurlijk). Maar goed.

Die umask zal alleen maar actief zijn voor de shell waarin je 'm uitvoert. Vandaar dat je het commando zo kunt intypen en er dan mee kunt testen. Echter, ook een user die via FTP inlogt zal hoogstwaarschijnlijk een nieuwe shell krijgen (da's dus niet dezelfde als waar jij mee aan het testen bent) en dus moeten we umask 0000 in die bashrc opnemen.

Nog efkes zoeken dus naar die bashrc.
Tukcedo Services - Unix en Linux Consultants
http://www.tukcedo.nl

turbodiesel13

  • Gast
FTP CHMOD rechten vragen
« Reactie #18 Gepost op: 2007/01/08, 15:35:09 »
resultaat:
root@turbodiesel13-pc:/var/www/pictures/albums# ls -al /home/user03
ls: /home/user03: No such file or directory

komt dit misschien omdat ik de users in het FTP programma heb aangemaakt, en niet in de terminal of interface van ubuntu?

want in die directory zou toch ook die .bashrc moeten staan?

turbodiesel13

  • Gast
FTP CHMOD rechten vragen
« Reactie #19 Gepost op: 2007/01/08, 16:05:17 »
ik heb nu een user04 toegevoegd in Ubuntu, en daarna pas in  ProFTPd. Nu bestaat er wel een /home/user04/ met daarin een .bashrc, waar moet ik alleen intypen 'umask 0000' ? En moet er nog iets anders bij. Ik heb het nu helemaal onderaan het textbestand gezet

...... veel text erboven ....

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

#kijken of de rechten nu goed gaan.
umask 0000
als ik nu met deze user04 inlog via FTP en een bestand plaats word deze weer 644, en kan een andere user hem niet chmodden..

Offline Tukcedo

  • Lid
    • http://www.tukcedo.nl
FTP CHMOD rechten vragen
« Reactie #20 Gepost op: 2007/01/08, 16:10:23 »
Hmmm daar noem je iets interessants: een user toevoegen in ProFTP ... Blijkbaar heeft een ProFTP user niets te maken met een Ubuntu user (beetje vreemde situatie eigenlijk) en als dat zo is, dan gaat de umask truc natuurlijk ook niet werken. Helaas zou je dan alleen binnen ProFTP wat moeten kunnen instellen OF misschien de ProFTP user (zeg maar waar het proftpd onder draait) een umask 0000 geven in diens .bashrc. Probeer dat es!
Tukcedo Services - Unix en Linux Consultants
http://www.tukcedo.nl

Bartbes

  • Gast
FTP CHMOD rechten vragen
« Reactie #21 Gepost op: 2007/01/08, 16:10:36 »
Is dit misschien niet wat voor een scriptje? Al belast het veel van je CPU als hij zich in een oneindige loop bevind natuurlijk, maar is het niet een idee?
Zoiets als:
while [ 1 -eq 1 ]; do
    chmod -R 777
done
? (de code kan niet helemaal kloppen, ik maak altijd fouten met die while loop)

EDIT: zie je heb ik een fout gemaakt, aangepast

Offline Tukcedo

  • Lid
    • http://www.tukcedo.nl
FTP CHMOD rechten vragen
« Reactie #22 Gepost op: 2007/01/08, 16:13:30 »
Je kunt ook zeggen "while true" in dit geval en "loop" moet "done" zijn. Ja, kan wel natuurlijk alhoewel ik in dat geval liever via cron elke minuut een chmod zou afschieten: is wat beter voor de systeem resources en beheersbaarheid. Maar liever natuurlijk een oplossing die zichzelf op de been houdt. Als het echter niet anders kan ... tja dan hebben we geen keus.
Tukcedo Services - Unix en Linux Consultants
http://www.tukcedo.nl

turbodiesel13

  • Gast
FTP CHMOD rechten vragen
« Reactie #23 Gepost op: 2007/01/08, 17:23:32 »
als ik type ps -aux krijg ik een hele lijst en een paar keer proftpd welke is juist?

nobody   18347  0.0  0.2   3080  1724 ?        Ss   20:51   0:03 proftpd: (accepting connections)

root      7462 21.6  7.3  72340 44208 ?        S    Dec23 1759:44 gproftpd
de bachsr is helemaal leeg van nobody. Ik vind het ook een beetje rare eigenaar eigenlijk. root@turbodiesel13-pc:/var/www/pictures/albums# gedit /home/nobody/.bashrc

Offline Tukcedo

  • Lid
    • http://www.tukcedo.nl
FTP CHMOD rechten vragen
« Reactie #24 Gepost op: 2007/01/08, 21:53:31 »
't Is die ene die zegt "accepting connections". Die nobody is een soort van anonieme "non-priviliged" user voor algemeen gebruik. Je vindt 'm voornamelijk op Linux. Afijn, is het gelukt om die .bashrc te veranderen (waarschijnlijk te maken)? In /etc/passwd kun je kijken wat de homedirectory is van die nobody: grep nobody /etc/passwd maar ik heb zo'n donkerbruin vermoeden dat-ie er geen heeft. In zo'n geval /home/nobody aanmaken en dat in /etc/passwd aanpassen (neem je eigen userid als voorbeeld, de ':' is de record seperator). Overigens, ik weet dus nog steeds niet of het zo gaat werken, maar in elk geval kunnen we het zo testen.
Tukcedo Services - Unix en Linux Consultants
http://www.tukcedo.nl