tar 옵션중에 소유권도 그대로 가져가는 옵션은 없나요?

오리주둥이의 이미지

tar 압축시에 -p 옵션으로 퍼미션 변경없이 압축하는건 알겠습니다.
압축을 풀어도 퍼미션은 변하지 않네요.

그런데 예를들어 test라는 디렉토리가 있고 그 하위 파일들이 모두
test.test 의 권한을 가지고 있을때 이걸 -p 옵션을 주어서 압축을 하는 유저의 권한으로 변경이 되더라구요.

root가 test 디렉토리를 test.tar.gz로 압축을 했을경우
이 압축파일의 소유권은 root가 가지게 되네요.

그리고 이 test.tar.gz파일의 소유권을 test2 로바꾸고나서
test2유저가 이 파일의 압축을 풀고나면 소유권이 test2.test2로 모두 바뀌어있습니다.

이런.. 얘기가 무지 길어졌네. 요약 들어갑니다.
----------------------------------------------------------------------
퍼미션과 소유권을 압축을 풀었을때 동일하게 가져갈 수 있는 옵션이 있는가 입니다.

이 간단한걸. -_-;;;;

purewell의 이미지

ㅡ_-)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

오리주둥이의 이미지

purewell wrote:
ㅡ_-)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를 실행하면 당연히 원하는 결과가 나오지 않습니다.

음. 다시 시도해봐야겠군요. 안되서요. -_-;

그니까 제가 아주 멍청하게 작업을 하고 있었거덩요.
설명을 드릴께요.

서버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옵션을 준 그대로 유지되고있었음.

그리고...

좌절.... 좌절.... 우워어어어어어어어어어어!!!!

이상입니다. 다시해보고 보고드릴께용.

stbaram의 이미지

uid는 확인해 보셨는지?

오리주둥이의 이미지

purewell wrote:
단, root가 아닌 혹은 소유자를 바꿀 수 없는 권한으로 tar를 실행하면 당연히 원하는 결과가 나오지 않습니다.

이제서야 이해했습니다.
root권한에서 xfz를 해야지만이 원래 사용자의 권한으로 풀리네요. -_-;

맨첨에 말씀하신거 이해못하고 깝죽된 제 잘못이죠 머 ㅠ.ㅠ

덕분에 재밌는 경험한것 같습니다.
근데 왜 root에서만 원래 소유권으로 압축이 풀리게만 되어있는지.. 좀 아쉬운 생각이 듭니다.

어쨌든 감사합니다 purewell님. 꾸벅

lacovnk의 이미지

오리주둥이 wrote:
근데 왜 root에서만 원래 소유권으로 압축이 풀리게만 되어있는지..

풀었다가 못지우는 사태가 발생할지도 모릅니다 ㅎㅎㅎ

오리주둥이의 이미지

lacovnk wrote:
오리주둥이 wrote:
근데 왜 root에서만 원래 소유권으로 압축이 풀리게만 되어있는지..

풀었다가 못지우는 사태가 발생할지도 모릅니다 ㅎㅎㅎ

이해가 잘 안갑니다. -_-; 어떠한 경우에 그렇게 된다는 말씀이신지..

나는오리의 이미지

오리주둥이 wrote:
purewell wrote:
단, root가 아닌 혹은 소유자를 바꿀 수 없는 권한으로 tar를 실행하면 당연히 원하는 결과가 나오지 않습니다.

이제서야 이해했습니다.
root권한에서 xfz를 해야지만이 원래 사용자의 권한으로 풀리네요. -_-;

맨첨에 말씀하신거 이해못하고 깝죽된 제 잘못이죠 머 ㅠ.ㅠ

덕분에 재밌는 경험한것 같습니다.
근데 왜 root에서만 원래 소유권으로 압축이 풀리게만 되어있는지.. 좀 아쉬운 생각이 듭니다.

어쨌든 감사합니다 purewell님. 꾸벅

저는 옵션이 뭔지도 모르고그냥 외워서 씁니다.
tar xzvf ...
tar czvf ...
이것 이외에는 tar쓰는 방법은 모릅니다.
저 옵션들이 뭘 뜻하는지도 모르고요. -_-;
익명 사용자의 이미지

tar 옵션
z -> tar + gzip 생성
j -> tar + bz2 생성
x -> 풀기
c -> 묶기
v -> verbose = 진행과정?
p -> permission

sh.의 이미지

오리주둥이 wrote:
lacovnk wrote:
오리주둥이 wrote:
근데 왜 root에서만 원래 소유권으로 압축이 풀리게만 되어있는지..

풀었다가 못지우는 사태가 발생할지도 모릅니다 ㅎㅎㅎ

이해가 잘 안갑니다. -_-; 어떠한 경우에 그렇게 된다는 말씀이신지..


