로그를 보기 위해 매우 효율적인 로그인을 제공하려면 어떻게 해야 합니까?

로그를 보기 위해 매우 효율적인 로그인을 제공하려면 어떻게 해야 합니까?

내 RHEL 5 시스템의 폴더에 다양한 로그 파일이 있습니다.

/var/log/syslog-ng/A/
/var/log/syslog-ng/B/
/var/log/syslog-ng/C/

B특정 사용자에게 폴더 및 하위 디렉터리 내의 모든 파일을 보거나 추적할 수 있는(수정/삭제할 수는 없음) 권한을 부여하고 싶지만 폴더 나 폴더 자체 C의 내용은 부여할 수 없기를 원합니다.A/var/log/syslog-ng

tail내가 상상할 수 있는 것은 유일한 명령이 , cd및 이고, grep및 폴더로만 이동할 수 있는 간단한 쉘입니다 .vicdBC

이 정보를 사용하는 사람들 간에 사용자/비밀번호를 공유하는 것은 괜찮습니다.

이를 달성하기 위해 어떻게 제안하시나요? 가능합니까?

(우리는 현재 Apache HTTPD에서 제공하는 bash 스크립트를 통해 이 작업을 수행합니다. 이 스크립트는 탐색된 경로가 B 또는 C 폴더 위로 지나갈 경우 Apache 구성에 대한 비밀번호를 요구합니다. 스크립트는 아무리 말해도 투박하고 해킹적이며 생성하는 것 외에는 아무것도 하지 않습니다. HTML 페이지의 메타 새로 고침 외에도 모든 종류의 실시간 업데이트를 제공합니다. ssh 및 tail을 사용하면 더 나은 사용자 경험을 제공하고 오류 발생 가능성이 줄어듭니다.

답변1

이것세게 때리다쉘 입력 a 제한 모드(호출될 때 rbash) 사용자가 ;change를 사용하거나 PATH 현재 디렉토리를 변경하는 것을 방지합니다. cd이를 UNIX 그룹에서 제공하는 액세스 제어 제한과 결합하여 사용자가 디렉토리의 파일만 볼 수 있도록 제한할 수 있습니다.

나는 이것을 다음과 같이 구현할 것이다:

  • 그룹 만들기 AB- 각 그룹을 읽을 수 있습니다(그러나 읽을 수는 없음).쓰다) 해당 디렉터리와 그 안에 있는 로그 파일:

    $ ls -lF /var/log/syslog-ng
    drwxr-x--- root A  ...  A/
    drwxr-x--- root B  ...  B/
    [...]
    
    $ ls -l /var/log/syslog-ng/A/
    -rwxr----- root A  ...  logfile.log
    -rwxr----- root A  ...  logfile.log.1
    [...]
    
  • /etc/group사용자를 수정하고 사용자가 읽으려는 로그를 기반으로 다음 그룹에 추가합니다.

    $ tail /etc/group
    [...]
    A: foo
    B: bar
    
  • 로그 뷰어에 액세스할 수 있는 명령을 호스팅할 디렉터리를 만듭니다. /usr/local/restricted/bin관련 명령을 해당 디렉터리에 복사하거나 하드링크합니다.

  • 제한된 사용자에 대해 올바른 설정이 지정 되도록 수정하십시오 /etc/profile. 제한된 경로에는 (또는 "안전한" 제한된 명령을 호스팅하는 다른 디렉토리)만 포함되어야 합니다.PATH/usr/local/restricted/bin

  • /etc/passwd사용자에게 로그인 쉘 rbash및 관련 /var/log/syslog-ng/XXX디렉토리가 홈으로 제공되는지 수정 하고 확인하십시오. 이제 로그인할 수 있지만 홈 디렉터리로 제한되며 제한된 경로에서만 명령을 사용할 수 있습니다.

노트:사용자가 다음을 수행할 수 있도록 명령에 대한 액세스를 제공하면 제한 모드 셸을 쉽게 우회할 수 있습니다. 구현하다PERL 또는 거의 모든 편집기와 같은 모든 명령.

답변2

NFS 또는 Samba와 같은 네트워크 프로토콜을 통해 내보낼 수 있습니다 /var/log/syslog-ng/B./var/log/syslog-ng/C

scp 전용 쉘을 사용하여 사용자를 생성할 수 있습니다.스폴리또는RSSH. 이 사용자의 홈 디렉토리를 /home/log-viewers-BC.Use 로 설정하십시오.파일 시스템 바인딩/var/log/syslog-ng/Bas의 뷰와 /home/log-viewers-BC/Bas의 뷰를 만듭니다 ./var/log/syslog-ng/C/home/log-viewers-BC/C

그러나 한 가지 .htaccess접근 방식도 좋은 선택이므로 실시간 업데이트를 위한 더 나은 cgi 스크립트 세트를 살펴보세요.

관련 정보