Posts

Showing posts with the label 컴퓨터공부

[Linux/리눅스] setuid, setgid

Image
위에 있는 이미지를 보면 /etc/shadow 는 비밀번호가 저장되어 있는 파일입니다. 권한을 보면 일반 사용자는 아무런 권한이 없는 걸 확인할 수 있습니다. 그렇지만 passwd 명령어를 사용하면 비밀번호를 변경할 수가 있습니다. 비밀번호를 변경했다는 건 shadow 파일을 수정했다는 말인데, 권한도 없는데 어떻게 할 수 있었던 걸까요? 바로 그 이유는 setuid 덕분에 가능합니다. 1. setuid setuid는 파일을 실행했을 때, 일시적으로 파일 소유자의 권한을 사용할 수 있는 것 을 말합니다. 작업이 끝나면 권한은 원래대로 돌아옵니다. 위에 있는 이미지는 파일 소유자와 파일 소유 그룹을 root라고 가정하고, A라는 사용자가 파일을 실행했을 경우라고 생각해 보겠습니다. A라는 사용자는 Other에 해당하니까 other의 권한을 가지고 파일을 실행합니다. 그래서 Other 권한으로 작업을 수행하고 있다가 'setuid'를 만나면 User 권한으로 바뀌면서 User 권한으로 작업을 계속 수행합니다. 그러다가 작업을 다 마치면 원래대로 Other 권한으로 돌아오고 실행이 종료됩니다. 2. setgid 파일을 실행했을 때, 일시적으로 파일 소유 그룹의 권한을 사용할 수 있는 것 을 말합니다. 작업이 끝나면 권한은 원래대로 돌아옵니다. 3. setuid, setgid 설정 방법 파일 허가권은 3자리를 사용합니다. 여기서 제일 앞에 setuid를 설정하고 싶으면 4를 넣고, setgid를 설정하고 싶으면 2를 넣고, 둘 다 설정하고 싶으면 6를 넣으면 됩니다. 실행 권한이 없으면 대문자 S, 실행 권한이 있으면 소문자 s로 표시 됩니다. 예) chmod 4 000 ./aaa (aaa 파일에 setuid 설정 , 권한은 아무것도 없음 .) 예) chmod 6 444 ./bbb (bbb 파일에 setuid, setgid 설정 , 권한은 모두 읽기 .) 예) chmod 2 111 ./ccc (cc...

윈도우 쉘 - 기초 명령어

Image
1. 쉘 프로그래밍 윈도우에서는 배치 프로그램(*.bat), 리눅스에서는 쉘 스크립트(*.sh) command.com(cmd.exe), /bin/bash 등의 명령어 해석기를 사용한다. 명령어 해석기는 지정된 명령들을 순차적으로 실행한다. 반복되는 명령의 단순화를 통해 내장 명령어의 빠른 실행으로 효율성을 극대화한다. 쉘 프로그래밍을 통해 안전진단에서의 다양한 항목을 빠르게 점검이 가능하다. 2. 배치 프로그램 실행 콘솔창에서 실행 파일명 또는 실행 파일명.bat 으로 실행시킨다. 확장자를 생략할 수 있다. 3. 간단한 cmd 명령어 copy con a.bat 콘솔창에 입력한 값을 a.bat 파일에 덮어쓰기로 복사한다. ctrl+Z 눌린 후에 엔터를 눌린다. cd c:\ cd는 경로를 이동한다. dir /b 간결하게 파일명을 조회한다. type 123.txt 파일 내용을 출력한다. del 123.txt 파일을 삭제한다. pause 일시정지. cls 화면을 깨끗하게 지운다. date /t 날짜를 출력한다. 4. ECHO ECHO는 문자열을 출력하거나 명령어 반향을 설정한다. echo hello! 메모장에 echo hello! 를 입력하고 echo.bat 이라고 저장하여 cmd에서 실행한다. 그러면 입력한 명령어와 hello!를 같이 출력된다. @echo hello! 메모장에 @echo hello! 를 입력하고 echo.bat 이라고 저장하여 cmd에서 실행한다. 그러면 입력한 명령어는 생략하고, hello!만 출력된다. @echo. 공백으로 줄을 바꾸는 개행과 같다. @echo off @echo off 아래에 있는 내용들은 명령어는 생략하고, world!만 출력된다. 5. 변수 윈도우 쉘 프로그래밍에서는 환경변수를 변수화하여 사용한다. set 환경변수의 설정값을 볼 수 있다. set 변수명 : 변수 선언 %변수명% : 선언된 변수를 사용 se...

마우스 우클릭 드래그 방지

Image
1. 마우스 우클릭 방지 oncontextmenu="return false" 위에 있는 내용을 넣으면 마우스 우클릭을 사용할 수 없습니다. div에서도 사용할 수 있습니다. ■ 예시 <div style="width:300px; height:100px; border: solid 1px grey; background-color: #E9E9E9; text-align:center;" oncontextmenu="return false" > <p>이 공간에서는<br>마우스 우클릭이 안 됨.</p> </div > ■ 결과물 이 공간에서는 마우스 우클릭이 안 됨. 2. 마우스 드래그 방지 ondragstart="return false" 위에 있는 내용을 넣으면 이미지, 텍스트, 파일 같은 것을 옮길 때의 드래그가 금지됩니다. 드래그로 인한 영역 선택은 해당되지 않습니다. div에서도 사용할 수 있습니다. ■ 예시 이미지를 드래그해서 옆에 있는 사각형 박스로 옮겨보세요. 이 공간에서는 마우스 드래그 금지 로 이미지를 옮길 수 없음. 3. 영역 선택 방지 onselectstart="return false" 위에 있는 내용을 넣으면 마우스 드래그, 키보드로 이미지나 텍스트의 영역을 선택할 수 없습니다. div에서도 사용할 수 있습니다. ■ 예시 <div style="width:300px; height:100px; border: solid 1px grey; background-color: #E9E9E9; text-align:center;" onselectstart="return false" > <p>이 공간에서는<br>영역을 선택할 수...

[Linux/리눅스] 파일 허가권, 파일 소유권

Image
1. 파일 허가권 파일 허가권은 9개의 문자가 있는데 3개씩 끊어서 User(파일 소유자), Group(파일 소유 그룹), Other(소유자도 아니고, 그룹에도 속하지 않는 나머지 사람들) 로 나눕니다. User, Group, Other에서 권한 순서는 'rwx'입니다. ' r '(read)은 읽기 권한 , ' w '(write)는 쓰기와 수정 권한 , ' x '(execute)는 실행, 폴더 진입 권한 , ' - '는 권한 없음 을 의미합니다. 또한 'rwx'를 설정할 때는 숫자로 입력을 합니다. ' r '은 4 , ' w '은 2 , ' x '는 1 , ' - '는 0 으로 표기를 합니다. 위의 이미지를 보도록 할게요. User 부분를 보면 'rw-'라고 적혀 있죠? User에게는 읽기와 쓰기 권한을 주겠다는 의미입니다. -는 x의 권한이 있는 부분인데, -는 권한 없음이라고 했죠. 그러니까 x 권한은 안 주겠다는 걸 의미합니다. 이제 이걸 숫자로 표기해서 다 더하면 됩니다. r은 4, w는 2, -는 0이니까 4+2+0= 6 다음으로 Group 부분을 보면 'r--'라고 적혀 있네요. Group에게는 읽기 권한만 주고, 쓰기와 실행 권한은 안 주겠다는 의미입니다. 이걸 숫자로 표현하면 r은 4, -는 0, -는 0이니까 4+0+0 = 4 마지막으로 Other 부분을 보면 'r--'라고 적혀 있네요. Other에게는 읽기 권한만 주고, 쓰기와 실행 권한은 주겠다는 의미죠. 이걸 숫자로 표현하면 r은 4, -는 0, -는 0이니까 4+0+0 = 4 예시를 하나 더 들자면 'rwxrw---x' 이건 권한이 어떻게 될까요? 일단 3개씩 끊어서 User,Group,Other로 나눕니다. 하나씩 보도록 하죠. User 부분을 ...

포토샵 - Tolerance (허용치)

Image
[ Magic Wand Tool ] Tolerance(허용치) 는 클릭한 부분의 값을 기준으로 하여 Tolerance의 입력값을 +, - 한 값을 모두 같은 영역으로 인식합니다. Contiguous(인접) 는 같은 색이라도 클릭한 부분과 연결되어 있어야 선택 영역으로 지정합니다 알기 쉽게 아래의 예시를 보도록 합시다. 위에 있는 이미지는 색상에서 R값만 변경시킨 것으로 G,B값은 모두 0입니다. Tolerance : 50 Contiguous 설정 Tolerance 값을 50으로 설정하여 Magic Wand Tool로 R:200 영역에 한 번 클릭했을 때의 선택 영역 이미지입니다. 현재 기준 값이 R:200이므로 Tolerance 값 50을 더하고 빼면 R:150 ~ R:250까지를 같은 영역으로 간주하겠다는 의미입니다. 그래서 R:250 ~ R:150 영역까지 선택되었습니다. 보기 쉽게 선택 영역(R:250 ~ R:150)을 파란색으로 칠했습니다. 하얀색 글자는 RGB값이 모두 255라서 선택 영역에 포함되지 않습니다. R과 0 안에 있는 붉은색은 Contiguous(인접)를 설정한 상태라서 하얀색 글자로 인해 클릭한 부분과 연결되어 있지 않아서 선택 영역에 포함되지 않았습니다. Tolerance : 50 Contiguous 해제 색상은 R값만 변경시킨 것으로 G,B값은 모두 0입니다. 150, 0, 0과 같은 글자는 RGB 값을 순서대로 표기했습니다. Tolerance 값을 50으로 설정하여 Magic Wand Tool로 R:200 영역에 한 번 클릭했을 때의 선택 영역 이미지입니다. Contiguous를 해제하니 R, 0에 있던 붉은색도 모두 선택되었습니다. G, B도 Tolerance의 입력값을 더하고 뺀 값의 영향을 받습니다. 그러면 위에 있는 이미지를 예로 든다면 R:200, G:0, B:0 영역을 클릭했을 때 'R:150~250, G:0~50, G:0~50 범위라면 전부 같은 ...

[Linux/리눅스] 사용자·그룹 계정 생성, 수정, 삭제, 비밀번호 설정

Image
1. 사용자 계정 생성하기 useradd [option] [인자값] ... [계정명] adduser [option] [인자값] ... [계정명] ※마지막으로 사용한 id 숫자의 다음 숫자로 생성된다. 마지막으로 생성한 게 699번이었으면 700번으로 자동으로 생성된다는 의미이다. 예) useradd kim 예) useradd -u 701 -g student min (uid 701, 그룹명이 student인 min이라는 계정 생성한다.) 2. 사용자 계정 수정하기 usermod [option] [인자값] ... [계정명] 예) usermod -u 1005 -g teacher jo 예) usermod -l lee jo (usermod -l 바꿀이름 원래이름) 3. 사용자 계정 삭제하기 userdel [option] [계정] ※메일 박스는 /var/mail/ 또는 /var/spool/mail/ 에 있다. 예) userdel lee (/etc/passwd, /etc/shadow, /etc/group 파일만 변경됨. 메일 박스와 홈 디렉터리는 남아 있다.) 예) userdel -rf kim (전부 다 완전히 삭제한다.) 4. 비밀번호 설정하기 passwd [option] [계정명] 계정을 생성한 후 비밀번호를 설정하지 않으면 로그인을 할 수 없다. 예) passwd (현재 로그인한 계정의 비밀번호 변경한다.) 예) passwd abc (abc 계정의 비밀번호 설정 또는 변경한다.) 5. 그룹 생성하기 groupadd [option] [그룹명] 예) groupadd -g 1000 student (그룹 ID가 1000인 student라는 이름의 그룹을 생성한다.) 6. 그룹 수정하기 groupmod [option] [그룹명] 예) groupmod -n teacher student (student 그룹 이름을 teacher로 변경한다.) 7. 그룹 삭제하기 ...