How can I chmod 777 all subfolders of /var/www?
This is bad practice, but hopefully you are just using this for development, or you have another good reason. You can specify the permissions when you create a directory using the -m
option:
mkdir -m 777 dirname
Or you can set the permissions recursively.
sudo chmod -R 777 /var/www
Before using either of these, really consider if you want your filesystem to be so accessible.
Edit: As mentioned by Rinzwind here is a better way of accomplishing what you want.
Check what group owns your /var/www
directory and add your user to that group.
sudo adduser yourusername group
The group is probably www-data
.
Then you will be OK with setting your permissions to 775.
Files and directories in Unix may have three types of permissions: read (r
), write (w
), and execute (x
). Each permission may be on
or off
for each of three categories of users: the file or directory owner; other people in the same group as the owner; and all others.
To change the mode of a file, use the chmod command. The general form is
chmod X@Y file1 file2 ...
chmod a-w file (removes all writing permissions)
chmod o+x file (sets execute permissions for other (public permissions))
chmod u=rx file (Give the owner rx permissions, not w)
chmod go-rwx file (Deny rwx permission for group, others)
chmod g+w file (Give write permission to the group)
chmod a+x file1 file2 (Give execute permission to everybody)
chmod g+rx,o+x file (OK to combine like this with a comma)
u = user that owns the file
g = group that owns the file
o = other (everyone else)
a = all (everybody)
r = read aces to the file
w = write access
x = execute (run) access