특정 디렉토리내의 모든 파일과
디렉토리의 소유자와 소유그룹을 모두 한번에 변경하기
 
서버작업을
하다 보면 특정 디렉토리내의 모든 파일과 디렉토리들을 특정 소유자와 소유그룹으로 변경해야 하는 경우가 흔히 발생합니다.  
 
  예를 들어 웹에서 자료실 등의 파일업로드 디렉토리의 소유자와 소유그룹을
nobody와 nobody로 해줘야 할 때가 종종 있을 것입니다.  
 
 
 
즉, Apache에서 특정 디렉토리내에 파일을 저장하려면 읽기, 쓰기
권한이 있어야 하는데 디렉토리의 소유자와 소유그룹을 nobody로 설정해 버리면 간단히 해결할 수 있으므로
이런 작업이 필요합니다.  
 
 
 
그렇다면
특정 디렉토리내에 존재하는 모든 파일과 서브디렉토리의 소유자와 소유그룹을 한꺼번에 변경하려면 어떻게 할까요?   이는 다음 예와 같이 chown명령어의
-R옵션을 사용하면 간단히 해결 할 수 있습니다.  
 
 
아래의 예를 보겠습니다.  
 
 
 
 
  | 
   [root@host1 commmand]# ls -l            
   
  합계 12 
  drwxr-xr-x    7 bible1  
  bible2       4096  9월 15 20:41
  dir1 
  -rw-r--r--    1 bible   
  root           41  9월 15 20:22
  file1 
  -rw-r--r--    1 bible   
  bible2         56  9월 15 20:22
  file2 
  [root@host1 commmand]#  
  [root@host1 commmand]# cd dir1          
   
  [root@host1 dir1]#  
  [root@host1 dir1]# ls
  -l                
   
  합계 28 
  drwxr-xr-x    4 root    
  root         8192  9월 15 20:40
  admin 
  drwxr-xr-x    4 root    
  root         4096  9월 15 20:40
  board 
  drwxr-xr-x    2 root    
  root         4096  9월 15 20:40
  phplib 
  drwxr-xr-x    3 root    
  root         4096  9월 15 20:41
  shop 
  drwxr-xr-x    2 root    
  root         4096  9월 15 20:39
  system_check 
  -rw-r--r--    1 root    
  root           17  7월 16  2002 test.php 
  [root@host1 dir1]#  
  [root@host1 dir1]# cd ..                
   
  [root@host1 commmand]#  
  [root@host1 commmand]# chown -R
  nobody:nobody dir1     
  [root@host1 commmand]#  
  [root@host1 commmand]# ls -l            
   
  합계 12 
  drwxr-xr-x    7 nobody  
  nobody       4096  9월 15 20:41
  dir1 
  -rw-r--r--    1 bible   
  root           41  9월 15 20:22
  file1 
  -rw-r--r--    1 bible   
  bible2         56  9월 15 20:22
  file2 
  [root@host1 commmand]#  
  [root@host1 commmand]# cd dir1          
   
  [root@host1 dir1]#  
  [root@host1 dir1]# ls -l                
   
  합계 28 
  drwxr-xr-x    4 nobody  
  nobody       8192  9월 15 20:40
  admin 
  drwxr-xr-x    4 nobody  
  nobody       4096  9월 15 20:40
  board 
  drwxr-xr-x    2 nobody  
  nobody       4096  9월 15 20:40
  phplib 
  drwxr-xr-x    3 nobody  
  nobody       4096  9월 15 20:41
  shop 
  drwxr-xr-x    2 nobody  
  nobody       4096  9월 15 20:39
  system_check 
  -rw-r--r--    1 nobody  
  nobody         17  7월 16  2002 test.php 
  [root@host1 dir1]#  
   | 
 
위의 예는 dir1과 그 안에 있는 모든 파일과 디렉토리들의 소유자와 소유그룹을
nobody로 변경한 예 입니다. 
 
 dir1내에 또다른 서브디렉토리가 존재한다면 그 안에 있는 모든 파일과 디렉토리들의 소유자와
소유그룹도 nobody로 변경이 됩니다.  
 
 
 
즉, 지정된 디렉토리와 그 하위의 모든 파일과 디렉토리들을 한꺼번에 특정 소유자와 소유그룹으로 변경하고자 할 때에는
위의 예와 같이 -R옵션을 사용하면 됩니다.