¸®´ª½º ½Ã½ºÅÛ °èÁ¤ Àüȯ¿¡ µû¸¥ home µð·ºÅ丮 º¹Á¦ ½ºÅ©¸³Æ® ¹®ÀÇ

   Á¶È¸ 3497   Ãßõ 0    

안녕하세요.


리눅스 시스템 계정을 전환해야 해서 

새로운 계정은 생성 했습니다. 문제는


home 디렉토리에서 하는 작업이 있어 홈 디렉토리를 복사하려 했으나

디렉토리 및 파일 및 하부 구성에 각기 다른 소유자와 이전 계정 존재로 인해

다중 서버 작업이 어려움을 겪습니다.

chown -R 을 쓰면 일괄 변환이 되어버려서 고심인데

가능한 스크립트가 있을까요?


조건은 특정 디렉토리(/home/계정) 하부의 모든 파일 및 디렉토리 복사 하면서

root 및 여타 계정 소유 및 그룹은 유지하고 특정 계정 (이전계정) 만 신규 생성한 계정으로

소유권 및 그룹 을 변경하는 조건입니다.


ex ) /home/oldinit/dir -> /home/newinit/dir

oldinit:oldinit       file   ->  newinit:newinit    file

root:oldinit       file2  ->    root:newinit    file2


ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
±¸Â÷´Ï 2019-06
https://serverfault.com/questions/440461/script-to-run-chown-on-all-folders-and-setting-the-owner-as-the-folder-name-minu

µ¹·Á¾Èº¸°í °Ë»ö¸¸ Çغ»°Å¶ó È®ÀÎÇغ¸½Ã±â ¹Ù¶ø´Ï´Ù.
µð·ºÅ丮 ¸íÀÌ °èÁ¤¸íÀÌ´Ï±î µð·ºÅ丮 ¸íÀ¸·Î chown Çϵµ·Ï for¹® Â¥¸é µÉµí ÇÕ´Ï´Ù¸¸...
Á¶±Ý ´õ ÁÁ°Ô Â¥·Á¸é /etc/passwd¿Í /etc/groups¸¦ ÀÌ¿ëÇؼ­ ÇÏ´Â°Ô ´õ ÁÁÁö ¾ÊÀ»±î ÇÕ´Ï´Ù.
     
±ÙÁ¢ÇÑ ³»¿ëÀ¸·Î º¸¿© ºÐ¼®ÇÏ°í ÀÖÁö¸¸ ¾î·Æ³×¿ä. ¾ð¾î + ½ºÅ©¸³Æ® ÇÑ°è°¡ Àֳ׿ä.
/etc/passwd ¹× /etc/groups ¿¡ »ç¿ëÀÚ°¡ ÇÒ´ç ¹ÞÀº ¹øÈ£ ¹× ±×·ì¹øÈ£°¡ ÀûÇô ÀÖ½À´Ï´Ù.

»ç¿ëÀÚ °èÁ¤À̸§°ú ¹øÈ£°¡ »õ·Î ¿Å±ä ½Ã½ºÅÛ¿¡¼­µµ ÀÏÄ¡ÇØ¾ß ¹®Á¦°¡ ¹ß»ýÇÏÁö ¾Ê½À´Ï´Ù.
     
´ÜÀϽýºÅÛ ³»ºÎº¹Á¦ÀÔ´Ï´Ù. ¸»±×´ë·Î °èÁ¤ Ãß°¡ ÈÄ Ãß°¡°èÁ¤À» ½Ç»ç¿ëÇÏ´Â ³»¿ëÀÔ´Ï´Ù.
          
tar ·Î ¹­¾î¼­ tar ·Î Ç®¸é ±×´ë·Î À¯ÁöµÈä º¹»çµË´Ï´Ù.
https://sancs.tistory.com/4
½ÇÀü¿¡¼­ ¸¹ÀÌ ½á¸Ô´Â ¹æ¹ýÀÌÁÒ.

±× ´ÙÀ½¿¡ user id ¹× group id¸¦ ½á¼­ ÇØ´çµÇ´Â ÆÄÀϸ¸ ¹Ù²ãÁÖ¸é µÇ°ÚÁÒ.

¸®´ª½ºÀÇ find ¸í·É¾î ¿¡´Â user id ¹× group id ·Î ã´Â ¿É¼ÇÀÌ ÀÖ½À´Ï´Ù.
https://www.unixtutorial.org/find-files-which-belong-to-a-user-or-unix-group
               
cp ¸í·É ¿É¼ÇÀ¸·Î ÈξÀ ÆíÇÏ°Ô ¼Ó¼º À¯ÁöÇÑ Ã¤ º¹»ç ÇÕ´Ï´Ù. cp -p
Àú´Â ¼ÒÀ¯ ¹× ±×·ìÀ» ¼±º°Çؼ­ Ȩµð·ºÅ丮¿¡ ¸Â°Ô º¯°æÇÏ±æ ¿øÇϴ°̴ϴÙ.
                    
