웹 개발에 Sublime Text를 사용하고 있습니다. 변경 사항을 저장하려고 할 때마다 (Ctrl + S) 인증 창이 나타납니다.
수퍼 유저로서 ‘/ bin / cp’를 실행하려면 인증이 필요합니다
분명히 암호를 입력하면 Sublime이 변경 사항을 올바르게 저장합니다. 그러나 Cancel을 누르면 오류와 함께 다른 창이 나타납니다.
오류 : administrator_copy_file (/tmp/.Some_File_Here, / var / www / Rest_Of_Path_Here) 실패 : 인증 실패
우분투를 처음 접했을 때 인증 팝업을 제거하는 방법을 모르겠습니다. / var / www 폴더에 대한 모든 권한이 있습니다.
답변
에 쓸 수있는 권한이 없습니다 /var/www/Rest_Of_Path_Here
. ST3는 올바른 사용자 (따라서 sudo 프롬프트)로 쓰기 위해 UID를 높이려고합니다. 나는 이것이 가능하다는 것을 알지 못했지만 그것을 테스트했으며 거기에서 작동합니다.
이 문제를 해결할 수있는 몇 가지 방법이 있습니다.
-
사용자가 파일을 직접 쓰도록 허용하십시오 . 여기에 많은 옵션이 있습니다 :
chown
파일을 소유하고 있습니다. 이것은 www-user로 실행되는 웹 서버와 같이 작성해야 할 수도있는 다른 사용자로 실행되는 것들을 화나게 할 수 있습니다. 그들이 실행하는 것을 변경해야 할 수도 있습니다.www-data
그룹에 사용자를 추가 하고 파일 마스크를 변경774
하여 그룹 구성원이 쓰기 / 실행할 수 있도록합니다.- 다른 사용자가 작성할 수 있도록 파일 마스크를 변경하십시오 (예 : 777). 그러나 서버에 이미 악의적 인 것이 있으면 매우 위험합니다.
- 사용 ACL은 표준 권한 프레임 워크를 방해하지 않고 쓰기에 사용자를 허용합니다.
-
사용자로 버전 제어 시스템 (예 : git)에 쓰도록 워크 플로우를 변경 한 다음 다른 사용자가 체크 아웃 할 때 스크립트를 실행하십시오. 이것은 다른 이점을 제공합니다.
-
ST3을 작성할 수있는 사용자로 ST3을 실행하십시오.
sudo -u www-data subl /var/www/Rest_Of_Path_Here
이것은 파일을 수정하는 것보다 훨씬 더 추악합니다.
답변
나는 동일한 문제가 있었고 Sublime text 3에서 편집 해야하는 특정 폴더에 대한 사용자 권한을 제공하여 해결할 수있었습니다. 다음 명령을 사용했습니다.
sudo chmod 775 -R projectname/
sudo chown username -R projectname/
앞으로 다른 사람들에게 도움이 될 것 같습니다.
답변
사용중인 Ubuntu 버전에 따라 아래 중 하나를 사용하여 사용자를 관리자 그룹에 추가하십시오. 둘 다 시도하십시오 :
sudo usermod -a -G admin username
또는
sudo usermod -a -G sudo username
이미 관리자 그룹에 있다면 chown
폴더에서를 시도하십시오 .
답변
숭고한 텍스트로 아파치 서버의 파일을 편집하려고 할 때도 같은 문제가 발생하며 웹 서버의 권한을 엉망으로 만들고 싶지 않습니다. g + w 파일을 변경하고 사용자를 www-data 그룹에 배치하는 것은 그리 안전하지 않습니다.
내가 조언하는 것은 숭고한 텍스트에 SFTP 플러그인을 사용하는 것입니다.
- 웹 서버의 파일을 자신의 사용자에게 속한 폴더에 복제
- 다음을 사용하여 SFTP 플러그인을 구성하십시오.
"upload_on_save": true, "host": "localhost", "user": "www-data",
구성에 암호를 제공하지 마십시오.이 역시 중요한 보안 허점입니다.
숭고한 텍스트는 암호를 한 번 요청한 다음 세션에 대해 기억합니다. 각 파일을 저장할 때마다 localhost에 대한 sftp 세션을 열고 적절한 사용자와 함께 파일을 디스크에 씁니다.
답변
Linux / Unix 터미널에서 다음을 수행하십시오.
sudo chmod -R 777 project-name
sudo chown user-name project-name
모든 프로젝트에 대한 쓰기 권한을 부여했지만 시도 했지만 -R 775
작동 -R 777
하지 않았습니다.