[unix] 폴더에 파일 만들기 : 권한 거부

Ubuntu 12.04의 디렉토리로 파일을 복사하는 데 문제가 있습니다. 복사하려는 경로가 다음과 같이 홈 디렉토리에 디렉토리를 작성합니다.

/home/sixven/camp_sms/inputs

그러나 ini가 터미널에서 다음 명령을 실행하여 다음과 같이 샘플 파일을 작성하십시오.

francisco-vergara@Francisco-Vergara:/home/sixven/camp_sms/inputs$ touch test_file.txt
touch: can not make `touch' on «test_file.txt»: permission denied

해당 디렉토리에 파일을 직접 복사 할 수 없습니다. chown& chmod명령으로 파일을 복사 할 권한을 어떻게 할당 할 수 있습니까?

어떤 사용자 및 그룹을 사용해야하는지 모르겠습니다.



답변

우선 우분투에서 디렉토리의 기본 권한이 644라는 것을 알아야합니다. 이는 소유자가 아닌 디렉토리에서 파일을 만들 수 없음을 의미합니다.

user:francisco-vergara에서 /home/sixven/camp_sms/inputs소유 한 디렉토리에 파일을 만들 려고 합니다 user:sixven.

그래서 이것을 해결하는 방법 :

  1. 디렉토리의 권한을 변경하고 다른 사람이 내부에 파일을 작성할 수 있도록 할 수 있습니다.

    sudo chmod -R 777 /home/sixven/camp_sms/inputs
    

    이 명령은 디렉토리의 권한을 재귀 적으로 변경하고 다른 모든 사용자가 내부의 파일 및 디렉토리를 작성 / 수정 및 삭제할 수있게합니다.

  2. 이 디렉토리의 소유자를 변경하고 소유자 user:francisco-vergara로 만들 수 있습니다

    sudo chown -R francisco-vergara:francisco-vergara /home/sixven/camp_sms/inputs
    

    그러나 user:sixven이와 같이이 폴더에 다시 쓸 수 없으므로 원형 무한 루프로 이동할 수 있습니다.

옵션 1을 사용하는 것이 좋습니다.

또는 두 사용자가이 디렉토리에 액세스하는 경우 다음 트릭을 수행 할 수 있습니다.

디렉토리의 소유권을 변경 user:francisco-vergara하고 그룹 소유자를 유지하십시오 group:sixven.

sudo chown -R francisco-vergara /home/sixven/camp_sms/inputs

마찬가지로 두 사용자 모두 여전히 디렉토리를 사용할 수 있습니다.

그러나 이전에 말했듯이 옵션 1사용하는 것이 가장 쉽고 효율적 입니다.


답변

파일 소유권을 변경하려면 루트 권한으로 다음을 수행하십시오.

chown -R user:user /home/sixven

chmod 방식으로 가기로 결정한 경우 :

사용자가 파일 그룹의 일부라는 것을 알고 있다면

chmod -R g+rw /home/sixven

그렇지 않으면:

chmod -R o+rw /home/sixven

그러나이 방법은 너무 안전하지 않습니다.


답변

기본 UMASK 022 (Ubuntu에서)이므로 / home / username에 대한 권한은 755가됩니다. 사용자로 로그인하여 francisco-vergarasixyen Home : /home/sixven. 사용자에서 파일을 작성하려고했습니다 . 다른 사용자에게 쓰기 권한이 없습니다. 사용자 / 그룹의 사용자 만이 쓰기 권한을 sixven갖습니다.

해당 디렉토리에서 쓰기 액세스를 원하면 OR을 sixven사용하여 Group의 일부 여야합니다 (잘 사용하지 마십시오).usermod -G sixyen francisco-vergarachmod -R 777 /home/sixven


답변