강좌
클라우드/리눅스에 관한 강좌입니다.

 

리눅스 분류

특정 디렉토리내의 모든 파일과 디렉토리의 소유자와 소유그룹을 모두 한번에 변경하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

특정 디렉토리내의 모든 파일과 디렉토리의 소유자와 소유그룹을 모두 한번에 변경하기

 

서버작업을 하다 보면 특정 디렉토리내의 모든 파일과 디렉토리들을 특정 소유자와 소유그룹으로 변경해야 하는 경우가 흔히 발생합니다. 

 

  예를 들어 웹에서 자료실 등의 파일업로드 디렉토리의 소유자와 소유그룹을 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옵션을 사용하면 됩니다. 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

 

공지사항


뉴스광장


  • 전체 회원수 59,543 명
  • 전체 게시물 31,732 개
  • 전체 댓글수 11,908 개