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


37

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명령으로 파일을 복사 할 권한을 어떻게 할당 할 수 있습니까?

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


디렉토리는 어떻게 만들었습니까? 왜 그런가요 /home/sixven? 홈 디렉토리에없는 이유는 무엇입니까?
terdon

2
당신이-붙여 복사 한 내용에서, 당신은 사용자로 터치를 실행 francisco-vergara하지만 디렉토리에 /home/sixven정말 사용자의 홈이 인 francisco-vergera또는이에 속하지 않는 sixven사용자? 정확히하고 싶은 것을 명확히해야합니다. 다른 사용자의 집에 쓰시겠습니까? 그룹간에 해당 디렉토리를 공유 하시겠습니까?
Leiaz

답변:


54

우선 우분투에서 디렉토리의 기본 권한이 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사용하는 것이 가장 쉽고 효율적 입니다.


10
이것을 말하기 위해 부활 : 당신은 거의 아무것도 'chmod -R 777'해서는 안됩니다. 소유권을 올바르게 설정하는 것이 훨씬 안전한 방법입니다. digitalocean.com/community/tutorials/… askubuntu.com/questions/20105/…
Douglas Adams

12

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

chown -R user:user /home/sixven

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

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

chmod -R g+rw /home/sixven

그렇지 않으면:

chmod -R o+rw /home/sixven

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


매력처럼 작동
Faris Rayhan

1

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

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


조금 서두르지 않습니까? 우리는 여전히 OP의 상황을 모른다.
guntbert
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.