고객 서비스에서 FTP를 통해 파일을 업로드하면 기본적으로 모든 파일에 ROOT 사용자 권한이 부여되므로 PHP 파일을 읽고 쓰고 생성할 수 없습니다.
chown www:www로만 각 파일을 설정할 수 있습니다.
PHP로 동작시킬 수 있는 방법이 있나요?
고객 서비스에서 FTP를 통해 파일을 업로드하면 기본적으로 모든 파일에 ROOT 사용자 권한이 부여되므로 PHP 파일을 읽고 쓰고 생성할 수 없습니다.
chown www:www로만 각 파일을 설정할 수 있습니다.
PHP로 동작시킬 수 있는 방법이 있나요?
당신은 다음과 같이 말했습니다: 그들의 서버에서는 이 SFTP를 사용하여 파일을 직접 전송하는 것을 좋아하는데 이로 인해 프로그램이 디렉토리를 생성하거나 파일을 다시 쓸 수 없게 됩니다. 이것은 불가피합니다. usermod -aG www [username]을 사용하여 sftp에 로그인한 사용자를 www 그룹 에 추가하고 www 사용자를 파일을 전송하려는 사용자 그룹에 추가하면 됩니다. www와 파일을 업로드하는 사용자는 같은 그룹이므로 파일에 664 권한을 주어야 합니다. (제가 사용한 방법입니다. 로컬에서 syncthing과 Atom Editor(users 그룹에 속함)를 사용하여 웹 서버(nginx 그룹)와 파일을 동기화합니다. 하지만 웹 서버는 사용자에게 권한을 부여합니다.)
chown -R www:www /path/
일반적으로 폴더 권한은 755, 파일 권한은 644를 부여하고 있습니다. 다음 명령으로 수행할 수 있습니다(특정 폴더는 직접 변경할 수 있습니다): chown -R nginx.nginx /usr/share/nginx/html/ && find /usr/share/nginx/html/ -type d -exec chmod 755 {} ; && find /usr/share/nginx/html/ -type f -exec chmod 644 {} ;
bashrc에 썼는데 다음에 다시 입력할 수 없습니다: alias webroot='chown -R nginx.nginx /usr/share/nginx/html/ && find /usr/share/nginx/html/ -type d -exec chmod 755 {} ; && find /usr/share/nginx/html/ -type f -exec chmod 644 {} ;'
<code>-----</code>다른 서버는 sftp를 사용하여 파일을 전송합니다. 사용자는 사용자 그룹의 aaa에 속해 있습니다. 파일을 전송하기 전에 ssh를 열고 모든 파일 권한을 사용자에게 속한 aaa로 변경합니다. bashrc., 전송 후 다시 가져오려면 위의 작업을 수행하는 것이 더 좋습니다. 결국 stfp를 사용해야 하며 루트를 그냥 제공하는 것은 안전하지 않습니다.)
편리하다면 -R 777 폴더를 선택하세요
ftp 사용자는 권한을 설정할 수 없나요?
루트를 사용하여 로그인하지 말고 win에서 다운로드하면 됩니다. 일반적으로 xftp와 같은 ftp 도구를 사용하여 변경할 수 있습니다. 전달된 폴더 및 파일의 권한을 수정하고 이후에도 동일한 권한을 유지할 수 있습니다. 들어오는 파일
이 함수 boolchown()을 사용할 수 있지만 안전하지 않습니다. 서버에서 직접 변경하는 것이 가장 좋습니다. 또한 실행하려면 ftp 계정이 사용자와 일치하는 것이 가장 좋습니다. PHP 프로세스
셸에서 chown 명령을 사용하면 이전에 램프를 구성할 때 이 문제가 발생했습니다.