내일은 대한입니다.
sun's longitude:299 31 34.00 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/read.php:소스보기  

질문과 답변 게시판입니다.

현재 실시간으로 이곳 서버의 설정파일(몇개)를 보여주고 있습니다.
서버의 설정내용에 관한 질문은 먼저 이곳 서버의 설정내용을 참고하시길 바랍니다.

[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
2159 번 글의 답장글: Re: Re: Re: Re: 유저 이설 작업
글쓴이: 이현철 글쓴날: 2004년 09월 08일 20:16:08 수(저녁) 조회: 1255
산이님께...
가르쳐 주신 스크립트 부분중에 마지막부분에 에러가
나는데요.

아마도 여기가 에러인것같습니다.

 i=$(($i+1
done

###########################
#!/bin/sh

IFS='
'
WDIR='/home/backup'

cd $WDIR || exit 1

## 날짜 역순으로 정렬
#
LISTS=`ls -lt`

i=1;
for file in $LISTS ; do
  if [ "$i" -gt 7 ] ; then
      rm -f "$file"
  fi
  i=$(($i+1
done
############################





[산이]님이 남기신 글:

>
>[이현철]님이 남기신 글:
>
>>언제나 산이님의 통쾌한 답변에 감사합니다..
>>오늘도 한수 배워서 배가 아주 불려서..허허허
 합니다..ㅋㅋ
>>아주 잘 해결된것같습니다..

>>
>>오늘은 다른것을 하나 더 여쭈어 볼려고 하는데요..
>>만일 파일이 아래와 같이 
>>bash-2.05# ls -al |more
>>total 546240
>>drwxr-xr-x    4 root     bin         11264 Sep  7 19:00 .
>>drwxr-xr-x    9 root     bin           512 Aug  5  2003 ..
>>-rw-rw-rw-    1 root     root     13904752 Jul  1 05:00
20040701_access.log
>>-rw-rw-rw-    1 root     root      7751643 Jul  2 05:00
20040702_access.log
>>-rw-rw-rw-    1 root     root      6524302 Jul  3 05:00
20040703_access.log
>>-rw-rw-rw-    1 root     root      9205570 Jul  4 05:00
20040704_access.log
>>-rw-rw-rw-    1 root     root      5915410 Jul  6 05:00
20040706_access.log
>>-rw-rw-rw-    1 root     root      6194908 Jul  7 05:00
20040707_access.log
>>-rw-rw-rw-    1 root     root      8044288 Jul  8 05:00
20040708_access.log
>>-rw-rw-rw-    1 root     root      9633671 Jul  9 05:00
20040709_access.log
>>-rw-rw-rw-    1 root     root      6455530 Jul 10 05:00
20040710_access.log
>>
>>위와같이 매일 로그가 생겨나고 있습니다.
>>이것을 cron을 이용해서 삭제할때
>>한달에 한번씩 1달전분 자료를 전부삭제할려면.

>>어떤 방법이 좋을까요?
>>여하튼 머리가 대개 잘 안돌아가네요..

>>
>
>만약 이와 같은 알고리즘이면 매월 1일인 경우는 전월 로그가
하나도
>없어집니다.
>
>따라서 현재 날짜를 기준으로 1주일 전이나 한달전을 기준으로
해야 합니다.
>
>-------------------
>#!/bin/sh
>
>IFS='
>'
>WDIR='/home/backup'
>
>cd $WDIR || exit 1
>
>## 날짜 역순으로 정렬
>#
>LISTS=`ls -lt`
>
>i=1;
>for file in $LISTS ; do
>  if [ "$i" -gt 7 ] ; then
>      rm -f "$file"
>  fi
>  i=$(($i+1
>done
>---------------------------------
>
>이런식으로 하면 됩니다.
>
>
>
>>
>>
>>[산이]님이 남기신 글:
>>
>>>
>>>[이현철]님이
 남기신 글:
>>>
>>>>-----------------------------------------
>>>>답변자가 기본적으로 참고할 내용입니다.
>>>>- 배포판(옵션)    : 
>>>>- 커널버전(옵션)
  : 
>>>>- 데몬버전(예:apache
 1.3.27) : 
>>>>- 데몬설치유형(RPM/컴파일/기타)
 : 
>>>>-----------------------------------------
>>>>기존에 있는 서버의 유저 어카운트와 shadow 화일을
가지고
>>>>새로운 서버에 유저를 등록하려고 합니다..
>>>>
>>>>cat /etc/shadow
>>>>##################################################
>>>>test:$1$p5Zu7Kem$d2K7XDeWp5Qn41ZCctjyo.:12565:0:99999:7::
>>>>testuser:H6.CGThArD.GE:12657:0:99999:7:::                         
iga-test:$1$xvI/cF/w$Jb/a82rLBq6VyZRMRtxES.:12663:0:99999:7:::
>>>>##################################################
>>>>
>>>>만일 위와 같다면 위에 내용중에 유저id와 shadow를 
>>>>파일로 뽑아 내려고 합니다.
>>>>
>>>>이것을 뽑아서 
>>>>
>>>>cat list.txt
>>>>##################################################
>>>>test:$1$p5Zu7Kem$d2K7XDeWp5Qn41ZCctjyo
>>>>iga-test:$1$xvI/cF/w$Jb/a82rLBq6VyZRMRtxES
>>>>##################################################
>>>>이런씩으로 뽑을려고 합니다.
>>>>어떤씩으로 하면 될지요?
>>>>
>>>
>>>shell> awk -F":" '{printf "%s:%s\n",$1,$2}' /etc/shadow | tee
-a new.pwd
>>>
>>>이런식으로 하면 new.pwd 에 생성됩니다.
>>>
>>>그러나 사용자를 추가할 경우는 이런 방법은 좋지
않습니다.
>>>
>>>>그리고 위와같이 뽑은 파일을 새로운 서버에 자동으로
유저가 등록
>>>>되도록할려고
 합니다.
>>>>
>>>>chpasswd 를 이용해서 할려고하는데요.

>>>>아래의 스크립트를 이용해서 위에 가져온 list.txt파일을
이용할수 없는지요.
>>>>[root@oracle home]# vi add.sh
>>>>############################
>>>>#!/bin/bash
>>>>useradd -g 1000 -c web -d /export/home/$1 -m -s /bin/bash -k /etc/skel
$1
>>>>chmod 755 /export/home/$1
>>>>mkdir /export/home/$1/html
>>>>chown $1 /export/home/$1/html
>>>>chgrp  customer /export/home/$1/html
>>>>echo $1:$2 | chpasswd
>>>>##############################
>>>>
>>>>
>>>> 아니면 어디 좋은 방법을 좀 일러 주십시요...
>>>>
>>>>..좋은 하루되세요.. 
>>>
>>>일단 사용자가 많다면 passwd shadow group gshadow
>>>을 복사한 다음에 새로운 시스템에 그대로 추가(append)해
주면
>>>됩니다.
>>>
>>>예를 들어(passwd 파일인 경우)
>>>
>>> - 기존의 passwd 파일을 복사한 파일(이하 'A') :
>>>   500 이하의 ID 는 무시하고 500 이상만 남도록 편집
>>> - 새로운 시스템의 passwd(이하 'B'):
>>>   500 이하의 ID 만 남도록 하고 나머지는 모두 삭제
>>>
>>>위와 같이 각각 편집한 다음에 A 파일을 B 서버로
옮겨놓고
>>>
>>>sheel> cat A >> B
>>>
>>>이런식으로 append 하면 됩니다.
>>>나머지 shadow, group gshadow 도 마찬가지로,
>>>
>>>그 다음 계정 홈디렉토리를 만들어 줘야 하는데
>>>useradd 명령어로 만들어 주면 안됩니다. 이미 passwd 파일에
있기
>>>때문에, 따라서 이런 경우는 shell 스크립트로 짜서 돌리면
됩니다.
>>>
>>>만약 기존의 시스템 A 와 똑같은 홈디렉토리이면
 기존의 A passwd
>>>파일에서 홈 디렉토리 이름을 뽑아서 mkdir 로 만들어
주고,
>>>그렇지 않아면 아주 다른 새로운 홈디렉토리이면,
 apppend 된 passwd
>>>파일을 일괄적으로 먼저 수정해줘야 합니다.
>>>
>>>간단하게 하는 방법은
>>>
>>>------------------
>>>#!/bin/sh
>>>IFS='
>>>'
>>>
>>>for line in `cat /etc/passwd` ; do
>>>  ACCOUNT=`echo "$line" | awk -F ":" '{print
$1}'`
>>>  UID=`echo "$line" | awk -F ":" '{print $3}'`
>>>  GID=`echo "$line" | awk -F ":" '{print $4}'`
>>>  HOMEDIR=`echo "$line" | awk -F ":" '{print
$6}'`
>>>
>>>  if [ $UID -ge 500 ] ; then
>>>      echo "account : $ACCOUNT , $UID:GID  $HOMEDIR"
>>>  fi
>>>
>>>done
>>>
>>>------------------
>>>
>>>위의 스크립트를 수정해서 사용해 보세요 
>>
>>======================================== 
>
>======================================== 

========================================

 
이전글 : Re: Re: Re: 유저 이설 작업
다음글 : Re: Re: Re: Re: Re: 유저 이설 작업  
 from 210.238.198.62
JS(Redhands)Board 0.4 +@

Re: Re: Re: 유저 이설 작업 Re: Re: Re: Re: Re: 유저 이설 작업
인쇄용 


apache lighttpd linuxchannel.net 
Copyright 1997-2026. linuxchannel.net. All rights reserved.

Page loading: 0.01(server) + (network) + (browser) seconds