/var/www 및 Crontab 사용자에 대해 혼란스러운 User:Group을 처리하는 가장 좋은 방법은 무엇입니까?

/var/www 및 Crontab 사용자에 대해 혼란스러운 User:Group을 처리하는 가장 좋은 방법은 무엇입니까?

저는 Linux 서버를 처음 사용합니다.

이것에 대해 나를 당황하게 만드는 두 가지 질문이 있습니다.

1 1. user:group 이제 /var/www/html을 이렇게 표시합니다.

nginx.conf것이 설정되었습니다server{ user www-data }

터미널에서 내가 설정한

chown -R root:www-data /var/www/html find /var/www/html -type d -exec chmod 775 {} + find /var/www/html -type f -exec chmod 664 {} + find /var/www/html/uploads/images -type d -exec chmod 775 {} +

내가 옳은 일을 하고 있는 걸까? 아니면 www-data:www-data로 설정해야 합니까?

2 2. crontab에 관해서는 많은 TUT가 있지만 누가 crontab을 운영하는지 명확하지 않습니다. 문제는

adam사용자로 로그인했는데 내 서버가 해당 사용자에게 속해 있으면 어떻게 되나요 root:www-data? 아니면 사용자 www-data:www-data대신 해당 사용자에게 crontab을 어떻게 제공합니까 ? adam백업 등의 파일을 쓰려면 퍼머넌트가 필요하기 때문이다.

답변1

1) 일반적으로 의 파일은 및 /var/www에 속해야 하며 , 자체 및 모든 하위 디렉터리는 에 속해야 합니다 .root:www-datachmod 644/var/wwwchmod 755

그들은해야아니요www-data다음을 제외하고 는 사용자가 쓸 수 있습니다 .꼭 필요한(실행 파일의 경우 3배입니다.) www-data웹 서버 자체 또는 웹 서버가 실행하는 스크립트를 손상시키려는 공격자가 쓰기 가능한 파일을 수정할 수 있기 때문입니다( suexec일반적으로 웹 서버 대신 스크립트 소유자의 권한을 사용하지 않는 한). 그다지 좋아지지 않고 더 나빠질 수도 있습니다). 아무 것도 쓸 수 없다면 www-data접근 권한을 얻은 공격자가 입는 피해는 www-data크게 줄어듭니다.

2) cron작업은 작업을 호출한 사용자에 의해 실행됩니다 crontab. 루트의 crontab에 있으면 루트로 실행됩니다. Adam의 crontab에 있으면 adam으로 실행됩니다.

/etc( 등) 아래의 시스템 전체 crontab 은 예외입니다 /etc/crontab. /etc/cron.d/*이러한 crontab의 작업 사양 형식에는 작업을 실행하는 사용자를 지정하는 추가 필드가 포함되어 있습니다.

답변2

(1) chmodchown다른 명령입니다. 첫 번째는 권한을 설정하고 두 번째는 소유권을 설정합니다. 당신은 또한 실행하고 싶을 수도 있습니다

`find /var/www/html -exec chown www-data:www-data {} +`

이미 실행한 명령 외에도 선택할 수 있습니다.

(2) 사용자가 크론 작업을 실행할 수 있도록 편집 /etc/cron.allow하고 추가 할 수 있습니다. 필요한 경우 또는 이에 대한 추가 정보를 제공해야 합니다 .www-datawww-dataman cronman crontab

관련 정보