blog:set_rights_of_files_in_public_html
| Next revision | Previous revision | ||
| blog:set_rights_of_files_in_public_html [2011-03-10 18:55] – created brb | blog:set_rights_of_files_in_public_html [2011-03-11 07:57] (current) – brb | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Set rights of files in public_html ====== | ====== Set rights of files in public_html ====== | ||
| - | < | + | Set rights of user /home/*/ |
| - | #!/bin/bash | + | - all files/ |
| + | - group www-data is added g+r for files (webserver can read all files) g+rsx for directories (webserver can read and change into all directories) | ||
| + | - o-rights (for all) are completely removed, so shell users can't read files of other users (possibly containing passwords etc). | ||
| - | # setjog-here.sh | + | You can run the script using '' |
| - | find . -type d -print0 | xargs -0 chmod 755 | + | Note: Users should be informed what happens, because a lot have taken the bad habit of doing chmod 755 to everything, and they will be confused if their files go back to 750 every hour. |
| - | find . -type f -print0 | xargs -0 chmod 644 | + | |
| - | chmod 755 . | + | |
| - | chmod u+x $0 | + | |
| - | </ | + | |
| Ref: http:// | Ref: http:// | ||
| - | {{tag>}} | + | <code bash> |
| + | #!/bin/bash - | ||
| + | # | ||
| + | # | ||
| + | # FILE: fixphrights.sh | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # and useful way | ||
| + | # - all files/ | ||
| + | # and the webserver has group access | ||
| + | # - group www-data is added | ||
| + | # g+r for files (webserver can read all files) | ||
| + | # g+rsx for directories (webserver can read and change into all directories) | ||
| + | # - o-rights (for all) are completely removed, so shell users can't read | ||
| + | # files of other users (possibly containing passwords etc). | ||
| + | # This can be run in a cronjob and will fix rights every five minutes, e.g.: | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # Requirements: | ||
| + | # BUGS: --- | ||
| + | # | ||
| + | # Author: Bernhard Brunner (bn), bernhard point brunner att epr point ch | ||
| + | # | ||
| + | # | ||
| + | # Last modified: 2011/03/11 07:40 | ||
| + | # Revision: | ||
| + | # | ||
| + | |||
| + | set -o nounset | ||
| + | |||
| + | setrights () | ||
| + | { | ||
| + | echo $1 | ||
| + | cd /home/$1 | ||
| + | mkdir -p public_html | ||
| + | cd public_html | ||
| + | find . -type d -print0 | xargs -0 chown $1: | ||
| + | find . -type d -print0 | xargs -0 chmod u+s, | ||
| + | find . -type f -print0 | xargs -0 chown $1: | ||
| + | find . -type f -print0 | xargs -0 chmod g+r,o-rwx | ||
| + | chown $1:www-data . | ||
| + | chmod u+x, | ||
| + | # chmod u+x | ||
| + | } | ||
| + | # ---------- | ||
| + | |||
| + | cd /home | ||
| + | for i in * ; do | ||
| + | echo $i | ||
| + | if [[ " | ||
| + | setrights $i | ||
| + | fi | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | {{tag>linux bash webserver}} | ||
| ~~LINKBACK~~ | ~~LINKBACK~~ | ||
| ~~DISCUSSION~~ | ~~DISCUSSION~~ | ||
blog/set_rights_of_files_in_public_html.1299779746.txt.gz · Last modified: 2011-03-10 18:55 by brb