풀어놓은 파일의 소유권이 본인이 아니기 때문에 지우거나 옮기지도 못하게 되죠^^
그리고 일반 유저가 다른 유저의 소유권으로 파일을 쓸 수 있다는 것도 당연히 위험하고요
랜덤여신의 이미지

'소유권 변경' 즉 chown 은 root 만 할 수 있도록 되어 있죠. 일반 사용자가 저걸 사용할 수 있게 하면 위험하겠죠?

pynoos의 이미지

bs0048 wrote:
오리주둥이 wrote:
lacovnk wrote:
오리주둥이 wrote:
근데 왜 root에서만 원래 소유권으로 압축이 풀리게만 되어있는지..

풀었다가 못지우는 사태가 발생할지도 모릅니다 ㅎㅎㅎ

이해가 잘 안갑니다. -_-; 어떠한 경우에 그렇게 된다는 말씀이신지..


풀어놓은 파일의 소유권이 본인이 아니기 때문에 지우거나 옮기지도 못하게 되죠^^
그리고 일반 유저가 다른 유저의 소유권으로 파일을 쓸 수 있다는 것도 당연히 위험하고요

일반 사용자가 4777 로 되어 있는 root 소유의 파일을 만들어 내면, 바로 시스템 접수되지요.

그러나 일반 사용자 권한으로는 어떤 파일도 root를 비롯한 다른 사람 소유로 만들수가 없습니다.

오리주둥이의 이미지

bs0048 wrote:
오리주둥이 wrote:
lacovnk wrote:
오리주둥이 wrote:
근데 왜 root에서만 원래 소유권으로 압축이 풀리게만 되어있는지..

풀었다가 못지우는 사태가 발생할지도 모릅니다 ㅎㅎㅎ

이해가 잘 안갑니다. -_-; 어떠한 경우에 그렇게 된다는 말씀이신지..


풀어놓은 파일의 소유권이 본인이 아니기 때문에 지우거나 옮기지도 못하게 되죠^^
그리고 일반 유저가 다른 유저의 소유권으로 파일을 쓸 수 있다는 것도 당연히 위험하고요

오해가 있으신듯... 어차피 타인의 소유권으로 작업할일은 없는데다가 루트권한으로 작업을 하니 걱정될 부분은 아니라고 보는데 제가 잘못생각하고 있는건지 모르겠네요.

어쨌든 섬뜩! 하면서 놀랬습니다.

오리주둥이의 이미지

Quote:
저는 옵션이 뭔지도 모르고그냥 외워서 씁니다.
tar xzvf ...
tar czvf ...
이것 이외에는 tar쓰는 방법은 모릅니다.
저 옵션들이 뭘 뜻하는지도 모르고요. -_-;

x랑 c는 아실거구요.. 쿨럭;
z는 압축을 하는 옵션입니다. z를 빼고 압축을 하시고 z옵션을 주고
압축을 해보시면 용량차이가 많이 나요.

다만 z옵션을 주어서 압축을 했을때에는 z옵션을 주어 압축을 풀어야 합니다.
z 옵션은 gzip으로 인식이 되기 때문에 푸실때 z 옵션을 빼면 압축이 풀리지 않습니다.

v 옵션을 주시면 늘 사용해서 아시겠지만 압축시에 압축하는 파일명들이 쭈욱 출력이 됩니다.
안주시면 리스트출력없이 압축이 되구요.
큰 용량을 압축할때는 v옵션 없이 압축하는게 출력이 없이 되다보니 속도가 좀 더 빠르더군요.

f는 까먹었습니다. -_-;

p옵션을 주시면 압축을 푸실때에도 압축당시 파일들의 퍼미션이 고스란히 유지가 됩니다.

doodoo의 이미지

f 는 장치명
stdout 으로 내보내고 싶으면 - 주고
tape 장치면 /dev/st0 등등

흔히 쓰는 명령중 ...
샘플 복사 명령은 tar -cf - . | (cd targetdir; tar -xf - )
이러면 targetdir 아래로 현재 파일, 디렉토리 등이 카피가 되죠.

Prentice의 이미지

압축을 해제할 때도 v를 안 쓰는 편이 체감속도(?)가 조금 더 빠른 것 같아요..

참고로.. GNU tar라면, tar cvvf나 tar cvvvf처럼 v를 반복해서 사용하시면 정보가 더 자세해집니다.

glradios의 이미지

tar xzvf xx.tar.gz

압축을 풀었습니다.
퍼미션 확인합니다.

한 번 더 실행합니다.
tar xzvf xx.tar.gz
다시 풀립니다.(덮어씌워집니다.)
펴미션 확인하면 모든 디렉토리가 처음 압축을 풀었을 때와 퍼미션이 다릅니다. 풀을 때마다 달라집니다. 이건 왜 그런 것인지 알고 싶습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.