날짜: 1996-04-21 | 글쓴이: 도아 | 6257 번 | 프린트 | 메일로보내기

펄 - 제 20강 파일검사 연산자


이제껏 우리는 쉘이 가지고 있는 많은 강력한 특징들을 보지못했다. 펄이 쉘에서 빌려온 한가지 특징은 간단한 파일 검사 연산자이다. 일반적으로 검사 연산은 조건식의 일부로서 사용된다. 각각의 연산자는 시험할 파일과 같은 스칼라 값을 취한다. 이들은 연산자이지 함수가 아니므로 괄호는 필요없다는 것을 주의하기 바란다.
	# setuid 비트가 On인지를 검사
	sub checkSUID { 
		return( -u $_[0] ); 
	} 
파일 검사 연산자
-r 읽기가능
-x 실행가능
-e 존재여부
-d 디렉토리여부
-t tty 여부
-T 테스트 파일여부
################################################################ 
# 보안검사
################################################################ 
# 이 프로그램을 사용하기 원하는 사용자는 반듯이 스크립트를 기동
# 하는 컴퓨터의 자신의 홈 디렉토리내에 ".allowmailform"이라는 
# 파일을 두어야 한다. "익명" 메일의 전송을 남용하는 폼을 만드
# 는 것을 원하지 않기때문이다.
$homedir = (getpwnam($recipient))[7]; 
if (! -e "$homedir/.allowmailform") { 
	# 이러한 사용자는 서버에서 메일을 자신에게 전송하는 것을
	# 허용하지 않는다
	&error("폼의 수신자가 이 폼을 통해 메일을 전송하는 것을 허용하지 않았습니다");
	exit(0); 
} 
getpwnam
를 통한 시스템과의 인터페이스를 주의하기 바란다. 패스워드 파일과 같은 것들(NIS나 유사한 것들을 통해서도 가능하다)을 접근할 수있는 기능이 내장되어 있다는 것때문에 펄은 시스템 관리자 사회에서 폭넓게 사용된다.
getpwnam
가 리턴하는 리스트를 명시적으로 참조한다는 것을 주의하기 바란다. getpwnam는 패스워드 파일내 사용자에대한 모든 정보를 리턴하며, 프로그램에서는 단지 8번째 요소만을 취한다.


다음글: 펄 - 제 21강 파일처리 (7825)1996-04-22
이전글: 펄 - 제 19강 서브루틴 (6459)1996-04-20

세상사는 이야기

  • 만원대 피젯 스피너를 >
  • 망하는 길을 택한 쿠팡 >
  • 물놀이에 적당한 가성 >
  • 컴퓨터를 IPTV로 2, po >
  • 컴퓨터를 IPTV로 만들 >
  • Warning.or.kr도 우회 >
  • 한국의 100대 부자, 어 >
  • 세상을 바꾼 크롬: 크 >
  • 장난(?)으로 시작한 여 >
  • 탈옥의 필수, QuickDo >


  • RSS 구독 (익명 | 회원 | 강좌 | 포럼)
    (C) 1996 ~ 2017 QAOS.com All rights reserved.