2009-08-06 23:30:27 +0000 2009-08-06 23:30:27 +0000
199
199

Hoe kan ik alle gebruikers in linux schrijftoegang geven tot een map?

Ik heb zojuist apache2 op Ubuntu geïnstalleerd, en merkte dat de map /var/www beveiligd is. Ik kan gewoon sudo alles, maar ik geef het liever gewoon schrijftoegang.

Hoe kan ik dit doen?

Ik heb sudo chmod 7777 /var/www geprobeerd maar het werkte niet.

Antwoorden (8)

328
328
328
2009-08-07 00:15:22 +0000

Om het beste te kunnen delen met meerdere gebruikers die in /var/www zouden moeten kunnen schrijven, zou het een gemeenschappelijke groep moeten krijgen. De standaard groep voor webinhoud op Ubuntu en Debian is bijvoorbeeld www-data. Zorg ervoor dat alle gebruikers die schrijftoegang tot /var/www nodig hebben in deze groep zitten.

sudo usermod -a -G www-data <some_user>

Stel dan de juiste rechten in op /var/www.

sudo chgrp -R www-data /var/www
sudo chmod -R g+w /var/www

Daarnaast moet je de map en alle directories eronder “GID” maken, zodat alle nieuwe bestanden en directories die onder /var/www zijn aangemaakt, eigendom zijn van de www-data groep. sudo find /var/www -type d -exec chmod 2775 {} \;

Zoek alle bestanden in /var/www en voeg lees- en schrijfrechten toe voor eigenaar en groep:

sudo find /var/www -type f -exec chmod ug+rw {} \;

Het kan zijn dat je moet uitloggen en weer moet inloggen om wijzigingen aan te kunnen brengen als je de rechten voor je eigen account aan het bewerken bent.

34
34
34
2011-09-22 10:31:49 +0000

Er is een eenvoudigere manier om dit te doen, probeer dit commando te doen.

sudo chmod -R 757 /var/www

In wezen verandert het chmod commando de rechten en heeft de -R-schakelaar invloed op alle gebruikers. Dan is het simpelweg het geven van de juiste rechten om te gebruiken.

30
30
30
2013-08-09 19:22:50 +0000

Read+Write:

sudo chmod -R a+rw /var/www

Read+Write+Execute:

sudo chmod -R a+rwx /var/www
8
8
8
2009-08-08 12:29:16 +0000

U kunt ook repliceren wat jtimberman heeft voorgesteld met behulp van toegangscontrolelijsten . De opdracht setfacl accepteert -s om een bestaande ACL te vervangen of -m om deze te wijzigen; -R om directory ACL’s recursief te maken; en -d om de opgegeven instellingen de standaardinstelling te maken, wat handig is als u anticipeert op komende gebruikersaccounts.

Deze stellen gewoon de rechten in zoals je dat zou doen voor de gebruiker, groep, andere, en masker met behulp van chmod:

setfacl -m u::rwx, g::r-x, o::---, m:rwx DIRECTORY

En dit zou kunnen zijn hoe je het zou doen voor een bepaalde gebruiker of zijn/haar groep:

setfacl -m u:USERNAME:rwx, g:USERNAME:r-x DIRECTORY

En natuurlijk, de kracht is dat je elke specifieke gebruiker, meerdere gebruikers, etc. kunt aanwijzen, zonder dat je de instellingen van je groep hoeft aan te passen. En in tegenstelling tot chmod, als je wilt dat sommige groupies toegang hebben tot de ene map en andere groupies alleen toegang hebben tot een andere, is het eigenlijk mogelijk met setfacl. Tot slot, om de ACL’s van een map te bekijken, voert u getfacl :

getfacl DIRECTORY

en u kunt -R opgeven om de ACL’s voor subdirectories te zien of -d om de standaardinstellingen te zien.

3
3
3
2018-02-20 02:20:19 +0000

Het snelle & eenvoudige antwoord -

a. Voeg (-a) uw gebruiker (-G) toe aan de groep (-G) www-data.

sudo usermod -a -G www-data user_name

b. Geef de groep (g) dezelfde (=) rechten als de eigen gebruiker (u) van /var/www Recursief (-R).

sudo chmod -R g=u /var/www

Uitleg: Apache 2 op Debian/Ubuntu stelt de Gebruiker & Groep www-data in als de eigenaar van /var/www. De standaard permissies voor de Gebruiker zijn “View & Modify Content”, maar de Groep kan alleen “View Content”. Dus jezelf toevoegen aan de www-data Group en deze dezelfde rechten geven als de wwww-data User, is een snelle en eenvoudige manier om te ontwikkelen. Ik doe dit voor al mijn lokale host (PC/Laptop) webontwikkelingsomgevingen.

2
2
2
2017-03-19 21:13:20 +0000

Ik typicall gebruik

chmod g+w /folder/ -R

Het is bijna zelfverklarend.

Het voegt iedereen in de g-groep van /folder/ toe om w schrijftoegang (+w) te hebben, -R is voor recursie voor submappen.

-3
-3
-3
2009-08-07 02:01:12 +0000

Kan je gewoon chmod 0777 /var/www proberen ?

Een waarschuwing: als je iedereen toegang geeft tot deze map, betekent dit dat de hackers toegang kunnen krijgen tot deze map als ze toegang krijgen tot uw systeem. Daarom is het beter om een groep van toegestane gebruikers aan te maken, en die groep schrijftoegang te geven.

-3
-3
-3
2011-09-30 09:58:58 +0000

Eerst voer je het specifieke map pad in, dan gebruik je dit commando …

chmod -R 777 foldername
chown username:username foldername