sudo find ./ -user oldinit  -group oldinit -exec chown  newinit:newinit {} \;
sudo find ./ -user root  -group oldinit -exec chown  root:newinit {} \;

ÇØ´ç µð·ºÅ丮¿¡ °¡¼­ À§Ã³·³ ÀÔ·ÂÇÏ¸é ³¡³¯°Í °°±º¿ä.

¹°·Ð Ã¥ÀÓÀº ¸øÁý´Ï´Ù. Á¦´ë·Î µ¿ÀÛÇÏ´ÂÁö Å×½ºÆ® Çغ¸·Á¸é ´Ù¸¥ Å×½ºÆ®¿ë ¼­¹ö¿¡¼­ ¹Ì¸® µ¹·Áº¸¼¼¿ä.
                         
Ä£ÀýÇÏ°Ô ÀÛ¼º±îÁö ÇØÁ̴ּµ¥ ÀÚ²Ù ´ñ±Û ´Þ°ÔµÇ¾î Á˼ÛÇÕ´Ï´Ù.
¿¹¸¦ µç°ÍÀº ¿¹¸¦ µç°Í »ÓÀ̶ó ºñ´Ü Àú 2 °æ¿ì¸¸ ÀÖÀ» °æ¿ì°¡ ¾Æ´Ò¼öµµ ÀÖ½À´Ï´Ù. ÀÛ¾÷ÇØ¾ß ÇÒ ´ë»ó ½Ã½ºÅÛµéÀÌ
»ó´çÇؼ­ º¯¼ö°¡ ¸¹½À´Ï´Ù. ƯÈ÷³ª Á¢¼Ó°èÁ¤ Ȩµð·ºÅ丮¿¡´Â¿ä. ÇÏÁö¸¸ ÁÁÀº Âü°í°¡ µÉ ¼ö ÀÖÀ»°Ì´Ï´Ù. Â÷ºÐÈ÷ Å×½ºÆ® ÇغÁ¾ß°Ú½À´Ï´Ù.
±¸Â÷´Ï 2019-06
´Ü¼øÇÏ°Ô Ãß°¡ÇÏ½Ç ³»¿ëÀ̶ó¸é ´ÙÀ½ »ý¼ººÐ¿¡ ´ëÇؼ­´Â
/etc/skel¿¡ ³Ö¾îµÎ½Ã¸é ÀÚµ¿À¸·Î º¹Á¦ µË´Ï´Ù.
cp·Î´Â ¸ð¸£°Ú´Âµ¥ tar ±â´É¿¡ ±×·±°Ô ÀÖ½À´Ï´Ù. man page¿¡¼­ --owner-map, --group-map ¿É¼Ç¿¡ ´ëÇÑ ¼³¸íÀ» Àо¼¼¿ä.
Áú¹®ÀÌ Á» ÀÌÇØ°¡ Àß °¡Áö ¾Ê¾Æ¼­¿ä
/home ¹Ø¿¡ »ç¿ëÀÚ°¡ À¯Àú1, À¯Àú2, À¯Àú3°¡ Àִµ¥
À¯Àú4¸¦ »ý¼ºÇؼ­ À¯Àú3¿¡ ÀÖ´Â Á¤º¸¸¦ À¯Àú4¿¡ º¹»çÇؼ­ À¯Àú4 ¼ÒÀ¯·Î ÇÏ°í ½Í´Ù - ¹¹ ÀÌ·± »óȲÀΰ¡¿ä?
¾Æ´Ï¸é /home µð·ºÀ» °¡Áö°í ÀÖ´Â Çϵ带 ±³È¯ÇÏ°í ½ÍÀ¸½Å°Ç°¡¿ä?
     
¿¹ ±îÁö µé¾î ÃÖ´ëÇÑ ½±°Ô ¼³¸íÇÏ¿´´Âµ¥¿ä.

