웹마스터 팁
page_full_width">
서버의 파일권한 맞추기.
2016.03.01 11:33
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# 일반유저에게 퍼미션 변경 권한을 주기 위한 스크립트. crontab 권한이 있어야 함. # filename /usr/local/bin/setperm #!/bin/bash sudo -u root /usr/local/bin/_setperm ##################### # crontab 그룹의 유저에게 _setperm root 실행 권한을 줌. # filename /etc/sudoers.d/setperm % crontab ALL=NOPASSWD: /usr/local/bin/_setperm ##################### # filename /usr/local/bin/_setperm # root 로 직접 실행할 경우 /home/username 밑에서 실행하면 유저명을 맞춰줌. # 그 외 디렉토리에서는 SUDO_USER=username _setperm 하면 됨. #!/bin/bash if [[ "x${SUDO_USER}" == "x" ]]; then UDIR=` pwd | awk -F / '{ print $3 }' ` if [[ "x${UDIR}" == "x" ]]; then exit fi SUDO_USER=$UDIR fi chown -R $SUDO_USER:nogroup . find - type d - exec chmod 705 {} \; find - type f - exec chmod 604 {} \; if [[ -d /home/ $SUDO_USER/. ssh ]]; then cd /home/ $SUDO_USER/. ssh chown -R $SUDO_USER:nogroup . chmod 700 . chmod 600 * fi ##################### # 웹서버는 www-data:www-data 처럼 nogroup 과는 관련 없는 권한으로 하고, # 유저는 nogroup 권한으로 만들면 (useradd -m username -g nogroup -G crontab) # 유저자신은 owner +r+w+x 로 접근되고, 다른 유저는 nogroup -r-w-x 에 걸려 접근못하고, # 웹서버는 other +r-w+x 로 읽기권한이 있음. # php 같은 스크립트서버는 username:nogroup 권한으로 띄워주면 끝. php-fpm 짱짱맨. # Copyright : Song Hyo Jin (shj at xenosi.de) # License : MIT |