웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
퍼미션을 보기좋게 구하자!
2005.01.03 11:43
퍼미션을 보기 좋게 구하는 함수를 만들어 보았습니다.
유닉스 시스템에서
echo `ls -al`;
하면,
대략 아래 예와 같이 출력됩니다.
(서버에서 명령어 막았다면 OTL)
total 16
drwxrwxrwx 4 plorella member 512 12 9 19:08 .
drwxr-xr-x 7 plorella member 512 1 2 15:13 ..
d--------- 2 plorella member 512 12 2 20:54 000
---------- 1 plorella member 0 12 2 20:23 000.php
---------x 1 plorella member 0 12 2 20:44 001.php
--------w- 1 plorella member 0 12 2 20:44 002.php
--------wx 1 plorella member 0 12 2 20:44 003.php
-------rwx 1 plorella member 0 12 2 20:46 007.php
------x--- 1 plorella member 0 12 2 20:47 010.php
-rwxrwxrw- 1 plorella member 0 12 2 20:48 776.php
drwxrwxrwx 2 plorella member 512 12 2 20:54 777
-rwxrwxrwx 1 plorella member 0 12 2 20:47 777.php
-rwxrwxrwx 1 plorella member 239 12 2 20:35 psl_dir.php
lrwxr-xr-x 1 nobody member 11 12 9 19:04 psl_dir.symlink -> psl_dir.php
-rw-r--r-- 1 plorella member 1299 1 3 11:29 test.php
-rw-r--r-- 1 plorella member 59 12 10 19:38 test2.php
-rw-r--r-- 1 plorella member 1287 12 9 19:07 void.php
여기서 앞의 글자 10자리가 퍼미션을 뜻합니다.
고2때 유닉스OS쓰는 DUCT소프트를 사용해서 배운건데...
(아시는 분도 많겠지만)
맨 앞자리가 d면 디렉토리, l이면 심볼릭링크 (위의 예제에 하나 만들어 두었습니다; 찾아보세요;)
-면 일반 파일입니다.(하드링크도 파일로 취급하는듯... 이런건 잘 몰라서;;)
그다음 세자리가 소유자의 권한입니다.
r이면 읽기가능, w면 쓰기가능, x면 실행가능. -는 권한없음
다음 세자리는 그룹의 권한.(같은 방식으로;)
다음 세자리가 유저..라고 되있는데, 일반다른사용자의 권한인.
아래의 함수가 위와같이 파일명을 인수로 문자열로 퍼미션을 반환합니다.
function get_perms($file){
$perms = fileperms($file);
$ans .= ($perms & 0x00004000) ? 'd' : '-'; //디렉토리인지 조사
$ans .= ($perms & 0x00000100) ? 'r' : '-'; //Owner : 읽기
$ans .= ($perms & 0x00000080) ? 'w' : '-'; //Owner : 쓰기
$ans .= ($perms & 0x00000040) ? 'x' : '-'; //Owner : 실행
$ans .= ($perms & 0x00000020) ? 'r' : '-'; //Group : 읽기
$ans .= ($perms & 0x00000010) ? 'w' : '-'; //Group : 쓰기
$ans .= ($perms & 0x00000008) ? 'x' : '-'; //Group : 실행
$ans .= ($perms & 0x00000004) ? 'r' : '-'; //User : 읽기
$ans .= ($perms & 0x00000002) ? 'w' : '-'; //User : 쓰기
$ans .= ($perms & 0x00000001) ? '+ 'x' : '-'; //User : 실행
return $ans;
}
단 fileperms함수로 퍼미션정보를 얻기때문에,
심볼릭링크는 판별하지 못합니다. (심심하신분은 링크판별함수 추가해서 기능을 추가하시는것도..)
유닉스 시스템에서
echo `ls -al`;
하면,
대략 아래 예와 같이 출력됩니다.
(서버에서 명령어 막았다면 OTL)
total 16
drwxrwxrwx 4 plorella member 512 12 9 19:08 .
drwxr-xr-x 7 plorella member 512 1 2 15:13 ..
d--------- 2 plorella member 512 12 2 20:54 000
---------- 1 plorella member 0 12 2 20:23 000.php
---------x 1 plorella member 0 12 2 20:44 001.php
--------w- 1 plorella member 0 12 2 20:44 002.php
--------wx 1 plorella member 0 12 2 20:44 003.php
-------rwx 1 plorella member 0 12 2 20:46 007.php
------x--- 1 plorella member 0 12 2 20:47 010.php
-rwxrwxrw- 1 plorella member 0 12 2 20:48 776.php
drwxrwxrwx 2 plorella member 512 12 2 20:54 777
-rwxrwxrwx 1 plorella member 0 12 2 20:47 777.php
-rwxrwxrwx 1 plorella member 239 12 2 20:35 psl_dir.php
lrwxr-xr-x 1 nobody member 11 12 9 19:04 psl_dir.symlink -> psl_dir.php
-rw-r--r-- 1 plorella member 1299 1 3 11:29 test.php
-rw-r--r-- 1 plorella member 59 12 10 19:38 test2.php
-rw-r--r-- 1 plorella member 1287 12 9 19:07 void.php
여기서 앞의 글자 10자리가 퍼미션을 뜻합니다.
고2때 유닉스OS쓰는 DUCT소프트를 사용해서 배운건데...
(아시는 분도 많겠지만)
맨 앞자리가 d면 디렉토리, l이면 심볼릭링크 (위의 예제에 하나 만들어 두었습니다; 찾아보세요;)
-면 일반 파일입니다.(하드링크도 파일로 취급하는듯... 이런건 잘 몰라서;;)
그다음 세자리가 소유자의 권한입니다.
r이면 읽기가능, w면 쓰기가능, x면 실행가능. -는 권한없음
다음 세자리는 그룹의 권한.(같은 방식으로;)
다음 세자리가 유저..라고 되있는데, 일반다른사용자의 권한인.
아래의 함수가 위와같이 파일명을 인수로 문자열로 퍼미션을 반환합니다.
function get_perms($file){
$perms = fileperms($file);
$ans .= ($perms & 0x00004000) ? 'd' : '-'; //디렉토리인지 조사
$ans .= ($perms & 0x00000100) ? 'r' : '-'; //Owner : 읽기
$ans .= ($perms & 0x00000080) ? 'w' : '-'; //Owner : 쓰기
$ans .= ($perms & 0x00000040) ? 'x' : '-'; //Owner : 실행
$ans .= ($perms & 0x00000020) ? 'r' : '-'; //Group : 읽기
$ans .= ($perms & 0x00000010) ? 'w' : '-'; //Group : 쓰기
$ans .= ($perms & 0x00000008) ? 'x' : '-'; //Group : 실행
$ans .= ($perms & 0x00000004) ? 'r' : '-'; //User : 읽기
$ans .= ($perms & 0x00000002) ? 'w' : '-'; //User : 쓰기
$ans .= ($perms & 0x00000001) ? '+ 'x' : '-'; //User : 실행
return $ans;
}
단 fileperms함수로 퍼미션정보를 얻기때문에,
심볼릭링크는 판별하지 못합니다. (심심하신분은 링크판별함수 추가해서 기능을 추가하시는것도..)
댓글 4
제목 | 글쓴이 | 날짜 |
---|---|---|
나만의 미니홈 만들기 ㅡ 메인 기초 설계 .home.php
[12]
![]() | 예뜨락 | 2004.11.17 |
나만의 미니홈 만들기 ㅡ 메인 기초 설계2 .레이아웃 | 예뜨락 | 2004.11.18 |
나만의 미니홈 만들기 ㅡ 메인 기초 설계3 .레이아웃
[2]
![]() | 예뜨락 | 2004.11.19 |
나만의 미니홈 만들기 ㅡ 기초적인 관리 페이지
[3]
![]() | 예뜨락 | 2004.11.20 |
나만의 미니홈 만들기 ㅡ 미니홈 생성 페이지
[3]
![]() | 예뜨락 | 2004.11.20 |
나만의 미니홈 만들기 ㅡ 게시판의 디자인
![]() | 예뜨락 | 2004.11.22 |
나만의 미니홈 만들기 ㅡ 게시판 list.php 파일의 모양새 [6] | 예뜨락 | 2004.11.23 |
나만의 미니홈 만들기 ㅡ list.php , 디비 테이블 생성
[6]
![]() | 예뜨락 | 2004.11.26 |
나만의 미니홈 만들기 ㅡ view.php 파일과 제목링크
[9]
![]() | 예뜨락 | 2004.11.27 |
나만의 미니홈 만들기 ㅡ write.php 파일과 write_ok [5] | 예뜨락 | 2004.11.30 |
실명 진위여부 확인 [10] | piasol | 2004.12.01 |
개판 오분전 라인 그래프 [4] | 미친개 | 2004.12.01 |
'참조'에 관한 간단한 예제 | 플로렐라 | 2004.12.09 |
4. 쿼리문 [6] | 티다 | 2004.12.11 |
나만의 미니홈 만들기 ㅡ메뉴에 게시판 연결
[5]
![]() | 예뜨락 | 2004.12.17 |
IE 에서도 투명 알파값이 적용된 PNG 이미지를 맘껏 활용하자!
[8]
![]() | THE PAPER™ | 2004.12.27 |
"를 그냥 사용하기 [3] | 추천대화상대 | 2005.01.02 |
나만의 미니홈 만들기 ㅡ delete.php 파일 [2] | 예뜨락 | 2005.01.03 |
퍼미션을 보기좋게 구하자! [4] | 플로렐라 | 2005.01.03 |
PHP 왕초보 입문기(총괄)
[4]
![]() | 하나둘 | 2005.01.15 |