CVS 에서 디렉토리 생성후 올리면 다른사용자 퍼미션 오류가 납
안녕하세요..
며칠전에 질문 드렸었는데요..
역시 문제가 발생하여 다시 문의 드립니다..
현제 CVS 를 리눅서 머신에서 inetd 로 서버로 구동하고,
윈도우 클라이언터 TortoiseCVS 를 사용하여 사용 중입니다.
올리는 자료는 보통 vs의 프로젝트 cpp 파일이나 리소스 파일 입니다.
현제 각 사용자는 cvs 라는 그룹을 만들어 cvs 사용하는 사용자들을 cvs 그룹으로 모두 묶어 놓은 상태입니다...
다른 사용자가 디렉토리를 만들어서 파일을 올리고 또 다른 사용자가 다운을 받을려고 하면
아래와 같은 퍼미션 에러가 납니다..
cvs update: failed to create lock directory for `/cvs/project/aaaa' (/cvs/project/aaaa/#cvs.lock): Permission denied
cvs update: failed to obtain dir lock in repository `/cvs/project/aaaa'
cvs [update aborted]: read lock failed - giving up오류발생, CVS 명령실행이 실패했습니다.
CVS 루트 디렉토리는 /cvs 이구요.
chgrp cvs -R /cvs/프로젝트명 하여 그룹을 임의로 바꾸고 나면 문제없이 잘 받아 옵니다.. ㅡㅡ;
리눅서 머신에서 inetd 설정은..cvspserver stream tcp nowait root /usr/sbin/tcpd /usr/sbin/cvs-pserver -f --allow-root=/cvs pserver
위와 같이 되어 있습니다..
며칠전에 질문 드렸을때 답변주신것 중에 (http://bbs.kldp.org/viewtopic.php?p=144664)
아래와 같이 해보라고 하셨는데...
$ find /cvs -type d -exec chgrp cvs {} \;
$ find /cvs -type d -exec chmod 2770 {} \;
위의 두 명령어는 오류가 발생하구요..
$ chgrp cvs /cvs/CVSROOT/{history,val-tags}
$ chmod g+rw /cvs/CVSROOT/{history,val-tags}
위의 명령어로 바꿔도 소용 없습니다. ㅡㅡ;
어찌 해야할런지...
권한 설정문제입니다.
$ find /cvs -type d -exec chgrp cvs {} \;
$ find /cvs -type d -exec chmod 2770 {} \;
요것의 의미 파악을 제대로 하셔야할 것 같습니다
일단 /cvs는 현재 cvs root로 쓰기로 한 디렉토리로 바꿔주시고요
cvs 라는 그룹이 생성되어 있고 실제 cvs에 접근하는 계정들이 모두 등록되어있는지 확인하시고 2770 으로 모든 디렉토리를 바꿔주라는 얘기입니다.
2770에서 2의 의미는 해당 권한을 가진 디렉토리에서 새로운 디렉토리나 파일을 만들경우 같은 권한으로 생성하라는 의미를 가집니다.
커헉~!
감사합니다.
드뎌 됩니다. ^^:
-
댓글 달기