2016-11-28 2 views
0

디렉토리에 파일이 있습니다. 일부는 소유자와 그룹으로 루트를 가지고 있고 일부 사용자 (나)는 소유자와 그룹으로 있습니다 (그러나 그럴 수 있습니다). sudo chmod 755 -R /usr/casloader을 실행했는데 모든 디렉토리가 /usr/casloader에 있습니다. 모든 파일은 -rwxr-xr-x입니다.파일 사용 권한 문제 javac

Java 클래스 (사용자로서)를 컴파일하려고합니다. 소유자/그룹이 root 인 파일에서 javac을 실행하면 잘 컴파일 할 수 있습니다. 컴파일 된 클래스의 소유자/그룹이됩니다. (컴파일 된 클래스를 같은 폴더에 씁니다).

그러나 소유자 그룹이 나인 클래스를 컴파일하려고하면 file write error: Permission Denied이됩니다.

어떻게 해결할 수 있습니까? 모든 것이 뿌리가되어야합니까?

+0

귀하가 그룹 소유자이기 때문에가 아닙니다. 클래스 파일이 이미 root로 소유자로 존재하기 때문일 수 있습니다. 그러나 당신은 결정하기에 충분한 정보를 제공하지 않습니다. 어쨌든 루트로'chown'을 사용하여 모든 * .java 파일을 만들고, 모든 * .class 파일을 삭제 한 다음 다시 시도하십시오. –

+0

메시지에 쓰기 문제라는 메시지가 명확하게 표시되므로 읽는 파일의 소유권이 부적절합니다. 분명히 대상 디렉토리에 대한 쓰기 권한이 있으므로 소유자와 상관없이 기존 클래스 파일을 모두 제거한 다음 다시 컴파일 할 수 있습니다. – Holger

+0

@Erwin @Holger 작성하려고하는 클래스 파일이 존재하지 않으므로 현재 덮어 쓰기 상황이 없습니다 (나중에 재 컴파일 할 때 발생할 수 있습니다). .java 파일을 루트로'chown'하고 컴파일 할 수있었습니다 (그룹은 여전히 ​​나입니다). 재 컴파일을 시도 할 때 .class 파일이 삭제되었습니다. 지금 재 컴파일하려고 시도하지만, 이제는 이전과 동일한 쓰기 권한 오류가 발생합니다. 파일의 소유자는 루트 그룹 me입니다. –

답변

0

방금 ​​g + w, o + w에 -R을 사용했습니다. 그래서 나는 rwxrwxrwx를 가지고있다 - 그래서 문제는 해결된다. (이것이 가장 최적의 솔루션인지 확실하지 않습니다.)