본문 바로가기

전체 글137

사용자 생성과정 전 리눅스에서는 useradd, userdel 등을 알아봤는데 여기서는 사용자를 생성할 때 어떻게 만들어지는지 정리해보겠다. 유저생성과정 /etc/default/useradd , /etc/login.defs => 유저 생성하기 위해 참조하는 파일들 /etc/passwd , /etc/group => 유저추가파일들 /홈 디렉터리 생성 /etc/skel/파일복사 /var/mail /계정 파일 생성 그럼 useradd의 생성과정을 보기 위해 useradd의 설정파일을 살펴보겠다. 해석 # useradd defaults file GROUP=100 HOME=/home => 홈 폴더는 무엇을 생성할 것인지? INACTIVE=-1 => 이 useradd라는 설정파일을 볼 것인지? EXPIRE= => 며칠간 유저를 유지.. 2021. 10. 17.
사용자 등록정보 사용자 관리 비밀번호 관리 사용자 패스워드 , 암호정책정보 /etc/shadow =>root:$6$kGdwdkOjk37xQPz.$SdbeCqAIdUwk379MDFj9HlQgo2uhoS5vGld4arn9U 이렇게 root유저의 암호화된 비밀번호를 볼 수 있다. 내 유저를 보면 hjseo:$6$iNpm8ZozKBa3PWHO$IkHy1b.GrB9zBycOlBjXEWuYpJNxRH/fTCNqo4cTEVRXkgfJZedwsSp0qB8KkZjf5TOXpDN0nc33/BTBxXF/y1:18915:0:99999:7::: 유저이름 암호변경일 암호 유효기간 =99999면 계속 사용가능하다 암호 만료일7일전 경고 계정만료일::: pwunconv ==기존에 etc/shadow에서 관리하던 암로를 --> etc/passwd가 .. 2021. 10. 17.
vi 에디터 => 윈도우스 에디터와 달리 에디팅하는 모드와 이를 편집하는 모드가 다르다. 명령 모드 : 입력 이외의 편집 입력 모드 : 데이터 입력 및 수정 실행 모드 : 파일 저장, 종료 vi 에디터는 3가지 모드로 이루어져 있다. 명령 모드, 삽입 모드 실행 모드 가장 처음 실행 시켰을 때 명령 모드로 시작한다. 명령 -> 삽입 i : 커서 위치부터 입력 a : 커서 다음 칸에 입력 o : 커서 아래 새로운 라인 삽입하고 입력 l : 커서가 위치한 라인 맨 앞에 입력 A: 커서가 위치한 라인 맨 뒤에 입력 명령 -> 실행 ; 삽입, 실행 -> 명령 esc 삽입 -> 실행 불가 실행모드 이동 w :저장 q : 저장 않고 종료 wq : 저장하고 종료 명령모드 h, j, k, i (왼쪽, 아래, 위 , 오른쪽) gg,.. 2021. 10. 14.
bash 셸 명령어 처리기의 한 종류 ※ bash(Bourne Again Shell ) : 셸에 향샹된 기능 추가해 다시 태어났다~ bash 셸의 특징 Alias 기능 (명령어 단축 기능 저장) History 기능( 위/아래 화살표) => history를 치면 그동안 쳤던 명령어를 볼 수 있다. 연산 기능 Job control 기능 => 여태까지 작업한 것을 확인하는 기능 자동 이름 완성 기능(tab) 프롬프트 제어 기능 명령 편집기능 Alias => ls -la를 l로 지정해준 것 연산기능 => 특수 문자를 사용하기 전에 \를 넣어주어야지 연산이 가능하다 jobcontrol 기능 100초동안 쉬는 작업 추가 1번에 작업 배치 jobs을 입력했을 때 실행중인 게 뜸 kill로 종료 시키는 데 %1 1번 작업을 종료시.. 2021. 10. 14.
리눅스 구조와 명령어 디렉터리 계층 구조 🥚 리눅스에서는 파일을 효율적으로 관리하기 위해 디렉터리를 계층적으로 구성한다. ==트리구조 🥚모든 디렉터리의 출발점은 루트(root)디렉터리이며 / 으로 표시한다. 하위 디렉터리 : user, etc, home, tmp 상위 디렉터리 : .. 으로 표시한다. 🔥 루트 디렉토리를 제외하고 모든 디렉터리는 부모가 있다. 현재 위치가 user1이라면 디렉터리/파일명 | 절대 경로 | 상대 경로 / | / | ../ ../ home | /home | ../ tmp | /tmp | ../../tmp lib | /usr/lib | ../../usr/lib ls | /usr/bin/ls | ../../usr/bin/ls 리눅스 파일의 종류와 특징 dev : 키보드, USB등 장치를 연결했을 때 .. 2021. 10. 10.
JSP 표준 태그 액션 액션의 형태 표준 액션 커스텀 액션 1. xml기술을 이용해 jsp문법을 확장할 수 있다. 2. 표쥰 구격으로 바로 사용이 가능한 것은 표준 액션 3. 커스텀 액션은 밸도의 라이브러리 설치해야한다. 페이지 모듈화 페이지 안에 다른 페이지 삽입 🚩jsp페이지가 실행될 때 동적으로 웹 자원을 읽음 (페이지가 만들얼지고 삽입되는 형태) ==따라서 서블릿 입장에서는 각자 따로 이루어져있음 밑의 그림을 예로 들면 주황색 웹이랑 검정색 웹이 각자 독립적으로 이루어져 있어 2개의 서블릿으로 되어있다. 이렇게 하나의 웹을 쪼개는 것을 모듈화라고 하고 이것을 include로 한다. 🚩jsp 페이지가 서블릿 클래스로 변환될 때(이미 코드가 들어와있음) 정적으로 해당 웹 자원을 읽어서 서블릿 클래스 일부로 만든다. 반면 지.. 2021. 10. 8.
tablib 생성 WEB-INF/tlds/custom.tld 이 위치에다가 taglib를 만들어주고 1.0 2.2 math square java.lang.Math double sqrt(double) jsp페이지에서 이렇게 선언한다음 사용할 수 있다. ${m:square(10000)} 2021. 10. 8.
Expression 언어 정의 익스프레션은 식이라고 지칭 식을 중심으로 코드를 기술하는 언어${age+1} == EL식에 포함된 데이터 이름은 XXXAttribute()의 형태로 해석 요청 페이지 : request.setAttribute("age" ,10); 응답페이지 EL :${age} 응답 페이지 expression: 기초문법 EL을 해석하는 처리 순서 1 >2>3>4 1. page ${pageScopre.age} => 현재화면 2. request ${requestScope.age} => A ---(요청)----> B 3. session ${sessionScope.age} A -> B-> C-> D (총 페이지의 연속적인 범위) 4. application ${applicationScope.age} Web container 전.. 2021. 10. 7.
Error Exception 처리 방법 기본 예외 처리 Try { } catch { }블럭 서블릿이나 ,JSP나 예외 상황이 없을 때와 발생할 때를 나눠서 분기 처리 해준다. try{ // 정상코드 }catch(Exception){ //오류 발생시 지정해 놓은 페이지로 이동 //요청을 그대로 이어가서 다른 페이지로 제어권을 넘기는 기술 RequestDispatcher rd = request.getRequestDispatcher("error.jsp"); //페이지를 이동시키는 것 rd.forward(req,res); forward를 통해 처리 } //응답 내용 간결한 처리 방식 JSP 페이지 지시자에 설정 //그 해당 페이지에 적음 //상세 에러를 다루진 못한다. 에러 상세 내용 출력 ex)error.jsp에 익션션 타입 별로 에러페이지 등록 .. 2021. 10. 7.
Session Session 의 정의 : session은 여러 컴포넌트(WEB 컨테이너에 존재하는 페이지)들이 협력 작업을 시작해서 끝날때까지의 기간을 의미한다. => 데이터의 연속적 유지 서블릿 클래스에서 세션 사용방법 세션을 만드는 쪽 HttpSession session=request.getSesstion(); session.setAttribute("name","홍길동"); => 키와 값을 부여 세션을 사용하는 쪽 HttpSession session=request.getSession(); String name=(String)session.getAttribute("name); => 키만 getAttribute로 구한다. JSP에서 세션 사용 세션을 만드는 쪽 //내장 객체로서 세션 객체 바로(doGet()/ doPo.. 2021. 10. 5.
Cookie 처리 기술 Cookie는 클라이언트 브라우저에 데이터를 저장하는 것 ex) 아이디저장 정의 ) 웹 컴포넌트 간에서 데이터 전달을 위해서 만든 기술 웹 브라우저 쪽에 데이터를 저장하고 읽어오는 방식 신규 작성 ) 쿠키 객체 하나로 표현되는 단위 데이터인 쿠키 생성 Cookie cook=new Cookie("name", "홍길동"); 쿠키 객체 하나로 표현되는 단위 데이터인 쿠키 생성 response.addCookie(cook); 서버 -> 클라이언트 ==응답 응답의 대표적인 객체 ==response 쿠키 데이터 읽기 코드 //쿠키 읽기 Cookies cookies[ ] =request.getCookies(); => 배열로 넣음 for(Cookie c: cookies){ //찾고자 하는 키 =searchName if(.. 2021. 10. 4.
JSP 라이프 사이클 JSP의 구동원리 JSP를 요청하면 서블릿으로 변환되어 메모리에 로드된 후 처리된다. => 요청이 들어왔을 때 jsp servlet가 없으면 jsp를 파싱해주고 만들어준다음에 로드하고 응답해준다. 초기화 메소드가 들어오며 jspInit()해준다. jspService에서 우리가 안에 작성한 코드가 실행되고 jspDestory에서 로드된다. 이런 코드가 있을 때 실행한다면 jsp 초기화 코드 호출 init만 출력된다. 그러나 out.println()을 또 다시 작성한다면 jsp 초기화코드호출init 와 jsp 초기화 코드종료 destory가 출력된다. 이유는 코드가 서로 다르기 때문에 서블릿이 바뀌어 리로드가 되기 때문에 destory가 실행되는 것이다. 전역변수 표현 JSP 내 스크립틀릿 코드는 모드 do.. 2021. 9. 29.