tar 옵션중에 소유권도 그대로 가져가는 옵션은 없나요?
글쓴이: 오리주둥이 / 작성시간: 금, 2005/11/11 - 1:48오전
tar 압축시에 -p 옵션으로 퍼미션 변경없이 압축하는건 알겠습니다.
압축을 풀어도 퍼미션은 변하지 않네요.
그런데 예를들어 test라는 디렉토리가 있고 그 하위 파일들이 모두
test.test 의 권한을 가지고 있을때 이걸 -p 옵션을 주어서 압축을 하는 유저의 권한으로 변경이 되더라구요.
root가 test 디렉토리를 test.tar.gz로 압축을 했을경우
이 압축파일의 소유권은 root가 가지게 되네요.
그리고 이 test.tar.gz파일의 소유권을 test2 로바꾸고나서
test2유저가 이 파일의 압축을 풀고나면 소유권이 test2.test2로 모두 바뀌어있습니다.
이런.. 얘기가 무지 길어졌네. 요약 들어갑니다.
----------------------------------------------------------------------
퍼미션과 소유권을 압축을 풀었을때 동일하게 가져갈 수 있는 옵션이 있는가 입니다.
이 간단한걸. -_-;;;;
Forums:
ㅡ_-)a그냥 됩니다.단 root만이 파일 소유자를 변경할 수
ㅡ_-)a
그냥 됩니다.
단 root만이 파일 소유자를 변경할 수 있습니다.
예)
상황
1. root로 로그인한 상태
2. 소유자가 purewell인 파일과 디렉토리를 가진 /home/purewell
/home/purewell/ $ tar -czf purewell.tgz purewell
/home/purewell/ $ mv purewell.tgz ~
/home/purewell/ $ cd
/root $ tar -xzf purewell.tgz
/root $ ls -al | grep purewell
해보시면 소유자까지 깔꼼하게 나옵니다.
단, root가 아닌 혹은 소유자를 바꿀 수 없는 권한으로 tar를 실행하면 당연히 원하는 결과가 나오지 않습니다.
_____________________________
언제나 맑고픈 샘이가...
http://purewell.biz
[quote="purewell"]ㅡ_-)a그냥 됩니다.단 ro
음. 다시 시도해봐야겠군요. 안되서요. -_-;
그니까 제가 아주 멍청하게 작업을 하고 있었거덩요.
설명을 드릴께요.
서버1 : 123.456.789.1
서버2 : 123.456.789.2
서버1에서 한짓(root)
********************************
#tar xvfzp test.tar.gz /home/test/
#scp -P 포트번호 test.tar.gz 아무계정@123.456.789.2:/home/test2
서버 2에서 한짓(root)
********************************
#chown test2.test2 /home/test2/test.tar.gz
#cd /home/test2/
#su test2
#tar xvfz test.tar.gz
#ls -l ./
압축 푼 모든 파일까지 소유권 변경되어있음.( test2.test2)
퍼미션은 모두 p옵션을 준 그대로 유지되고있었음.
그리고...
좌절.... 좌절.... 우워어어어어어어어어어어!!!!
이상입니다. 다시해보고 보고드릴께용.
.
uid는 확인해 보셨는지?
[quote="purewell"]단, root가 아닌 혹은 소유자를 바꿀
이제서야 이해했습니다.
root권한에서 xfz를 해야지만이 원래 사용자의 권한으로 풀리네요. -_-;
맨첨에 말씀하신거 이해못하고 깝죽된 제 잘못이죠 머 ㅠ.ㅠ
덕분에 재밌는 경험한것 같습니다.
근데 왜 root에서만 원래 소유권으로 압축이 풀리게만 되어있는지.. 좀 아쉬운 생각이 듭니다.
어쨌든 감사합니다 purewell님. 꾸벅
[quote="오리주둥이"]근데 왜 root에서만 원래 소유권으로 압축이
풀었다가 못지우는 사태가 발생할지도 모릅니다 ㅎㅎㅎ
[quote="lacovnk"][quote="오리주둥이"]근데 왜 roo
이해가 잘 안갑니다. -_-; 어떠한 경우에 그렇게 된다는 말씀이신지..
[quote="오리주둥이"][quote="purewell"]단, root
tar xzvf ...
tar czvf ...
이것 이외에는 tar쓰는 방법은 모릅니다.
저 옵션들이 뭘 뜻하는지도 모르고요. -_-;
tar 옵션z -> tar + gzip 생성j -> t
tar 옵션
z -> tar + gzip 생성
j -> tar + bz2 생성
x -> 풀기
c -> 묶기
v -> verbose = 진행과정?
p -> permission
[quote="오리주둥이"][quote="lacovnk"][quote="
풀어놓은 파일의 소유권이 본인이 아니기 때문에 지우거나 옮기지도 못하게 되죠^^
그리고 일반 유저가 다른 유저의 소유권으로 파일을 쓸 수 있다는 것도 당연히 위험하고요
'소유권 변경' 즉 chown 은 root 만 할 수 있도록 되어 있죠.
'소유권 변경' 즉 chown 은 root 만 할 수 있도록 되어 있죠. 일반 사용자가 저걸 사용할 수 있게 하면 위험하겠죠?
----
블로그 / 위키 / 리눅스 스크린샷 갤러리
[quote="bs0048"][quote="오리주둥이"][quote="l
일반 사용자가 4777 로 되어 있는 root 소유의 파일을 만들어 내면, 바로 시스템 접수되지요.
그러나 일반 사용자 권한으로는 어떤 파일도 root를 비롯한 다른 사람 소유로 만들수가 없습니다.
---
http://coolengineer.com
[quote="bs0048"][quote="오리주둥이"][quote="l
오해가 있으신듯... 어차피 타인의 소유권으로 작업할일은 없는데다가 루트권한으로 작업을 하니 걱정될 부분은 아니라고 보는데 제가 잘못생각하고 있는건지 모르겠네요.
어쨌든 섬뜩! 하면서 놀랬습니다.
[quote]저는 옵션이 뭔지도 모르고그냥 외워서 씁니다. tar x
x랑 c는 아실거구요.. 쿨럭;
z는 압축을 하는 옵션입니다. z를 빼고 압축을 하시고 z옵션을 주고
압축을 해보시면 용량차이가 많이 나요.
다만 z옵션을 주어서 압축을 했을때에는 z옵션을 주어 압축을 풀어야 합니다.
z 옵션은 gzip으로 인식이 되기 때문에 푸실때 z 옵션을 빼면 압축이 풀리지 않습니다.
v 옵션을 주시면 늘 사용해서 아시겠지만 압축시에 압축하는 파일명들이 쭈욱 출력이 됩니다.
안주시면 리스트출력없이 압축이 되구요.
큰 용량을 압축할때는 v옵션 없이 압축하는게 출력이 없이 되다보니 속도가 좀 더 빠르더군요.
f는 까먹었습니다. -_-;
p옵션을 주시면 압축을 푸실때에도 압축당시 파일들의 퍼미션이 고스란히 유지가 됩니다.
f 는 장치명 stdout
f 는 장치명
stdout 으로 내보내고 싶으면 - 주고
tape 장치면 /dev/st0 등등
흔히 쓰는 명령중 ...
샘플 복사 명령은 tar -cf - . | (cd targetdir; tar -xf - )
이러면 targetdir 아래로 현재 파일, 디렉토리 등이 카피가 되죠.
압축을 해제할 때도 v를 안 쓰는 편이 체감속도(?)가 조금 더 빠른 것
압축을 해제할 때도 v를 안 쓰는 편이 체감속도(?)가 조금 더 빠른 것 같아요..
참고로.. GNU tar라면, tar cvvf나 tar cvvvf처럼 v를 반복해서 사용하시면 정보가 더 자세해집니다.
tar xzvf로 풀었을 때
tar xzvf xx.tar.gz
압축을 풀었습니다.
퍼미션 확인합니다.
한 번 더 실행합니다.
tar xzvf xx.tar.gz
다시 풀립니다.(덮어씌워집니다.)
펴미션 확인하면 모든 디렉토리가 처음 압축을 풀었을 때와 퍼미션이 다릅니다. 풀을 때마다 달라집니다. 이건 왜 그런 것인지 알고 싶습니다.
댓글 달기