mv를 사용할 때 디렉토리 권한이 올바른데도 권한이 거부되는 이유는 무엇입니까?

mv를 사용할 때 디렉토리 권한이 올바른데도 권한이 거부되는 이유는 무엇입니까?

디렉터리 소유자가 내 사용자로 설정되어 있고 사용자 권한이 7로 설정되어 있는데 폴더를 이동하려고 하면 권한이 거부되었습니다. 어떻게 되어 Musicmv나요?

(Sudo를 사용할 수 있다는 것을 알고 있지만 문제가 무엇인지 알고 싶습니다. 여기서 뭔가 수상한 냄새가 납니다.) 추신: 저는 Mac OS X El Capitan을 사용하고 있습니다.

터미널 스크린샷

답변1

저는 Linux용 Windows 하위 시스템을 사용하고 있습니다. 다른 bash 인스턴스에서 디렉토리를 열었습니다. 닫으면 디렉토리를 이동할 수 있습니다.

답변2

폴더 권한 은 폴더 내에서 a이동할 b때 수행할 수 있는 작업을 결정합니다 .ca

이 경우 권한이 .가장 중요합니다.

권한은 단순 권한보다 더 복잡합니다 rwx. 폴더 끝에 하나가 있고 music이 폴더 끝에 하나가 있습니다.@.+

  • xattr -h@ 기호를 결정하기 위한 복잡한 권한입니다.
  • getfacl+ 기호를 결정하는 데 사용되는 ACL입니다.

답변3

해당 디렉토리 어딘가에 올바른 권한이 없는 파일이 하나 이상 있는 것 같습니다.

그래서 제가 한 일은 다음과 같습니다.

sudo chown -R valmar ./Music
sudo chmod -R 755 ./Music

이제 괜찮아.

답변4

삭제하려는 디렉토리에서 일련의 프로그램이 실행 중일 때 이 문제가 발생했습니다. 디렉터리를 이동하려면 먼저 해당 디렉터리에서 실행 중인 모든 프로그램을 종료해야 합니다.

다음 명령에서 변경합니다.매우 조심스럽다프로그램 이름을 선택하는 방법에 대해. 참고로 다음 명령을 사용했습니다.

ps aux | grep -i [NAME_OF_ANNOYING_PROGRAM] | grep -v grep
# make sure that you are only about to kill the programs you want to kill

ps aux | grep -i [NAME_OF_ANNOYING_PROGRAM] | grep -v grep | awk '{print $2}' | sudo xargs kill -9
sudo mv /usr/local/[DIR_FOR_ANNOYING_PROGRAM] /usr/local/[DIR_FOR_ANNOYING_PROGRAM]2

일반적인 절차는 다음과 같습니다.

  1. 해당 디렉토리에서 실행 중인 모든 프로그램을 종료합니다.
  2. 디렉토리 이름을 바꿔보세요
  3. 실패하면 강제 종료( kill -9많습니다)경고하다) 디렉토리의 모든 프로그램
  4. 디렉토리 이름을 바꿔보세요
  5. 실패하면 프로그램이 다시 실행되고 있는지 확인하십시오. 즉, 다른 디렉토리에서 실행되는 일부 데몬에 의해 다시 시작되었는지 확인하십시오.
  6. 성가신 프로그램을 다시 시작하는 강제 종료 데몬
  7. 귀찮은 프로그램 강제 종료
  8. 디렉터리 이름 바꾸기
  9. 이익

관련 정보