2014-12-29 3 views
0

perl에서 할당량을 적용하려면 메일 크기를 결정해야합니다. 명령 줄에서 du -bs /var/spool/mail/smith을 수행 할 때 올바른 번호를 얻습니다. 그러나 perl (아래)에서 시스템 명령을 수행 할 때마다 항상 4096이됩니다. Selinux는 하나의 요소가 아닙니다. 로그에 오류가 없습니다.perl 디렉토리 크기가 올바른 크기를보고하지 않습니다.

if ($mailboxSize = `du -bs /var/spool/mail/smith`) { 

perl에서 디렉토리 크기를 가져 오는 것과 동일한 명령이 있다고 생각하지 않으므로 어떻게해야합니까? 미리 감사드립니다.

+0

같은 사용자로 실행되는 펄 스크립트입니까? 환경 (특히 PATH)이 동일합니까? – ysth

+0

아니오 ... 그게 문제 일 수 있다고 생각했습니다. 하지만 모든 사용자를 확인할 수 있어야합니다. –

+2

* as * 동일한 사용자 *가 아닌 * 동일한 사용자 – ysth

답변

0

은/var/spool/mail/smith 파일 또는 디렉토리입니까? 디렉토리가 있다면, 그 디렉토리와 모든 서브 디렉토리는 duang 사용자가 작업 할 수 있도록 (비록 그 안에있는 파일은 읽을 필요가 없지만) 읽을 수 있고 트래버스 할 수 있어야합니다 (x 권한). - ysth

관련 문제