´ÜÀÏ ½Ã½ºÅÛ¿¡ root Á¦¿ÜÇÑ Á¢¼Ó°èÁ¤À» ÀüȯÇÏ·Á°í °èÁ¤ Ãß°¡ ÇÏ¿´°í ±âÁ¸ °èÁ¤¿¡¼­ ÀÛ¾÷ÇÏ´Â ³»¿ëµéÀÌ ±âÁ¸ °èÁ¤ Ȩ µð·ºÅ丮¿¡ Á¸ÀçÇÏ°í
±×°ÍÀ» »õ·Î¿î °èÁ¤À¸·Î º¹»çÇÏ´Â ÀÛ¾÷ÀÔ´Ï´Ù. ´ç¿¬È÷ ±âÁ¸ Ȩ µð·ºÅ丮¿¡´Â ±âÁ¸ °èÁ¤¿¡ ´ëÇÑ ¼ÒÀ¯±Ç °ú ±×·ìÀÌ ÀÖ°í ÀϺδ root °èÁ¤À¸·Î »ç¿ëÇÏ´Â
ÆÄÀÏ ¹× µð·ºÅ丮µµ Á¸ÀçÇϱ⿡ ÀÌ°ÍÀÇ ¼Ó¼º Áß root³ª ´Ù¸¥ °èÁ¤Àº À¯Áö ±âÁ¸ °èÁ¤ ¼ÒÀ¯³ª ±×·ìÀº ¸ðµÎ »õ·Î »ý¼ºÇÑ µð·ºÅ丮¿¡¼­´Â »õ·Î¿î °èÁ¤ÀÌ »ç¿ëÇÒ ¼ö°¡ ¾øÀ¸¹Ç·Î À̸¦ »õ·Î¿î °èÁ¤À¸·Î ±âÁ¸°èÁ¤ ¼ÒÀ¯ÆÄÀÏ ¹× ±×·ì ȤÀº ±× ¹Ý´ëÀÇ °æ¿ì¿¡µµ ±âÁ¸°èÁ¤À» »õ·Î¿î °èÁ¤À¸·Î ¼ÒÀ¯±Ç ¹× ±×·ì º¯°æÇÏ·Á´Â ÀÛ¾÷À»
´Ù·®ÀÛ¾÷ ÇϹǷΠÀÌ°Í¿¡ ´ëÇÑ ½ºÅ©¸³Æ®¸¦ ¾Ë¾Æº¸°í ÀÖ´Â ÁßÀÔ´Ï´Ù.
          
/home ¹Ø¿¡ °èÁ¤ÀÌ (¿¹¸¦ µé¾î) 2¸¸°³°¡ Àִµ¥ ±×Áß ÀϺδ root °èÁ¤À¸·Î »ç¿ëÇÏ´Â °èÁ¤µµ ÀÖ±¸¿ä
±×Áß 5õ°³´Â °èÁ¤À» À¯ÁöÇÏ°í 1¸¸5õ°³´Â »õ·Î¿î °èÁ¤À» ¸¸µé¾î¼­ º¹»çÇؼ­ »ç¿ëÇÏ°í ½Í±¸¿ä
±×·¯´Ï±î root °èÁ¤À¸·Î »ç¿ëÇÏ´Â °èÁ¤°ú À¯ÁöÇÏ´Â 5õ°³ °èÁ¤Àº ±×´ë·Î ÇÏ°í ³ª¸ÓÁö 1¸¸5õ°³ °èÁ¤Àº »õ·Î¿î
°èÁ¤À¸·Î ¼ÒÀ¯±ÇÀ» ¹Ù²Ù°í ½Í´Ù´Â »óȲÀΰ¡¿ä?
ȤÀº °¢ °èÁ¤¸¶´Ù root ±ÇÇÑÀ¸·Î »ç¿ëÇÏ´Â ÆÄÀÏÀÌ Àִµ¥ À̰Ÿ¦ À¯ÁöÇÏ°í ½Í´Ù´Â ¸»¾¸À̽Ű¡¿ä?
               
°èÁ¤°ú ¼ÒÀ¯±Ç ±×·ì ÀÇ °ü°è¸¦ ¸ÕÀú Á¤¸®ÇØ¾ß ÇÒ µí ÇÕ´Ï´Ù.
/home ¹Ø¿¡ °èÁ¤ÀÌ ÀÖ´Ù´Â ÀüÁ¦°¡ ÀÏ´Ü ÀÌ»óÇÕ´Ï´Ù. °èÁ¤Àº ½Ã½ºÅÛ¿¡¼­ °ü¸®Çϸç /etc/passwd ¿¡¼­ Á¤ÀÇÇؼ­ Á¸ÀçÇÕ´Ï´Ù.
/home ¹Ø¿¡ µð·ºÅ丮¿Í ÆÄÀÏÀÌ Àִµ¥ ÀÌÁß¿¡´Â ¼ÒÀ¯ÀÚ°¡ old ±×·ìÀÌ old ÀÎ ÆÄÀÏ ¹× µð·ºÅ丮µµ ÀÖ°í ¾î¶²°Ç ¼ÒÀ¯ÀÚ°¡ root ÀÌ°í
±×·ìÀÌ root ÀÏ °æ¿ìµµ ÀÖ°í ¾î¶²°Ç ¼ÒÀ¯ÀÚ°¡ bbb ±×·ìÀÌ bbb ÀÎ °Íµµ ÀÖ°í ÀÌ È¨µð·ºÅ丮´Â /home/new ¾È¿¡ ÀÖ½À´Ï´Ù. ÀÌ Áß old °¡ ¼ÒÀ¯ÀÚ À̰ųª
±×·ì ÀÏ °æ¿ì À̸¦ ¸ðµÎ new ·Î ¹Ù²ã¾ß Çϴµ¥ °¢¾ç °¢»öÀÇ ½Ã½ºÅÛµéÀ̶ó Á¸Àç º¯¼ö°¡ ¸¹¾Æ¼­ ½ºÅ©¸³Æ®¸¦ ¿øÇß´ø °Ì´Ï´Ù.
ºó°æÀ± 2019-06
ƯÁ¤ µð·ºÅ丮¿¡¼­ ƯÁ¤ »ç¿ëÀÚ¸¸ ã¾Æ¼­ ¼ÒÀ¯±ÇÀ» º¯°æÇÏ´Â ¹æ¹ýÀ» ãÀ¸½Ã´Â°Ç°¡¿ä?


