wsl ๋น์ฐํ ์๊ฒ ์ง๋ง, wsl์ ์ด๋ ๊ฒ ์ธ ์ ์๋์ง๋ ๋๋ ๋ฐฉ๊ธ ์ฒ์ ์์๋ค.์ง๊ธ๊น์ง wsl๋ฅผ ์ฐ๋ฉด ๊ทธ๋ฅ ์ฐ๋ฆฌ์ ํธ์คํธ ์ปดํจํฐ๋ ์์์ ํ ๋ถ๋ฆฌ๋ ๊ฐ์์ ํ๊ฒฝ์ด๋ผ๊ณ ์๊ฐํ๋๋ฐ ๊ทธ๊ฒ ์๋์๋ค.. ์ฐธ๊ณ ๋ก ์๋ /dev/sdc๊ฐ /์ /mnt/wslg/distro์ ๋ง์ดํธ๋์ด์๋ค๋ ์ด์ผ๊ธฐ์ใ ใ ํ์ผ์์คํ ๊ณต๋ถํ๋ค๊ฐ ๋ด ํ์ผ์์คํ ์ด ๋ญ์ง ๊ถ๊ธํด์ mount | grep ^/dev ๋ฅผ ์จ์ ๋ง์ดํธ๋ fs๋ค์ ๋ค ์ฐ์ด๋ณด์๋ค๊ทผ๋ฐ ์ ๋ฌ๋ฉด ์์ฒ๋ผ /dev๋ก ์์ํ๋ ์ ๋ค๋ง ๋์์ ๊ทธ๋ฅ grep ์ฃผ์ง๋ง๊ณ ๊ทธ๋ฅ mount๋ง ์งํํ๋๋ฐ ์์ฒญ ๊ธธ๊ฒ ๋ง ๋์ค๊ณ ๋งจ ์๋์ ๋ฐ ํ๋ฉด์ด ์ฐํ๋ค... ๊ทธ๋ฐ๋ฐ ๋ณด๋๊น ์๋์ฐ์์ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ C,D drive์์ใ ใ .. ๊ทธ๋์ ๊ถ๊ธํด์ /mnt/c๋ก ๊ฐ๋ดค๋ค... ๊ทผ๋ฐ ในใ ์ด ๋..
cat /proc/cpuinfo odroid@odroid:~$ cat /proc/cpuinfo processor : 0 BogoMIPS : 48.00 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x1 CPU part : 0xd05 CPU revision : 0 lscpu haeun@DESKTOP-8NK4D08:~$ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian Address sizes: 39 bits physic..
๋ ธ์ ์ ์ ๋ฆฌํ๋ ค๋ค๊ฐ ๊ทธ๋ฅ ๋ธ๋ก๊ทธ์ ์ ๋ฆฌํ๋ค.. ๊ฐ์๊ธฐ ์ด๊ฑธ ํ๋ ์ด์ ๋ ๋ฉ์์ ๋ํํ ํ๋ผ๊ณ ํ์ ์ผ์ด ์ค๋ ๋ ๊ด๋ จ์ด์ด์ ๋จผ์ ํ๋ก๊ทธ๋๋ฐํ๋ ๊ฒ์ข ์ ๋๋ก ์์๋ณด๊ณ ์ผ์ ํ๋ ค๊ณ ํ๋ค.. ์ฐธ๊ณ ๋ก pthread๊ด๋ จ ์ฒ๋ฆฌ๋ฅผ ํ ๋, 'undefined reference to `pthread_create' ์ด๋ฐ ์ค๋ฅ๊ฐ ๋ ์๋ ์๋๋ฐ, ์ด๊ฑธ ํด๊ฒฐํ๋ ค๋ฉด ์ปดํ์ผ ํ ๋ ์๋์ฒ๋ผ -lpthread ์ต์ ์ ์ถ๊ฐํด์ฃผ์ด์ผํ๋ค! gcc -o pthread pthread.c -lpthread pthread_create ํจ์ int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg); /* ์ฒซ๋ฒ..
/proc ๋ฆฌ๋ ์ค์๋ ์ปค๋๊ณผ ์ปค๋ ๋ชจ๋๋ก๋ถํฐ ํ๋ก์ธ์ค์๊ฒ ์ ๋ณด๋ฅผ ์ ์กํด์ฃผ๊ธฐ ์ํ ์ถ๊ฐ์ ์ธ ๋ฉ์นด๋์ฆ์ธ /proc ํ์ผ์์คํ ์ด ์๋ค. ์๋๋ ํ๋ก์ธ์ค ์ ๋ณด์ ์ฝ๊ฒ ์ ๊ทผํ ์ ์๊ธฐ ์ํด ๋ง๋ค์ด์ก๊ธฐ ๋๋ฌธ์ proc(process)๋ผ๋ ์ด๋ฆ์ ๊ฐ์ง๊ณ ์๋ค๊ณ ํ๋ค ํ๋ก์ธ์ค ์ ๋ณด ๋์ถฉ ์๋ฌด ํ๋ก์ธ์ค๋ ์คํํ๊ณ ์ด ์น๊ตฌ์ proc ๋๋ ํ ๋ฆฌ๋ฅผ ๊ฐ๋ณด๊ฒ ๋ค ์ด๋ ๊ฒ ์ฌ๋ฌ ์ ๋ณด๋ค์ ๋ด์ ๋๋ ํ ๋ฆฌ๊ฐ ์์ฑ์ด ๋๋ค /proc/[pid]/maps ์๋์ฒ๋ผ ๋ฉ๋ชจ๋ฆฌ ๋งคํ์ด ์ด๋ป๊ฒ ๋์ด์๋์ง ๋ณด์ฌ์ค๋ค /proc/[pid]/cmdline ํ๋ก์ธ์ค ์ธ์๋ฅผ ๋ด๋ ์ ๋ค! ์ฐ๋ฆฌ๋ ๋ฑํ ์ต์ ์ ์ฃผ์ง์์๊ธฐ ๋๋ฌธ์ ์๋์ฒ๋ผ ์ถ๋ ฅ๋๋ค /proc/[pid]/cwd ํด๋น ํ๋ก์ธ์ค๊ฐ ์คํ๋๊ณ ์๋ ๋๋ ํ ๋ฆฌ๋ฅผ ๋งํฌ๋ก ๊ฑธ์ด๋ ๊ฑฐ๋ค ์๋์ฒ๋ผ ๋๊ฐ์ด ์๊ฒผ๋ค /proc/..
#!/usr/bin/python3 from flask import Flask, request, render_template, abort from functools import wraps import requests import os, json users = { '0': { 'userid': 'guest', 'level': 1, 'password': 'guest' }, '1': { 'userid': 'admin', 'level': 9999, 'password': 'admin' } } def internal_api(func): @wraps(func) def decorated_view(*args, **kwargs): if request.remote_addr == '127.0.0.1': return func(*..
ํ๋ก์ธ์ค์์์ UID User ID(UID)๋ 32bit์ ์ ์๊ฐ! ์ด๊ฑธ๋ก user๋ฅผ ์๋ณ! ruid : Real User ID!! ์ฆ ์ด ํ๋ก์ธ์ค๋ฅผ '์์'ํ ์ ์ ์ ์์ด๋ euid : '๊ถํ ๊ฒ์ฌ'ํ ๋ ์ฌ์ฉ๋๋ id. ๋ณดํต์ ruid์ ๊ฐ๊ฒ ์ง๋ง SetUID๋นํธ ๋ฑ์ด ์ค์ ๋ ๊ฒฝ์ฐ, ํ์ผ ์์ ์์ ์์ด๋๋ก ๋ฐ๋. ๋ฐ๋ผ์ ์๋ฅผ root๋ก ๋ฐ๊พผ๋ค๋ฉด root๊ถํ์ผ๋ก ํ๋ก์ธ์ค๋ฅผ ์คํํ ์ ์๊ฒ ์ง suid : Saved User ID!! Privileged Process(๋ณดํต root๊ฐ ์คํํ ํ๋ก์ธ์ค)๊ฐ ๋ชจ์ข ์ ์ด์ ๋ก ๊ถํ์ ๋ฎ์ถฐ์ผํ์ง๋ง ๋ค์ ๋์์ฌ๋ ํ์ํ ์์ด๋ Non-root process๊ฐ ์์ ์ euid๋ฅผ ๋ฐ๊พธ๋ ค๊ณ ํ ๋, euid๋ ํ์ฌ์ ruid, euid, suid๋ก ๋ฐ์ ์ค์ ํ ์ ์์ eui..