>

그래서 시스템에서 권한을 가지고 약간의 게임을했는데 파일을 다른 곳으로 보내도록 지정된 권한이없는 것을 알았습니다.

단순 사용자로서 다음 명령을 시도했습니다. mail -a //etc/shadow myAddress@domain.com 나는 Permission Denied 를 얻을 만족했다  메시지를 보내지 만 파일을 전송하기 위해 필요한 권한이 무엇인지 아직 확실하지 않습니다.

나는 mail 를 사용한다  메일 프로토콜에 대한 명령이지만 다른 명령이나 다른 프로토콜은 어떻습니까?


btw, shadow 에 대한 권한  파일은 :

-rw-r-----   1 root  shadow    1759 Oct 23  2017 shadow

  • 답변 # 1

    파일을 "보내는"것은 실제로 파일 시스템 수준의 작업이 아니기 때문에 존재하지 않습니다. 무슨 mail  명령은 읽기 위해 파일을 열고, 데이터를 읽고, 네트워크 소켓을 통해 파일을 보내거나 (쓰기)하는 것입니다 (이메일의 경우에는 중요하지만 중요하지는 않습니다). 마찬가지로 FTP 클라이언트 인 scp 또는 다른 방법으로도 평상시처럼 파일을 읽습니다.

    /etc/shadow 에 대한 읽기 권한이 없습니다 그래서 mail  사용자 ID로 실행하면 읽을 수 없습니다.

    Linux에는 sendfile() 가 있습니다  두 파일 설명자간에 데이터를 직접 복사하는 시스템 호출이지만 기본적으로 read() 를 호출하는 것과 같습니다.  하나와 write() 에  다른 fd에서는 커널 내에서 발생하므로 시스템 호출 오버 헤드가 적습니다. 또한 읽기 위해 소스를 열어야합니다.

관련 자료

  • 이전 logs - Splunk Forwarder-> 특정 이벤트 모니터링/캡쳐?
  • 다음 bash - ls 명령을 사용하여 특정 문자열로 끝나는 파일을 제외한 모든 파일을 표시하는 방법