# /home/2cpu µð·ºÅ丮 ÇÏÀ§¿¡¼­
# user/group À» °¢°¢ daemon ¿¡¼­ nobody ·Î º¯°æÇϱâ

find /home/2cpu -user daemon -exec ls -l {} \;|more
find /home/2cpu -user daemon -exec chown -v nobody {} \;|more

find /home/2cpu -group daemon -exec ls -l {} \;|more
find /home/2cpu -group daemon -exec chgrp -v nobody {} \;|more
     
Á¦°¡ ¼³¸íÀ» ³Ê¹« ÀåȲÇÏ°Ô Çß³ª º¾´Ï´Ù. ¸»¾¸Ã³·³ ÇÑÁÙ·Î ¼³¸í µÇ´Â°ÍÀ»...

¿¹·Î µå½Å find ¹® À§¿¡ ¿¥ºê¸®¿À´Ô °Í°ú ´õÇؼ­ Å×½ºÆ® ¿­½ÉÈ÷ Çغ¸°Ú½À´Ï´Ù.

°¨»çÇÕ´Ï´Ù.
     
ºó°æÀ±´Ô Á¤¸» °¨»çÇÕ´Ï´Ù.

Á¤¸®Çؼ­ °èÁ¤°ú ±×·ìÀº ÅëÀÏÇصµ µÇ¼­

find /home/2cpu -user daemon -exec chown -v nobody:nobody {} \;|more

·Î °áÁ¤ Çß½À´Ï´Ù.
          
ºó°æÀ± 2019-06
¾Õ¼­ ¿¥ºê¸®¿À´Ô°ú ´Ù¸¥ºÐµéÀÌ »óȲÀ» Çϳª¾¿ ±¸Ã¼È­½ÃÄѳª°£ ´öºÐ¿¡ Àúµµ Áú¹®À» º¸´Ù Á¤È®È÷ ÀÌÇØÇÒ ¼ö ÀÖ¾ú´ø °Í °°½À´Ï´Ù.    Àß ÇØ°áµÇ¼ÌÀ¸¸é ´ÙÇàÀÔ´Ï´Ù.
ÀÌ·± ÀÛ¾÷Àº root °èÁ¤¿¡¼­ ÇØ¾ß ÇÒ ÅÙµ¥ ½ºÅ©¸³Æ®¿¡¼­ ¹®Á¦°¡ ¹ß»ýÇϸé Àüü°¡ ¾û¸ÁÀÌ µÇ°Ú³×¿ä
°ËÁõÇÏ´Â °Íµµ Å«ÀÏÀÌ°Ú½À´Ï´Ù


QnA
Á¦¸ñPage 1338/5687
2014-05   4989324   Á¤ÀºÁØ1
2015-12   1525293   ¹é¸Þ°¡
2015-06   3493   Àü¼³¼ÓÀǹ̡¦
2019-02   3493   ZSNET5
2016-01   3493   ¶ó±à
2019-05   3493   ¸á¶û²Ã¸µ
2017-08   3493   ºí·ç2014
2016-08   3493   ½ÅÀº¿Ö
2020-03   3493   ÀÌÈñÁÖ
2020-07   3493   Ãë¹ÌÄÄ
2015-09   3493   ¿ôÀÚ¿ôÀÚ
2017-08   3493   Çϼ¿È£ÇÁ
2018-08   3493   Ä¡¸ÆÀüÀÚ
2017-04   3493   ½Öcpu
2015-06   3493   ±è°Ç¿ì
2017-04   3493   À¯Á¤È£»þÄÜ´À
2019-07   3493   ±è°Ç¿ì
2016-11   3493   ¼Û¼®ÈÄ
2017-08   3493   Çϼ¿È£ÇÁ
2019-08   3493   »ßµ¹À̽½ÇÄÀÌ
2020-08   3493   adioshun
2020-09   3493   ±è¿µ±â