22년 가을학기

    9.사용자 관리 쉘스크립트

    9.사용자 관리 쉘스크립트

    1. ssh 공개키를 복사하여 비밀번호 없이 원격접속하기 Secure sHell(쉘을 보호하다.) SSH프로토콜은 암호화를 사용하여 client 와 server간의 연결을 보호한다. 기존 패스워드를 입력해서 서버로 접속했다면 개인키와 공개키 를 사용하여 패스워드 없이 접속할 수 있다. 패스워드 없이 접속하기에 개인키 파일만 탈취당하지 않고 소중히 보관한다면 보안이 강화된다. ssh키 인증접속 방식은 client의 개인키와 server의 공개키를 대조하여 인증하는 방식이다. 밑에 스크립트는 ssh-keygen 명령어를 통해 개인키를 생성하고 내가 패스워드 없이 SSH 접속하고자 하는 서버에 sshpass명령어를 통해 공개키를 복사해주는 자동 스크립트이다. 1 #!/bin/bash 3 servers="192..

    8.시스템 관리 쉘스크립트

    1) ostype 문자열이 fedora가 되도록 다음 소스를 변경하세요. 지금 현재는 rhel fedora 문자열이 검색되는 소스입니다. 먼저 cat /etc/*release의 긴 결과문 부터 마지막 awk사용하여 fedora 로 출력 되기까지 차례대로 걸러보자. 1.cat만사용 실행문 ostype1=$(cat /etc/*release) echo "$ostype1" 결과문 CentOS Linux release 7.9.2009 (Core) NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE= "rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME..

    7. 쉘스크립트 실무

    1.여러 대의 시스템에 동일한 사용자를 생성하도록 소스 변경을 하세요. server=(192.168.111.139 192.168.111.140 192.168.111.141) for (( k=0; k

    6.쉘스크립트 중급

    1. 스크립트 실행하면서 그룹명을 입력받아, 해당 그룹으로 사용자 계정을 생성하도록 쉘 스크립트를 보완하세요. 그룹명 없이 스크립트를 실행하면 시스템이 부여하는 그룹명을 사용한다 1 i=$1 2 j=$2 3 k=$3 4 5 6 if [[ -z $k ]] 7 then 8 k=defaultgroup #파라미터값이 없다면 기본그룹지정 9 echo "1.${k}으로 그룹이 지정되었습니다." 10 11 elif [[ `cat /etc/group | grep ${k} | wc -l` == 0 ]] #중복되지 않았다면 k값으로 그룹생성 12 then 13 groupadd $k 14 echo "2.${k}으로 그룹이 지정되었습니다." 15 16 else 17 then 18 echo "3.입력하신 그룹이 이미 존재합니다..

    5.파일 처리 명령어

    1) 파일을 찾아 주는 find 명령어는 매우 유용한 유틸리티이지만, 사용자의 접근 권한이 없는 디렉터리 또는 파일 때문에 매번 '허가 거부' 에러 메시지가 많이 나와 실행결 결과를 보는 것을 어렵게 한다. 실행 결과에 'Permission denied' 에러메시지가 출력되지 않도록 하는 방법에 대해 설명하세요. 1-1 리다이렉션 에러메세지만 리다이렉션하여 /dev/null 위치에 보내면 된다. 리다이렉션은 입출력을 사용자 맘대로 재지정한다는 말이다. 키보드입력 과 화면 출력 사용자 임의대로 재지정한다는 소리다. 예로 키보드에서 입력받지 않고 파일을 입력으로 받는 방법과 출력할 내용을 화면 출력이 아닌 파일에 저장하는 방법이다. 리다이렉션 방향 의미 > 표준 출력 명령의 결과를 파일로 저장 >> 표준 출..

    4.문자열 검색 명령어

    1) 일단 해당 사용자의 bash 프로세스 번호를 알아 본 후 $ ps -ef | grep gtiger77 2) 해당 프로세스를 실행 종료시키면 된다. $ kill -9 8394 #PID가 8394인 프로세스를 9(프로세스 종료옵션)한다. 사용자 77의 연결의 끊어졌다. 3) 해당 사용자가 아웃되었는지 확인한다. ■ users : 현재 시스템에 로그인한 사용자 계정들을 출력해주는 명령어 ■ who : 시스템에 로그인 되어 있는 사용자들을 로그인 정보와 같이 출력해주는 명령어 옵션 a는 모든정보출력, H는 컬럼값의 의미를 알려주는 컬럼명을 출력해준다. ■ w : 시스템에 로그인 되어 있는 사용자들과 사용자들이 실행중인 작업 정보와 함께 출력해주는 명령어 이렇게 users who w 명령어를 사용하여 로그인..

    3.쉘스크립트 기초 문법

    1) 남자의 나이와 여자의 나이를 입력 받은 후 #!/bin/bash echo "남자의 나이를 입력하세요 :" read man echo "여자의 나이를 입력하세요 :" read woman 2)두 명중에 나이가 더 많은 사람을 선별하고 나이차를 출력한 후, if [ $man > $woman ] ; then echo "남자의 나이가 더 많습니다."; elif [ $man == $woman ] ; then echo "나이가 똑같습니다."; else echo "여자의 나이가 더 많습니다."; 3)두 명의 나이를 합산하여 출력하는 쉘스크립트를 작성하세요. gap=`expr $man - $woman` echo "나이차이는 $gap 살 입니다." sum=`expr $man + $woman` echo "나이합산은 $s..