'root'가 소유한 파일을 복사하는 동안 'cp' 권한이 거부되었습니다.

'root'가 소유한 파일을 복사하는 동안 'cp' 권한이 거부되었습니다.

폴더가 있어요udp_folder2

d------r-T 41 root           root     4096 Apr 26 21:17 udp_folder2

새 폴더에 넣을 root수 없는 사용자 이외의 사용자와 작업할 때 다음과 같은 메시지가 나타납니다. 권한이 거부되었습니다.cp -r

왜? 그리고 사용방법root

답변1

훌륭한,

현재 권한이 설정된 방식으로는 누구도 파일을 이동할 수 없기 때문입니다. (루트는 제외합니다. 루트는 동일한 규칙을 따르지 않기 때문입니다.)

파일의 소유자(chown)를 변경하거나 "루트" 그룹에 다른 사용자를 추가하고 그룹이 해당 디렉터리에서 실행될 수 있도록 chmod를 추가하거나 다른 사용자가 파일을 실행할 수 있도록 허용해야 합니다.

따라서 빠른 수정은 다음과 같습니다.

chmod -R o+rwx udp_folder2

이렇게 하면 모든 사람이 해당 디렉터리에서 읽고, 쓰고, 실행할 수 있습니다.

또한..."udp_folder2"를 현재 있는 디렉터리에 복사하려고 하면 해당 디렉터리에 대한 "w" 권한도 필요합니다. 예를 들어:

/foo/udp_folder2 - 이 디렉토리를 /foo에 복사하려면 /foo에 "w"가 필요합니다.

Linux 파일 권한을 배우는 것이 좋습니다. Linux 파일 권한 튜토리얼

답변2

디렉터리에는 x권한이 없으므로 다른 사람(예: 이 경우 모든 사용자)이 디렉터리를 사용하여 그 안에 있는 파일에 액세스할 수 있습니다. 이는 T해당 파일이 고정되어 있음을 의미합니다(파일 소유자만 삭제할 수 있음). 권한 및 고정 비트가 있는 경우 x소문자 t, 대문자는 T"액세스는 없지만 고정 비트는 이상한 조합입니다"를 의미합니다.

Unix 파일/디렉터리 권한을 읽습니다. 어렵지 않아요, 그리고 당신은~ 할 것이다필요해.

답변3

rwx보안 위험이 발생할 수 있으므로 디렉터리에 있는 모든 사람에게 정보를 제공하고 싶지 않습니다 . 그리고 -Rchmod를 사용하면 변경 사항이 재귀적으로 기록되므로 원하지 않습니다 .

그냥 chmod 755 "filename", 괜찮아요.

숫자를 분석하면 다음과 같습니다.

  • 읽기=4
  • 쓰기 = 2
  • 실행=1

그런 다음 3개의 그룹이 있습니다.

  • 소유자.
  • 그룹에 속한 사람들입니다.
  • 다른 사람들.

rwx따라서 소유자 , 그룹에 속한 사람 rw및 기타 모든 사람 에게 권한을 부여하려면 다음과 rw같이 권한을 추가하면 됩니다. ++는 4+2+1이므로 =6이므로 +=4+2입니다.rwxrwxrwrw

답변4

소유자가 접근할 수 없는 폴더를 복사하려면 권한을 변경해야 합니다.

폴더가 소유자에게도 제한되어 있는 경우에는 여기에는 어떤 이유가 있으며 다른 사람에게 권한을 부여하는 것( o)은 좋은 해결책이 아닙니다(첫 번째 답변에서 볼 수 있음).

소유자가 폴더에 접근하려면 읽기( r) 및 실행/검색 비트( X)를 설정해야 합니다. 폴더 내에 폴더가 있는 경우 각 폴더는 동일한 규칙을 따라야 합니다. 파일의 경우 비트( r)만 읽는 것만으로도 충분합니다.

따라서 기본적으로 폴더에 대한 읽기 권한을 재귀적으로 부여하려면 다음을 실행해야 합니다.

chmod -vR u+rX folder/

위 명령을 사용자로 실행하는 경우 접두사를 추가하고 sudo(수퍼유저 권한이 있는 경우) 그렇지 않으면 루트로 실행합니다.

폴더의 일부 파일이 루트에 속하지 않는 경우 다음을 통해 재귀적으로 변경합니다.

sudo chown -vR root folder/

그런 다음 평소처럼 복사하거나 rsync다음과 같이 사용하십시오.

rsync -vuar src/ dst/

위 명령에 대한 자세한 설명을 보려면 다음을 확인하세요. man chmodman chown.

관련 정보