프로세스(user1)가 디렉터리(루트)에 로그를 쓸 수 있는 방법

프로세스(user1)가 디렉터리(루트)에 로그를 쓸 수 있는 방법

내 서버(ubuntu 16.04 x86_64)에서 proftpd를 사용하고 있습니다.

proftpd 사용자로 proftpd가 실행되는 것을 확인했습니다.

$ ps aux | grep [p]roftpd
proftpd  26334  0.0  0.1 112656   716 ?        Ss   04:39   0:00 proftpd: (accepting connections)

proftpd는 /var/log/proftpd. 하지만 이 디렉토리에 쓰기 위해서는 루트만 가능합니다.

$ ls -la /var/log | grep [p]roftpd
drwxr-xr-x  2 root                adm      4096 Jun  1 04:39 proftpd
ls -la /var/log/proftpd
total 76
drwxr-xr-x 2 root adm     4096 Jun  1 04:39 .
drwxrwxr-x 7 root syslog  4096 Jun  1 04:39 ..
-rw-r----- 1 root adm        0 May 15 15:53 controls.log
-rw-r----- 1 root adm     7611 Jun  1 09:54 proftpd.log
-rw-r----- 1 root adm    23207 May 29 04:39 proftpd.log.1
-rw-r----- 1 root adm     3649 May 21 04:39 proftpd.log.2.gz
-rw-r----- 1 root adm      521 Jun  1 09:42 xferlog
-rw-r--r-- 1 root adm    17656 May 31 22:55 xferlog.1
-rw-r--r-- 1 root root       0 Jun  1 04:39 xferreport
  1. proftpd는 어떻게 로그를 작성합니까?

  2. 올바른 방법인가요? proftpd 디렉토리의 소유자는 루트입니다. 아마도 proftpd여야 할까요?

  3. 파일(로그)에 다른 사람을 읽을 수 있는 권한이 없는 이유 안전하지 않은가요?

답변1

  1. Unix의 다른 많은 서비스와 마찬가지로 ProFTPd는 syslog로깅을 수행하는 데 사용됩니다. syslog슈퍼유저 권한으로 실행되는 프로세스입니다. 이는 ProFTPd 자체가 로그 디렉터리에 파일을 생성할 필요가 없음을 의미합니다.

  2. 예. 그래야만합니다.이것을 변경하지 마십시오

  3. 일반적으로 기록된 모든 사용자 활동은 수퍼유저만 액세스할 수 있어야 합니다. 이는 사용자의 개인정보를 보호하기 위한 것입니다. 이것은 내 개인적인 의견입니다.

ProFTPd를 사용한 로깅에 대한 자세한 내용은 다음을 참조하세요.http://www.proftpd.org/docs/howto/Logging.html

일반적으로 설치한 서비스는 명백히 오작동하지 않는 한 의도한 대로 작동한다고 가정합니다. 패키지 관리자에서 설치된 프로그램이라면 실행하는 Unix 버전에서 분명히 테스트를 거쳤으므로 버그를 발견하면 이에 대해 패키지 관리자에게 문의해야 합니다. 그러나 대부분의 경우 "버그"는 고도로 맞춤화된 시스템이나 극단적이거나 특이한 구성에서 실행하여 잘못된 결과를 얻은 결과입니다. 기본 설치는 잘못된 경우가 거의 없으며, 수행 중인 작업이 무엇인지 확실히 알고 난 후에만 "조정"해야 합니다.

이것은 간다특히파일 및 디렉토리에 대한 권한 또는 소유권을 변경합니다.

관련 정보