'야매!개발'에 해당되는 글 43건

우분투에서 ftp server를 작동시키자...


일단 구굴링을 했죠~!

그런데 안됩니다.;;;; 이 죄인이 또 어떤 실수를 했나요 주인님~~????


이런 접속이 안된다.;;;;

뭐가 문제일까?

뭐가 문제지?


파일 질리 클라이언트로 접속아니께..~~~

chroot() 리스트를 읽을 수 없다고....에러를 뱉는군요...


응답: 331 Please specify the password.

명령: PASS ****

응답: 500 OOPS: could not read chroot() list file:/etc/vsftpd.chroot_list <--



holyhacker@spirit:/etc$ ls vsftpd.* -ls

4 -rw-r--r-- 1 root root   11  8월 16 13:05 vsftpd.chroot_list

8 -rw-r--r-- 1 root root 5676  8월 16 11:00 vsftpd.conf



vsftpd.chroot_list를 만들어줬더니..


잘 접속된다!!!


그렇구나..

vsftpd.chroot_list 에

holyhacker라고 지금 쓰고 있는 아이디를 적었더니..


아주 잘 접속이 됩니다.!!!


ㅎㅎㅎㅎ;;;;




상태: 10.2.X.XXX:21에 연결...

상태: 연결 수립, 환영 메시지를 기다림...

상태: 보안되지 않은 서버입니다. TLS를 통한 FTP를 지원하지 않습니다.

상태: 로그인

상태: 디렉터리 목록 조회...

상태: 서버의 시간대 오차 계산...

상태: 서버의 시간대 차이는 0초입니다.

상태: "/home/holyhacker" 디렉터리 목록 조회 성공


오~~~ ㅎㅎㅎ 되네요...주인님...


또...교만한 죄인을 용서하소서 주인님...



참고 URL

http://webdir.tistory.com/199

http://squall.kr/70




저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

안녕하세요

미친감자이여요..


오늘도 기술똥을 싸봅시다.

아니 기술방구를 껴봅시다.


오늘은 파일에 대해서 이야기 해고 싶어요..


ㅋㅋㅋ

리눅스에서 파일이란것 알고 계시죠?


파일요..


파일요?

영어로


file

에프

아이


서류더라구요..


영어사전을 찾아보니까요..


그런데 리눅스를 계속 보니께...


리눅스는 파일 그자체 같아요...


지금 네가 느끼는 아주 멍청한 생각으로 말이죠...



암튼..리눅스 그놈은 

그냥 파일입니다.

라고 무식한 선포를 해버립니다.


ㅋㅋㅋ


자. 그중에 


/proc


라고 하는 녀석을 

이번에 집중 스토킹해보겠습니다.


ㅋㅋㅋ


저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.


자...미친감자...리눅스에 대해서 아는대로 말해보게..~~


리눅스요?

그게 뭔가요?


허걱!!


역쉬마 미친감자 오늘도

맞을 소리를 하는군요..


오늘은


vi

라는 명령어를 입력하는

원시적 편집기란 녀석에 대해서 알아보죵..


vi에서

탭의 길이를 설정하는 명령어는?


:set ts=4


입니다.


오늘은 여기까지..


:set ts=


라는 것 꼭 기억해주세요~~

ㅎㅎㅎㅎ



저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

Tag Tab, vi

BBC는 영국 공영 방송국 아닌가?

British Broadcasting Corporation

방송국에서 왜

이런것을 뿌리는 거지?

그럼 우리 KBS도 이런 것을 뿌리는 것인가?


그런데 한글 기사를 보니

이런 전략 때문에 ...

100만대를 무료로 그냥 뿌린다고 한다.


좀 더 어린 나이 때부터 프로그래밍을 접할 수 있도록 하기 위해서란다~!



아이들이 좋아할 것 같을까요?

음...

좀더 귀여워야 할 것 같은데


영국 아이들은
귀여운것을 별로 안좋아하는 건가요?


암튼~~~






[출처]

http://techneedle.com/archives/25925

http://arstechnica.co.uk/gadgets/2016/03/bbc-micro-bit-now-available-million-students/



저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

Tag micro bit




gdb에서 심볼파일을 로드하는 명령은

“file”이다.





위와 같이 하면 됩니다.

이것도 몰랐나?

그래요

몰랐습니다...


이제 리눅스의 시대가 점점더

넓어질 것입니다.


리눅스 커널은 지구랑 같이 갈것 같습니다.



저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

Tag gdb, Linux

환경변수...

윈도우는

set

이라는 명령으로 확인이 가능하죵~~!



C:\Users\Jesus001>set

ALLUSERSPROFILE=C:\ProgramData

APPDATA=C:\Users\Jesus001\AppData\Roaming

asl.log=Destination=file

CLIENTNAME=LITTLEJESUS-PC

CommonProgramFiles=C:\Program Files\Common Files

CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files

CommonProgramW6432=C:\Program Files\Common Files

COMPUTERNAME=JESUS001-PC

ComSpec=C:\Windows\system32\cmd.exe

DXSDK_DIR=C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\

FP_NO_HOST_CHECK=NO

HOMEDRIVE=C:

HOMEPATH=\Users\Jesus001

LOCALAPPDATA=C:\Users\Jesus001\AppData\Local

LOGONSERVER=\\JESUS001-PC

NUMBER_OF_PROCESSORS=8

OS=Windows_NT

Path=C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86

(x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files (x86)\Microsoft SQL Server\90\Tool

ft DNX\Dnvm\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\P

PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

PROCESSOR_ARCHITECTURE=AMD64

PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel

PROCESSOR_LEVEL=6

PROCESSOR_REVISION=2a07

ProgramData=C:\ProgramData

ProgramFiles=C:\Program Files

ProgramFiles(x86)=C:\Program Files (x86)

ProgramW6432=C:\Program Files

PROMPT=$P$G

PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\

PUBLIC=C:\Users\Public

SESSIONNAME=RDP-Tcp#0

SystemDrive=C:

SystemRoot=C:\Windows

TEMP=C:\Users\Jesus001\AppData\Local\Temp

TMP=C:\Users\Jesus001\AppData\Local\Temp

USERDOMAIN=Jesus001-PC

USERNAME=Jesus001

USERPROFILE=C:\Users\Jesus001

VBOX_MSI_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\

VISUALKERNEL_DIR=C:\Program Files (x86)\Sysprogs\VisualKernel\

VISUALSVN_SERVER=C:\Program Files\VisualSVN Server\

VS140COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\

VS80COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\

windir=C:\Windows

windows_tracing_flags=3

windows_tracing_logfile=C:\BVTBin\Tests\installpackage\csilogfile.log


set

이라는 명령으로...

설정도 할 수 있고..

확인도 할 수 있습니다.



C:\Users\Jesus001>set /?

cmd.exe 환경 변수를 보여주거나 설정하거나 지웁니다.


SET [변수=[문자열]]


 변수      환경 변수 이름을 지정합니다.

 문자열    변수에 할당할 문자열을 지정합니다.


매개 변수 없이 'SET'이라고 입력하면, 현재 환경 변수를 볼 수 있습니다


명령 확장을 사용하면 SET는 아래와 같이 바뀝니다.


SET 명령은 변수 이름만으로 호출되며, = 기호나 값으로

그 변수의 값을 표시하지는 않습니다. 예를 들어,


   SET P


는 문자 'P'로 시작되는 모든 변수를 표시합니다.


SET 명령은 변수 이름을 현재 환경에서 찾을 수 없으면

ERRORLEVEL을 1로 설정합니다.


SET 명령에서는 환경 변수 이름에 = 기호를 사용할 수 없습니다.


SET 명령에는 아래와 같이 새로운 두 개의 스위치가 추가됩니다.


   SET /A 표현식

   SET /P 변수=[promptString]


/A 스위치는 = 기호의 오른쪽에 있는 문자열이

수식임을 지정합니다. 이는 계산되어 문자열로 변환되거나

지정한 변수의 새 값으로 만들어진 결과입니다.

표현식 평가기는 매우 간단하며 아래 연산을 지원합니다.


   ()          - 그룹 짓기

   ! ~ -               - 단일 연산자

   * / %               -  산술 연산자

   + -                 - 산술 연산자

   << >>               - 논리 이동

                      - 비트단위 and

   ^                   - 비트단위 상호 배제 or

   |                   - 비트단위 or

   = *= /= %= += -=    - 할당

     &= ^= |= <<= >>=

   ,                   - 식 구분 기호


논리 연산자를 사용하면 표현식 문자열을 인용 부호로 묶어야

합니다.  표현식에서 숫자가 아닌 문자열은 환경 변수 문자열로

취급하며, 그 값은 사용하기 전에 숫자로 변환됩니다. 환경 변수 이름이

지정되었지만 현재 환경에서 정의되지 않았으면 0 값이 사용됩니다.

이렇게 하면 환경 변수 값을 가져오기 위해 % 기호를

모두 입력할 필요 없이 환경 변수 값으로 산술 연산을 수행할 수

있습니다. 명령 스크립트 밖의 명령줄에서 SET /A를 실행하면,

표현식의 마지막 값이 표시됩니다. 할당 연산자의 왼쪽에

환경 변수 이름이 있어야 합니다.  숫자 값은 아무 접두어가 없으면

십진수이며, 접두어 0x는 16진수, 0은 8진수를

나타냅니다. 그러므로 0x12, 18은  022와 같습니다.

8진수는 혼동될 수 있다는 것에 주의하십시오: 08과 09는

8, 9가 올바른 8진수가 아니므로 잘못된 수 입니다.


/P 스위치는 변수의 값을 사용자가 입력한 입력 줄에 설정하도록

계속하려면 아무 키나 누르십시오 . . .



set에 대한 도움말입니다.^^

자...

리눅스에서는

환경변수를 확인할 수 있는 방법이 뭘까요?


export라는 놈입니다.



test@ubuntu:~/linux-2.6/arch/arm/boot$ export

declare -x HOME="/home/test"

declare -x LANG="en_US.UTF-8"

declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"

declare -x LESSOPEN="| /usr/bin/lesspipe %s"

declare -x LOGNAME="test"

declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:"

declare -x MAIL="/var/mail/test"

declare -x OLDPWD="/home/test/linux-2.6/arch/arm"

declare -x PATH="/home/test/CodeSourcery/Sourcery_G++_Lite/bin:/home/test/qemu_test/qemu_linux_arm_busybox:/home/test/CodeSourcery/Sourcery_G++_Lite/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

declare -x PWD="/home/test/linux-2.6/arch/arm/boot"

declare -x SHELL="/bin/bash"

declare -x SHLVL="1"

declare -x SSH_CLIENT="192.168.33.1 11587 22"

declare -x SSH_CONNECTION="192.168.33.1 11587 192.168.33.129 22"

declare -x SSH_TTY="/dev/pts/3"

declare -x TERM="xterm"

declare -x USER="test"

declare -x XDG_SESSION_COOKIE="047d2460b37629d8f1d4034400000004-1455504899.214975-1581490371"


음...

음..설정은 어떻게 할까요?




$ export TEST=micingamza

이렇게 하니까...



test@ubuntu:~/linux-2.6/arch/arm/boot$ export

declare -x HOME="/home/test"

declare -x LANG="en_US.UTF-8"

declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"

declare -x LESSOPEN="| /usr/bin/lesspipe %s"

declare -x LOGNAME="test"

declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:"

declare -x MAIL="/var/mail/test"

declare -x OLDPWD="/home/test/linux-2.6/arch/arm"

declare -x PATH="/home/test/CodeSourcery/Sourcery_G++_Lite/bin:/home/test/qemu_test/qemu_linux_arm_busybox:/home/test/CodeSourcery/Sourcery_G++_Lite/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

declare -x PWD="/home/test/linux-2.6/arch/arm/boot"

declare -x SHELL="/bin/bash"

declare -x SHLVL="1"

declare -x SSH_CLIENT="192.168.33.1 11587 22"

declare -x SSH_CONNECTION="192.168.33.1 11587 192.168.33.129 22"

declare -x SSH_TTY="/dev/pts/3"

declare -x TERM="xterm"

declare -x TEST="micingamza"

declare -x USER="test"

declare -x XDG_SESSION_COOKIE="047d2460b37629d8f1d4034400000004-1455504899.214975-1581490371"


자 보세요...

declare -x TEST=”micingamza”

가 보이시죠^^???


자...

사용해볼까요^^?


test@ubuntu:~/linux-2.6/arch/arm/boot$ echo $TEST

micingamza

음..

자...

echo 라는 명령으로

확인할 수 있어요


$TEST라는 환경변수를

찍어라는 명령인거죠~~!!!

후후후






저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.


EBS 코딩 교육관련된 동영상이다.... 음... 영국은 코딩을 유치원까지 의무교육으로 선언했다고^^? 오~~!!! 이제 유치원생들도 코딩이 즐겁게 느껴져야 한다... 그러기 위해서는 율동하듯이, 몸으로 알고리즘을 개발을 컴퓨터를 표현할 수 있어야 한다... 라고 미친감자는 생각합니다.^^




허거든 코딩이란 코드를 꽂는건가요^^?

ㅎㅎㅎㅎ

이건 내 스타일인데...






버락 오바바 미국 대통력은

코딩을 배우는 것이 여러분과 미국의 미래에 굉장히 중요함을 강조하고 있군요..

















이제..코딩은...

예날...

수학을 학교에 도입한 것과 마찬가지라고 

동영상은 말하고 있는 것 같네요^^



와우~~~진진한데~~!!! 멋지다!!!

초등학생의 모습이 이렇게 멋있을 수가~~!!!


마이크로비트로 교육중인 영국유치원생들^^?


이게 마이크로 비트라는데^^

저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

QEMU

도대체 어떻게 발음해야 하는거야?




결국..

큐엠유?

queue-em-yoo

???

난 '캐무'라고 했었는데...

'큐엠유' 이상하다

ㅎㅎㅎㅎ

어색해다...

ㅎㅎㅎ



[참고]

http://stackoverflow.com/questions/19761444/how-would-you-pronounce-qemu




저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

Tag qemu, 발음

사진을 자동으로 잘라주는 웹서비는 없나?

아니면 배경을 자동으로 제거해주는 곳 말입니다.



사진을 만화톤으로 바꿔주는 사이트는 발견하였다.


https://www.befunky.com/create/


그렇다면.

사진의 객체를 자동으로 인식하여 잘라주는 웹서비는 없단 말인가?


https://burner.bonanza.com/


이렇게 자동 분석을 돌리고 나면..


여기까지는 자동을 잘라주기는 한데..

수동으로 사람이 처리를 해줘야 하는군요..


위와 같이 배경을 제거한

강백호를 만들 수 있게 됩니다...

^^

좋죠~~~~

끝내주죠~~~


오늘은 여기까지....^^!




저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

미친식빵...

미친감자에게..

다짜고짜...

라즈베리파이에 OS를 설치하라고 한다.

제가요? 왜요?

라고 미친감자 황당해 한다.

하지만..

구글링을 해본다...

ㅋㅋㅋ


https://www.raspberrypi.org/downloads/raspbian/

에 들어가서 보면 됩니다.

그런데...


  • RASPBIAN JESSIE

  • RASPBIAN JESSIE LITE

  • RASPBIAN WHEEZY

음..

3종류가 있군요...

일단 ..LITE를 설치하겠습니다.


다운 받겠습니다.


제시 라이트를 일단 받겠습니다.



이런데...사이즈가 꽤 크네요

제가 가지고 있는

SD카드가 900메가 정도 밖에 되질 않습니다.



음 참고로.. RASPBIAN JESSIE의 크기를 확인해보겠습니다.

제씨는...lite를 받았는데도...

사이즈가 3.66G나 되네요...



Raspbian Jessie Lite는

압축파일은

약 383M바이트인데..

압축을 푸니까...

1.35G바이트가 되는군요..


결국 제 SD크드에는 저장할 수 없겠네요..제 SD카드 용량이 1G바이트 짜리입니다.



그런데...

갑자기 궁금한게 있어요

라지베리파이 커널소스는 어디에서 배포하는 것이고

그 커널을 바꾸는 방법은 없나요?





음...


이전에 받아놓았던

NOOBS

를 설치해야 겠네요

왜냐하면

그때 받아놓은

NOOBS는

744M바이트이면 됩니다.^^



아..죄송합니다.

아니였네요...


음...

자 복사를 했습니다.

어떻게 잘 부팅되는지만 확인해볼께요~~~



이렇게 파일만 SD카드에 복사해주면 될 줄 알았는데

이런;;;;

화면에 아무것도 나오질 않는다...


이런 이런..

그래서 구글링...


http://minimonk.net/5376

에서..

SD카드를 포맷해주는 툴을 사용하란다;;;


FORMAT SIZE ADJUSTMENT를 ‘ON’으로 해주고

포맷을 하랍니다.


크기를 고정시킨다?

음...


일단 다시해보겠습니다.


이런;;왠걸...

용량이 약 8G짜리였네요...

저는 1G짜리인 줄 알았는디;;;;;


ㅎㅎㅎㅎ


자...

다시..

NOOBS를 다시 복사해보겠습니다.



복사중~~~~~

음...

그런데 내가 엄청난 실수를 해버렸다..



음..SD카드에..복사를 했는데...

화면에 아무것도 나오질 않는군요;;;

흐...


제가 잘못을 했습니다.


음...SD카드를 저 곳에 꽂는게 아닌것 같네요;;;


ㅎㅎㅎ;;;

보드 뒷면에 SD카드를 꽂는 슬롯이 있었네요;;

흐..

이제 잘 되는지 확인해보죠...


흐...

드디어 라즈베리안을 설치하는 화면이 나왔습니다.



저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

DAC

Discretionary Access Control




discretionary


디스크래서내리

/dɪˈskrɛʃ əˌnɛr i/


자유재량...



dis·cre·tion·ar·y


dis·cre·tion

디스~크레~션~


1250년 정도에 사용하기 시작한 단어이군요..

Late Latin 후기 라틴?

Middle English 중세 영어?

Anglo-Frech 안글로 프랑스?

라틴, 영국, 프랑스 동시에 사용했던 언어라... (아니~~~~~이럴 수가~~~)

라틴어 영어 프랑스에서 동시에 사용할 수 있는 단어가 있단 말인가?




noun

1.

the power or right to decide or act according to one's own judgment; freedom of judgment or choice:

It is entirely within my discretion whether I will go or stay.

2.

the quality of being discreet, especially with reference to one's own actions or speech;prudence or decorum:

Throwing all discretion to the winds, he blurted out the truth.



자유로운 결정인데..

점잔하고 신중하게..


재량이란 한자가 가장 잘 어울리는 단어인것 같다.



재량2 (裁量) [재량]

[명사]

1. 자기의 생각과 판단에 따라 일을 처리함.

2. <법률> [같은 말] 자유재량(2. 행정청이 공익이나 행정의 목적에 보다 적합한 것이 무엇인지를 판단하는 행위).




디스크레셔네리~~


인터넷에서 뒤져서 나온 그림

discretionary 관련 그림;;;

Link : https://c1.staticflickr.com/1/569/22196166203_dd812d92b2_b.jpg



음...

리눅스에서는 파일에 권한을 설정할 수 있어요^^



[root@localhost ~]# ls -la

total 127648

dr-xr-x---. 27 root root      4096 Dec 18 11:01 .

dr-xr-xr-x. 20 root root      4096 Dec  7 20:40 ..

-rw-------.  1 root root      1351 Dec  4 14:35 anaconda-ks.cfg

-rw-------.  1 root root     18599 Dec 23 15:18 .bash_history

-rw-r--r--.  1 root root        18 Jun 19  2015 .bash_logout

-rw-r--r--.  1 root root       176 Jun 19  2015 .bash_profile

-rw-r--r--.  1 root root       176 Jun 19  2015 .bashrc

drwxr-xr-x. 16 root root      4096 Dec  4 19:21 buildroot

drwx------. 13 root root      4096 Dec 11 16:42 .cache

drwxr-xr-x.  8 root root      4096 Nov 11 09:00 ccs-tools

drwx------. 15 root root      4096 Dec 11 16:41 .config

-rw-r--r--.  1 root root       100 Jun 19  2015 .cshrc

drwx------.  4 root root      4096 Dec 18 20:07 .ddd



ls -la

라는 명령을 내리면


리눅스는

현재 디렉토리의 모든 파일의 권한을 표시해주죠~~



[root@localhost ~]# ls -la

total 127648

dr-xr-x---. 27 root root      4096 Dec 18 11:01 .




dr-xr-x---

이게 파일이 속성과 권한을 나타내는 거죠~~


[속성]

d : 디렉토리 속성


[권한]

r : 읽기권한 가지고 있음(read)

x : 실행권한 가지고 있음(execution)

w : 쓰기권한 가지고 있음(write)


이렇게 파일에 대해서만.......위 3가지권한을 지정하는 것을

DAC라고 말해요

D

D

D

Discretionary

디스크래션래리...재량..

접근제어(Access Control)

이라고 하죠~!


파일 소유자권한/그룹권한/다른사용자 권한

을 지정 하는 것입니다.


이런데 이것만 가지고는 헛점이 생기는게 문제이니다.


예를 들면,

root 이면...

모든 것을 다할 수 있는데


DAC로는 root의 권한을

제어할 수 없는게 문제죠~~!


그래서, 이 파일에 대해서만 접근제어를 하는 것 보다


더 엄격한 접근제어를 할 수 있는 기능인


MAC(Mandatory Access Control)이

나오게 된 것입니다.


MAC는 보통 Kernel Object에 대한 접근 제어를 할 수 있어요

그래서 Kernel Object가 생성되는

시점에..

제어를 할 수 있는 기회를 준답니다.


SELinux

TOMOYO

AppAmor

등...

다양한


MAC방법이 있습니다.

하지만

복잡합니다.

;;;;



[참고]

https://en.wikipedia.org/wiki/Discretionary_access_control

http://dictionary.reference.com/browse/prudence



저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

터닝메카드...

리눅스에

계정을 추가해~~


계정~~


계정을 말이다~~!!


흐흐흐

웃기는 꼬마구나....

그게 그렇게 쉬운줄 아냐?~~~


쉽지...

어디서 어렵다고

구라냐~~


자..

내가 보여주겠다...

리눅스에 계정을 추가하는 모습을~~~!!!


자 그냥

useradd

를 치면된다고~~!!



유저에드


[root@localhost ~]# useradd test2

[root@localhost ~]# cat /etc/passwd | grep test2

test2:x:1002:1002::/home/test2:/bin/bash



test2 라는 계정을 추가했습니다.

그랬더니

/etc/passwd라는 파일에

test2라고 하는 항목이 추가되었어요~~!!


이렇게요~~!!


test2:x:1002:1002::/home/test2:/bin/bash

아~

봐도 모르겠다~~!!

1002는 또 뭐야?

/home/test2는

사용자 홈 디렉토리 같군~~!!


/bin/bash

는 또 뭐야?


아..머리 아파..

오늘은 여기까지~~!!





저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

너는 뭐냐?

busybox~~

~~

비즈박스는 뭐죠?

대대체...비즈박스만 나와요..

심지어 init도..

exe의 경로는

/bin/busybox

로만 나옵니다..

왜그러는거죠?


# pwd

/proc/1

# ls -la exe

lrwxrwxrwx    1 root     root             0 Dec 15 05:39 exe -> /bin/busybox




음...

그래서 /sbin/init의

실체를 확인해보았습니다.


# ls -la /sbin/init

lrwxrwxrwx  1 root   root        14 Dec  4 08:44 /sbin/init -> ../bin/busybox


아니 이런;;;

/sbin/init은~~

‘../bin/busybox’

의 링크였군요~~!!

이런 이런

심지어

모든 파일이 다...

busybox에 링크되어 있었습니다.

;;;;


# cd /bin

# ls -la

total 550

drwxr-xr-x    2 root     root          2048 Dec  4 10:22 .

drwxr-xr-x   18 root     root          1024 Dec  4 10:22 ..

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 ash -> busybox

-rwsr-xr-x    1 root     root        555868 Dec  4 10:22 busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 cat -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 catv -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 chattr -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 chgrp -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 chmod -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 chown -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 cp -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 cpio -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 date -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 dd -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 df -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 dmesg -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 dnsdomainname -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 dumpkmap -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 echo -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 egrep -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 false -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 fdflush -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 fgrep -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 getopt -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 grep -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 gunzip -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 gzip -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 hostname -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 kill -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 linux32 -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 linux64 -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 ln -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 login -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 ls -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 lsattr -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 mkdir -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 mknod -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 mktemp -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 more -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 mount -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 mountpoint -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 mt -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 mv -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 netstat -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 nice -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 pidof -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 ping -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 pipe_progress -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 printenv -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 ps -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 pwd -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 rm -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 rmdir -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 run-parts -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 sed -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 setarch -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 setserial -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 10:22 sh -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 sleep -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 stty -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 su -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 sync -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 tar -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 touch -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 true -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 umount -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 uname -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 usleep -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 vi -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 watch -> busybox

lrwxrwxrwx    1 root     root             7 Dec  4 08:44 zcat -> busybox



[참고]

http://manpages.ubuntu.com/manpages/precise/man1/busybox.1.html




저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

명령한다...


사진출처는 : http://cs.kumoh.ac.kr/fb/61776

이곳이라고 합니다.


이 사진을 보고

Vi를 공부합니다.


저자권 주장하시면 바로 내리겠습니다.^^


명령모드로 바꿔...


ESC를 누르면..명령모드로 변경...



오늘 익힐 Vi 명령은

대문자 ‘J


J

를 누르면..

밑에 있는 행과 한줄이 됩니다..



--------



저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

리눅스에서

qemu를 실행시킬려면..


root file system 이미지를 어떻게든 만들어줘야 합니다.


그런데

root file system을 만드는 방법은

이세상에 아주 많을 것입니다.


그 중 현재까지 제가 알아낸 방법중...

genext2fs 라는 녀석을 이용하는 방법에 대해서


설명해 볼까 해요~~


일단.


소스를 받아 옵니다.


어디에서?


여기에서요^^


http://sourceforge.net/projects/genext2fs/files/latest/download?source=typ_redirect



자. 리눅스에서는

wget명령어로

다음과 같이 받아와 버렸습니다.^^


그리고

성공하면..다음과 같이 파일이 생기고요~~


[root@localhost tmp]# ls -la

total 116

drwxr-xr-x.  3 root root   4096 Dec  7 17:04 .

dr-xr-x---. 12 root root   4096 Dec  7 17:04 ..

drwxrwsrwx.  3 test test   4096 Apr 20  2007 genext2fs-1.4.1





[root@localhost tmp]# tar xvzf genext2fs-1.4.1.tar.gz



압축을 풀어주고요~~~


이제 컴파일을 하면 됩니다.~~~!!!



[root@localhost genext2fs-1.4.1]# ls -la

total 464

drwxrwsrwx. 3 test test   4096 Apr 20  2007 .

drwxr-xr-x. 3 root root   4096 Dec  7 17:04 ..

-rw-rw-r--. 1 test test  31120 Apr 20  2007 aclocal.m4

-rw-r--r--. 1 test test     38 May  3  2001 AUTHORS

-rw-r--r--. 1 test test     82 Nov 22  2004 ChangeLog

-rw-rw-r--. 1 test test   3782 Apr 20  2007 config.h.in

-rwxrwxr-x. 1 test test 206164 Apr 20  2007 configure

-rw-r--r--. 1 test test   1040 Apr 20  2007 configure.in

-rw-r--r--. 1 test test  17992 May  3  2001 COPYING

-rwxr-xr-x. 1 test test  15936 Jan  7  2007 depcomp

-rw-r--r--. 1 test test   2979 May 13  2005 device_table.txt

-rw-r--r--. 1 test test   5179 Dec  1  2006 genext2fs.8

-rw-r--r--. 1 test test  72491 Mar 26  2007 genext2fs.c

-rw-r--r--. 1 test test    180 Jan  2  2007 INSTALL

-rwxr-xr-x. 1 test test   9233 Jan  7  2007 install-sh

drwxrwsrwx. 2 test test   4096 Apr 20  2007 m4

-rw-r--r--. 1 test test    227 Feb  1  2007 Makefile.am

-rw-rw-r--. 1 test test  21436 Apr 20  2007 Makefile.in

-rwxr-xr-x. 1 test test  11014 Jan  7  2007 missing

-rw-r--r--. 1 test test    182 Apr 20  2007 NEWS

-rw-r--r--. 1 test test    430 May 18  2005 README

-rw-r--r--. 1 test test   1377 Jan  2  2007 test-gen.lib

-rwxr-xr-x. 1 test test   2175 Jan  2  2007 test-mount.sh

-rwxr-xr-x. 1 test test   1939 Dec  1  2006 test.sh

-rw-r--r--. 1 test test    183 Dec  1  2006 TODO



소스의 압축을 풀면 ...

저런 것들(^^)이 보일 것입니다.^^


이중에

./configure

를 실행시켜줘야 합니당~~!

[root@localhost genext2fs-1.4.1]# ./configure

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

checking for gcc... gcc

checking for C compiler default output file name... a.out

checking whether the C compiler works... yes

checking whether we are cross compiling... no

checking for suffix of executables...

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ISO C89... none needed

checking for style of include used by make... GNU

checking dependency style of gcc... gcc3

checking for a BSD-compatible install... /usr/bin/install -c

checking for dirent.h that defines DIR... yes

checking for library containing opendir... none required

checking how to run the C preprocessor... gcc -E

checking for grep that handles long lines and -e... /usr/bin/grep

checking for egrep... /usr/bin/grep -E

checking for ANSI C header files... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking whether sys/types.h defines makedev... yes

checking fcntl.h usability... yes

checking fcntl.h presence... yes

checking for fcntl.h... yes

checking for inttypes.h... (cached) yes

checking limits.h usability... yes

checking limits.h presence... yes

checking for limits.h... yes

checking for memory.h... (cached) yes

checking stddef.h usability... yes

checking stddef.h presence... yes

checking for stddef.h... yes

checking for stdint.h... (cached) yes

checking for stdlib.h... (cached) yes

checking for string.h... (cached) yes

checking for strings.h... (cached) yes

checking for unistd.h... (cached) yes

checking libgen.h usability... yes

checking libgen.h presence... yes

checking for libgen.h... yes

checking getopt.h usability... yes

checking getopt.h presence... yes

checking for getopt.h... yes

checking for an ANSI C-conforming const... yes

checking for uid_t in sys/types.h... yes

checking for inline... inline

checking for size_t... yes

checking for ssize_t... yes

checking for struct stat.st_rdev... yes

checking for getopt_long... yes

checking for getline... yes

checking for strtof... yes

checking for snprintf... yes

checking for vsnprintf... yes

checking for working snprintf... yes

checking for working vsnprintf... yes

checking for stdlib.h... (cached) yes

checking whether scanf can malloc... yes

configure: creating ./config.status

config.status: creating Makefile

config.status: creating config.h

config.status: executing depfiles commands

config.status: executing default commands



이렇게 하면...


./config.status

라는 녀석(파일)이 생깁니다.

이것을 다시 실행해면 ~~~


[root@localhost genext2fs-1.4.1]# ./config.status

config.status: creating Makefile

config.status: creating config.h

config.status: config.h is unchanged

config.status: executing depfiles commands

config.status: executing default commands



Makefile을

만듭니다...

그러면 이제 make를 하면 되겠죠^^!!!

이걸 몰랐네요...

ㅋㅋㅋㅋㅋ

리눅스 무식자여~~~;;;흐흐흐


[root@localhost genext2fs-1.4.1]# make

make  all-am

make[1]: Entering directory '/root/tmp/genext2fs-1.4.1'

if gcc -DHAVE_CONFIG_H -I. -I. -I.     -g -O2 -MT genext2fs.o -MD -MP -MF ".deps/genext2fs.Tpo" -c -o genext2fs.o genext2fs.c; \

then mv -f ".deps/genext2fs.Tpo" ".deps/genext2fs.Po"; else rm -f ".deps/genext2fs.Tpo"; exit 1; fi

gcc  -g -O2   -o genext2fs  genext2fs.o

make[1]: Leaving directory '/root/tmp/genext2fs-1.4.1'



자 make까지 성공!!!


이제 genext2fs 라는 파일이 생겼겠죠^^?



[root@localhost genext2fs-1.4.1]# ls -la

total 844

drwxrwsrwx. 4 test test   4096 Dec  7 17:10 .

drwxr-xr-x. 3 root root   4096 Dec  7 17:04 ..

-rw-rw-r--. 1 test test  31120 Apr 20  2007 aclocal.m4

-rw-r--r--. 1 test test     38 May  3  2001 AUTHORS

-rw-r--r--. 1 test test     82 Nov 22  2004 ChangeLog

-rw-r--r--. 1 root test   4027 Dec  7 17:06 config.h

-rw-rw-r--. 1 test test   3782 Apr 20  2007 config.h.in

-rw-r--r--. 1 root test  20670 Dec  7 17:08 config.log

-rwxr-xr-x. 1 root test  30687 Dec  7 17:06 config.status

-rwxrwxr-x. 1 test test 206164 Apr 20  2007 configure

-rw-r--r--. 1 test test   1040 Apr 20  2007 configure.in

-rw-r--r--. 1 test test  17992 May  3  2001 COPYING

-rwxr-xr-x. 1 test test  15936 Jan  7  2007 depcomp

drwxr-sr-x. 2 root test   4096 Dec  7 17:10 .deps

-rw-r--r--. 1 test test   2979 May 13  2005 device_table.txt

-rwxr-xr-x. 1 root test 114860 Dec  7 17:10 genext2fs

-rw-r--r--. 1 test test   5179 Dec  1  2006 genext2fs.8

-rw-r--r--. 1 test test  72491 Mar 26  2007 genext2fs.c

-rw-r--r--. 1 root test 174080 Dec  7 17:10 genext2fs.o

-rw-r--r--. 1 test test    180 Jan  2  2007 INSTALL

-rwxr-xr-x. 1 test test   9233 Jan  7  2007 install-sh

drwxrwsrwx. 2 test test   4096 Apr 20  2007 m4

-rw-r--r--. 1 root test  21165 Dec  7 17:08 Makefile

-rw-r--r--. 1 test test    227 Feb  1  2007 Makefile.am

-rw-rw-r--. 1 test test  21436 Apr 20  2007 Makefile.in

-rwxr-xr-x. 1 test test  11014 Jan  7  2007 missing

-rw-r--r--. 1 test test    182 Apr 20  2007 NEWS

-rw-r--r--. 1 test test    430 May 18  2005 README

-rw-r--r--. 1 root test     23 Dec  7 17:08 stamp-h1

-rw-r--r--. 1 test test   1377 Jan  2  2007 test-gen.lib

-rwxr-xr-x. 1 test test   2175 Jan  2  2007 test-mount.sh

-rwxr-xr-x. 1 test test   1939 Dec  1  2006 test.sh

-rw-r--r--. 1 test test    183 Dec  1  2006 TODO




흐...생겼네요~~~

genext2fs!!!!


이런 이런...

왜 난 몰랐을까?


./configure -->./config.status --> make

를 하면 된다는 것을~~~


흐흐흐

리눅스 초보 미친감자여~~

화이팅





저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

미친감자~~

지금 뭐하는 건가?

몇주를 리눅스 커널 디버깅한다고 저러고 있나?



그러게 말입니다.



다시 전략을 바꾸었습니다.


QEMU라는 녀석을 이용할 것입니다.




[root@localhost ~]# dnf install qemu

Last metadata expiration check performed 2:21:43 ago on Tue Dec  1 19:04:26 2015.

Dependencies resolved.



Upgraded:

 qemu-common.i686 2:2.4.1-1.fc23  qemu-img.i686 2:2.4.1-1.fc23  qemu-kvm.i686 2:2.4.1-1.fc23  qemu-system-x86.i686 2:2.4.1-1.fc23


Complete!


이렇게 QEMU를 설치하였다…


자…

이제 바로 사용할 수 있는가?




[root@localhost ~]# qemu-system-x86_64

Unable to init server: Could not connect: Connection refused

gtk initialization failed



오...실행되~~

qemu!~~

뭐가...입력해주라고 하는 느낌이 많이 드는구만~~~!!!



[root@localhost linux]# qemu-system-x86_64 -no-kvm -kernel arch/x86/boot/bzImage -hda /dev/zero -append "root=/dev/zero console=ttyS0" -serial stdio -display none

WARNING: Image format was not specified for '/dev/zero' and probing guessed raw.

        Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.

        Specify the 'raw' format explicitly to remove the restrictions.

[    0.000000] Initializing cgroup subsys cpuset

[    0.000000] Initializing cgroup subsys cpu

[    0.000000] Initializing cgroup subsys cpuacct

.

.

.

[    3.685509] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

qemu: terminating on signal 2





결국 panic에 빠졌군요..


음…


초간단 리눅스소스에…

akari를 집어 넣는거야…


그리고 디버깅을 하는쥐~~!!


Holy Spirit님…

어떻게 잘될 것 같습니까?


자..

음…

마직막 Kernel panic은…

디스크가 없어서 그런거다…미친감자~~

그러니..


Buildroot라는 툴을

이용하면

디스크 이미지를 파일로 만들 수 있다.

Buildroot라는 툴을 설치하고 사용하는 법에 대한 글을 쓰도록 해라


http://goo.gl/ndgwSh <-- Buildroot 설치기~~~를 참고하시면 되겠습니다.


buildroot라는 툴을 이용해서 ext2용 디스크 이미지 파일을 만들었다고 합시다.


그러고 나면…



그냥 QEMU로 다음과 같이 실행시켜면…...부팅이 성공하는 것입니다.



[root@localhost linux]#qemu-system-i386 -kernel arch/x86/boot/bzImage -smp 1 -boot c -m 128M -hda /root/buildroot/output/images/rootfs.ext2 -append "root=/dev/sda rw console=tty0 console=ttyS0 acpi=off" -serial stdio -display none



음…

그렇습니다.

/root/buildroot/output/images/rootfs.ext2

라는 디스크 이지미를 포함해서 실행시켜면…

결국 …

리눅스 부팅이 성공합니다.




[root@localhost linux]#qemu-system-i386 -kernel arch/x86/boot/bzImage -smp 1 -boot c -m 128M -hda /root/buildroot/output/images/rootfs.ext2 -append "root=/dev/sda rw console=tty0 console=ttyS0 acpi=off" -serial stdio -display none

.

.

.


[    2.254331] Write protecting the kernel read-only data: 2652k

Starting logging: OK

[    2.705562] random: nonblocking pool is initialized

Initializing random number generator... done.

Starting network...


Welcome to Buildroot

buildroot login:






root

를 입력하고

password는 그냥 엔터를 치면됩니다.


자…

이곳에 포함시키면 되겠군요…


이곳까지 커널 디버깅이 아주 될 것이니까요…






저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

Tag qemu, 설치

미친감자~~

Buildroot라는 것에 대해서 설명해봐~


잘 모르겠는데요…

빌드루트?

그게 뭐죠?~~


미친감자…나는 평화주의자야..

예수님의 이름으로 용서할께

싸다구같은것은 안떄릴께..

얼른 찾아봐..



예수쟁이 미감

예수님 감사합니다~~


루트 파일 시스템을  만들어주는 툴입니다.

루트 파일 시스템은  뭐냐?하면..

여기를 보시면 됩니다.

https://goo.gl/vPc4An

https://goo.gl/O1laQF


자...

그럼 제가 구글링고 어쩌고 해서 정리한 것 설명해볼께요~

자...

먼저 git으로 소스를 받아옵니다.(음..rpm은 없나?)

[root@localhost ~]# git clone git://git.buildroot.net/buildroot

Cloning into 'buildroot'...

remote: Counting objects: 188132, done.

remote: Compressing objects: 100% (59389/59389), done.

remote: Total 188132 (delta 129479), reused 186192 (delta 127847)

Receiving objects: 100% (188132/188132), 45.70 MiB | 327.00 KiB/s, done.

Resolving deltas: 100% (129479/129479), done.

Checking connectivity... done.

[root@localhost ~]# cd buildroot/

[root@localhost buildroot]# make menuconfig

.

.

.

음...menuconfig에서

구성을 설정해줍니다.


여기에서 중요한게 있어요~!

#make menuconfig

에서

“Filesystem images”

“ext2/3/4 root filesystem”을 선택해줘야

ext2파임의 root file system 이미지가 만들어집니다.

(이상하네요..이전에는 이런것 선택하지 않아도 알아서 rootfs.ext2을

만들어 줬는데...

암튼...

이번에는

잘 만들어졌습니다.)

결론은,


[root@localhost buildroot]# make clean && make -j4


이렇게 했는데..말입니다.


...이렇게

빌드를 했는데...


저같은 경우


에러가 났습니다...


이렇게요

make[1]: Leaving directory '/root/buildroot'

Your Perl installation is not complete enough; at least the following

modules are missing:


        Thread::Queue


support/dependencies/dependencies.mk:28: recipe for target 'core-dependencies' failed

make: *** [core-dependencies] Error 1



펄 모듈중 Thread::Queue라는 모듈이 없는가 봅니다.


흐…


구글링했습니다...ㅎㅎㅎ

방법은

http://paguilar.org/?p=426 ← 이곳에서 찾았습니다.

cpan이라는 것을 설치하고

Thread::Queue 모듈을 설치하라고 합니다.




$ cpan

cpan shell -- CPAN exploration and modules installation (v2.00)

Enter 'h' for help.


cpan[1]> install Thread/Queue.pm



위 화면은...cpan에서 Thread./Queue를 설치하는 화면입니다.


자 그래서 cpan 부터해서 Thread::Queue 까지 설치했습니다.

다음과 같이요~~~~

[root@localhost buildroot]# dnf install cpan

Last metadata expiration check performed 0:44:25 ago on Tue Dec  1 22:05:13 2015.

Dependencies resolved.

.

.

.



Complete!


cpan 설치하고...



[root@localhost buildroot]# cpan

Loading internal null logger. Install Log::Log4perl for logging messages


CPAN.pm requires configuration, but most of it can be done automatically.

If you answer 'no' below, you will enter an interactive dialog for each

configuration option instead.


Would you like to configure as much as possible automatically? [yes] y


Perl site library directory "/usr/local/share/perl5" does not exist.

Perl site library directory "/usr/local/share/perl5" created.

Perl site library directory "/usr/local/lib/perl5" does not exist.

Perl site library directory "/usr/local/lib/perl5" created.


Autoconfiguration complete.


commit: wrote '/root/.local/share/.cpan/CPAN/MyConfig.pm'


You can re-run configuration any time with 'o conf init' in the CPAN shell

Terminal does not support AddHistory.


cpan shell -- CPAN exploration and modules installation (v2.11)

Enter 'h' for help.


cpan[1]> install Thread/Queue.pm

Fetching with HTTP::Tiny:



이제 설치한

capn을

실행하고...

install Thread/Queue.pm 해주고..

다시 빌드!!!


그런데 빌드하는데 시간이 왜이리 오래 걸리죠?

10분은 넘은 것 같은데

아직도…

계속 빌딩중인군요~~!!


성공여부는 담에…~~!!


그런데...

실패 하고 말았습니다. ^_^;


랜선이 연결되지 않는 바람에...말이다.;;;;;;이런 황당한;;;인간의 실수여~~~~!!!



다시 make ~~~~~

이번에는

음...잘됩니다.

컴파일 잘됩니다.


저것 파이썬 모듈 설치만 하고 나면..잘됩니다.



몇칠이 지나...~~

다시 리눅스를 설치하고

패도라를 설치했어요

다시 buildroot를

빌드했는데...


계속 에러가 나네요...

cap_user_header_t가 정의되어 있지 않다고 하면서 말입니다.


그래서 이번에도

#dnf install openssl-devel gnutls-devel libcap-devel

구굴링해보니까..위에것들을 설치안해서 그런 것 같다고 해서..

다 설치해주고..

https://github.com/hugsy/sstoper/issues/1


에러나는 부분이..

커널에 정의 되어 있는 부분이니까...

} __user *cap_user_header_t;


include\uapi\linux\capability.h

커널 빌드환경도 만들어주고...

# yum install kernel-devel-`uname -r`

이렇게요...


그리고...build 과정에서 이런 메시지를 봤으니까..

which: no flex in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

which: no bison in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

>>> host-fakeroot 1.20.2 Building

flex와 bison이 없다고 하는것 같아...

#dnf install flex

#dnf install bison

flex와 bison을 설치했습니다.


음...

이제..

이제~~ 잘되겠죠~~~



음....


에러없이 잘 마무리 되었습니다.


[root@localhost images]# ls -la

total 2800

drwxr-xr-x. 2 root root    4096 Dec  4 19:22 .

drwxr-xr-x. 6 root root    4096 Dec  4 19:18 ..

-rw-r--r--. 1 root root 2286592 Dec  4 19:22 rootfs.ext2

-rw-r--r--. 1 root root 1454080 Dec  4 19:22 rootfs.tar

[root@localhost images]# pwd

/root/buildroot/output/images



rootfs.ext2 파일 보이시죠^^

성공입니다.

ㅋㅋㅋㅋ


자 이제 QEMU로 올려봅시다.

[root@localhost linux]#qemu-system-i386 -kernel arch/x86/boot/bzImage -smp 1 -boot c -m 128M -hda /root/buildroot/output/images/rootfs.ext2 -append "root=/dev/sda rw console=tty0 console=ttyS0 acpi=off" -serial stdio -display none

...

sck is recommended

[    1.978252] EXT4-fs (sda): mounted filesystem without journal. Opts: (null)

[    1.979301] VFS: Mounted root (ext4 filesystem) on device 8:0.

[    1.992502] devtmpfs: mounted

[    2.031514] Freeing unused kernel memory: 804K (c0e3f000 - c0f08000)

[    2.034240] Write protecting the kernel text: 7056k

[    2.035579] Write protecting the kernel read-only data: 2696k

[    2.204451] EXT4-fs (sda): re-mounted. Opts: errors=remount-ro

Starting logging: OK

[    2.458735] random: nonblocking pool is initialized

Initializing random number generator... done.

Starting network...


Welcome to Buildroot

buildroot login: root



오~~~

성공~~~~!!!


할렐루야~~

저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.


rm -rf /test/

이렇게 하면

^____^

/test라는 디렉토리 밑의 모든

하위 디렉토리 및 파일을

삭제한다.

저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

음.../

음.../

gdb는 어떻게 멈출수 있죠?


윈도우즈 같은 경우…

Ctrl+Break

키를 눌러주면…

잘 돌다가도 멈춘다…


그런데 gdb는 어떻게 멈출까요?



“미친감자 그걸 몰라?”

“실망이구먼~미친감자”


“예 죄송합니다.”

“구글링해보겠습니다.”;;;






E.8 Interrupts

When a program on the remote target is running, gdb may attempt to interrupt it by sending a ‘Ctrl-C’, BREAK or a BREAK followed by g, control of which is specified via gdb's ‘interrupt-sequence’.


출처 : https://sourceware.org/gdb/onlinedocs/gdb/Interrupts.html




Ctrl + C

흐흐흐.
gdb는 ‘Ctrl + C’를 입력 해주면..

달리다 멈춥니다.


윈도우 Windbg 는 ‘Ctrl + Break’ ~!

gdb는 ‘Ctrl + C’~!



저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

Tag Ctrl+C, gdb

저는 리눅스를 

사랑할려고 합니다.

그러기에...

그 속으로 들어갑니다.~~~~

GDB와 함께~~~~

아자 

Holy Spirit~~

Give me the wisdom~~!!


저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

미친감자~~

Buildroot라는 것에 대해서 설명해봐~


잘 모르겠는데요…

빌드루트?

그게 뭐죠?~~


미친감자…나는 평화주의자야..

예수님의 이름으로 용서할께

싸다구같은것은 안떄릴께..

얼릉 찾아봐..



예수님 감사합니다~~(저는 완전 예수쟁이입니다.)


그런데..에러가 납니다.



[root@localhost ~]# git clone git://git.buildroot.net/buildroot

Cloning into 'buildroot'...

remote: Counting objects: 188132, done.

remote: Compressing objects: 100% (59389/59389), done.

remote: Total 188132 (delta 129479), reused 186192 (delta 127847)

Receiving objects: 100% (188132/188132), 45.70 MiB | 327.00 KiB/s, done.

Resolving deltas: 100% (129479/129479), done.

Checking connectivity... done.

[root@localhost ~]# cd buildroot/

[root@localhost buildroot]# make menuconfig

.

.

.





[root@localhost buildroot]# make clean && make -j4


이렇게 했는데..말입니다.

미친감자님~~에러가 납니다.



make[1]: Leaving directory '/root/buildroot'

Your Perl installation is not complete enough; at least the following

modules are missing:


        Thread::Queue


support/dependencies/dependencies.mk:28: recipe for target 'core-dependencies' failed

make: *** [core-dependencies] Error 1



이렇게 했는데..말입니다.

펄 모듈중 Thread::Queue라는 모듈이 없는가 봅니다.


흐…


방법은

http://paguilar.org/?p=426 ← 이곳에서 찾았습니다.





$ cpan

cpan shell -- CPAN exploration and modules installation (v2.00)

Enter 'h' for help.


cpan[1]> install Thread/Queue.pm



이렇게 하랍니다.



자 해봅니다.

자 그래서 cpan 부터해서 Thread::Queue 까지 설치했습니다.



[root@localhost buildroot]# dnf install cpan

Last metadata expiration check performed 0:44:25 ago on Tue Dec  1 22:05:13 2015.

Dependencies resolved.

.

.

.



Complete!


cpan 설치하고...



[root@localhost buildroot]# cpan

Loading internal null logger. Install Log::Log4perl for logging messages


CPAN.pm requires configuration, but most of it can be done automatically.

If you answer 'no' below, you will enter an interactive dialog for each

configuration option instead.


Would you like to configure as much as possible automatically? [yes] y


Perl site library directory "/usr/local/share/perl5" does not exist.

Perl site library directory "/usr/local/share/perl5" created.

Perl site library directory "/usr/local/lib/perl5" does not exist.

Perl site library directory "/usr/local/lib/perl5" created.


Autoconfiguration complete.


commit: wrote '/root/.local/share/.cpan/CPAN/MyConfig.pm'


You can re-run configuration any time with 'o conf init' in the CPAN shell

Terminal does not support AddHistory.


cpan shell -- CPAN exploration and modules installation (v2.11)

Enter 'h' for help.


cpan[1]> install Thread/Queue.pm

Fetching with HTTP::Tiny:




음…

capn을 실행하고...

install Thread/Queue.pm 해주고..

다시 빌드!!!


그런데 빌드하는데 시간이 왜이리 오래 걸리죠?

10분은 넘은것 같은데

아직도…

계속 빌딩중인군요~~!!


성공여부는 담에…~~!!







저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

자 이번에는

리눅스에서

하위 디렉토리에서 파일의 내용을 찾는 명령은?


grep -r "찾을 문자열" ./*


대소문자 구분하지 않기?


-i : 지정한 문자열에 대소문자 구분하지 않기




grep -ri "찾을 문자열" ./*


이렇게 하면 된다는것~~



저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

Makefile…을 만들고….

이놈을 이용해서 빌드하자…



핵심요소는


obj-y +=


이놈이다…



obj-y


obj-y


obj-y


이놈이 핵심이다.


이 키워드가 있어야….


make가 …………

빌드를 한단다…


실험해보자~~!!!


실험 개시~~!!!


test.c 파일 만들고

#include <stdio.h>


void main()

{

printf("test^___^\n");

}




Makefile 파일 만들고~~!


obj-y += test.o



자…~~


make를 해보자~~!



[root@localhost test001]# make

make: *** 타겟 없음.  멈춤.



뭐시기~~~????

타겟이 없어???


타겟을 지정해줘야 하는겨??



그런데 ‘타겟’이 뭐지?


이건가?



test:

obj-y += test.o


자….

대충 해보는 거야~~

뭐~~


다시 make~~!!


[root@localhost test001]# make

cc     test.c   -o test

오~~오~~

에러 안났어~~~

에러 없어…~~~!!

맞았어…


내 예측이 맞았어~~!


천재 천재~~~~~~!!!


[root@localhost test001]# ls -la

합계 24

drwxr-xr-x.  2 root root 4096 11월 20 18:48 .

drwx------. 18 test test 4096 11월 20 18:30 ..

-rwxr--r--.  1 root root   22 11월 20 18:48 Makefile

-rwxr-xr-x.  1 root root 7336 11월 20 18:48 test

-rwxr--r--.  1 root root   61 11월 20 18:31 test.c




test라는 실행파일이 생겼습니다.

오 그런데...object파일은 왜 없지?

지웠나?;;;스스로 지웠나???

암튼…

실행해보자…



[root@localhost test001]# ./test

test^___^



오~~오~~

정확히 찍히네~~~



obj-m


으로 해볼까???



test:

obj-m += test.o


음..obj-m 으로 해도 make 잘되네~~!


[root@localhost test001]# make

cc     test.c   -o test

[root@localhost test001]# ls -la

합계 24

drwxr-xr-x.  2 root root 4096 11월 20 18:59 .

drwx------. 18 test test 4096 11월 20 18:30 ..

-rwxr--r--.  1 root root   22 11월 20 18:58 Makefile

-rwxr-xr-x.  1 root root 7336 11월 20 18:59 test

-rwxr--r--.  1 root root   68 11월 20 18:59 test.c

[root@localhost test001]# ./test

test^_____^




obj-m으로 해도 ...make 잘된 화면입니다.~~~

믿어주세요~~!


그런데…

드라이버 파일은…

타겟이 없는데 어떻게 make가 되는 거지?

왜? 에러가 없지?


자 보시라… 커널 속….Makefile 을~~



[root@localhost test001]# make

cc     test.c   -o test

[root@localhost test001]# ls -la

합계 24

drwxr-xr-x.  2 root root 4096 11월 20 18:59 .

drwx------. 18 test test 4096 11월 20 18:30 ..

-rwxr--r--.  1 root root   22 11월 20 18:58 Makefile

-rwxr-xr-x.  1 root root 7336 11월 20 18:59 test

-rwxr--r--.  1 root root   68 11월 20 18:59 test.c

[root@localhost test001]# ./test

test^_____^





자 이제


obj-n


으로 해보자~~


test:

obj-n += test.o

make가 될까?

obj-n


뭐야???

그냥 make되잖아~~!!!

뭐여????


[root@localhost test001]# make

cc     test.c   -o test

[root@localhost test001]# ls -la

합계 24

drwxr-xr-x.  2 root root 4096 11월 20 19:28 .

drwx------. 18 test test 4096 11월 20 18:30 ..

-rwxr--r--.  1 root root   22 11월 20 19:27 Makefile

-rwxr-xr-x.  1 root root 7336 11월 20 19:28 test

-rwxr--r--.  1 root root   71 11월 20 19:27 test.c

[root@localhost test001]# ./test

test^________^

실행도 아주 잘됩니다~~~



obj-X

X의 의미는 뭐야???


아니 이런….

굳이….

obj-n


obj-y obj-m objn 같은것은

필요엢네요…


왜냐고요???

이렇게 하고 실험했으니까요…

Makefile을 이렇게 했어요

test:


타겟만 적고..어떤 파일을 빌드하라고 하는 말은 안한거죠~~!


그랬더니…


[root@localhost test001]# make

cc     test.c   -o test

[root@localhost test001]# ./test

test^_____________^



빌드 아주 잘됩니다.

아니 이런…

아니 이런….

Makefile 무식자여~~~


당신은 이제까지 뭘했단 말인가????

무식자~~~


그냥 타겟만 있으면 되는거네~~


음..그렇다면 타겟이 있으면..

현재디렉토리의 모든 소스 파일을 알아서 컴파일 해주는 것인가?

확인해보자…


  1. 새로운 c소스 파일을 만든다.

  2. 그리고...make 해본다…



[root@localhost test001]# ls -la

합계 28

drwxr-xr-x.  2 root root 4096 11월 20 19:40 .

drwx------. 18 test test 4096 11월 20 18:30 ..

-rwxr--r--.  1 root root    7 11월 20 19:35 Makefile

-rwxr-xr-x.  1 root root 7336 11월 20 19:36 test

-rwxr--r--.  1 root root   85 11월 20 19:41 test.c

-rwxr--r--.  1 root root   75 11월 20 19:40 test001.c

[root@localhost test001]# make

cc     test.c   -o test

[root@localhost test001]# cat test001.c

#include <stdio.h>


test()

{

       printf("I am test001.c's function~!");

}

[root@localhost test001]# make

make: 'test' is up to date.

[root@localhost test001]# touch test.c

[root@localhost test001]# make

cc     test.c   -o test

[root@localhost test001]# ^C




음...아니라는 점~~

뭐가 아닌가????

디렉토리의 모든 소스파일을 알아서 절대~~

절대~~

컴파일 해주지 않는다는점~~~~!!!

뭐냐???


위에서 보시면 아시겠지만…

test.c만 컴파일 했다는 점..~~

test001.c 는 그냥 무시했다는 점~~~~;;;;;

뭐지???


그럼… test001 이라는 타겟을 만들면 되나??


자..test001: 타겟 집어 넣었어~~

자~~


[root@localhost test001]# make

make: 'test' is up to date.

[root@localhost test001]# touch test.c

[root@localhost test001]# touch test001.c

[root@localhost test001]# make

cc     test.c   -o test




해도 소용 없다는 점~~;;;;;

여전히 test.c만 컴파일 한다는 점???

뭐야???

도대체


뭐야???

모르겠다…

컴파일의 기준을…

그러면…

test: 라는 라벨을 없애버리겠어~~!


음…

test001:만 남기니…

음…

test001.c 만 컴파일 하는군요…

즉 처음 나온타켓의 소스만 찾아서 컴파일하는 결론이 나오는 군요~~;;



[root@localhost test001]# touch test.c

[root@localhost test001]# touch test001.c

[root@localhost test001]# make

cc     test001.c   -o test001

test001.c:3:1: warning: return type defaults to ‘int’ [-Wimplicit-int]

test()

^

/usr/lib/gcc/i686-redhat-linux/5.1.1/../../../crt1.o: In function `_start':

(.text+0x18): undefined reference to `main'

collect2: error: ld returned 1 exit status

<builtin>: recipe for target 'test001' failed

make: *** [test001] Error 1

보이시죠~~^_^(일단 에러는 무시해주세요~~지금은 make는 누구를 컴파일 하는냐 테스트니~~)

타켓이 test001이니

test001.c 만 컴파일 했습니다.

그리고, main()함수가 test001.c에는 없느니..에러를 뱉어내십니다.




[참고해야할 곳~~]

http://developinghappiness.com/?page_id=222

http://developinghappiness.com/?page_id=222

















저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

Tag obj-y

부팅하면서~~

sshd를 시작하는 방법~~~


test@localhost ~]$ systemctl enable sshd.service

Created symlink from /etc/systemd/system/multi-user.target.wants/sshd.service to /usr/lib/systemd/system/sshd.service.


저의 리눅스 배포판은

패도라 입니다.




저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

내가 실행했던 명령을 확인해보자….

그리고, 그놈중에 실행을 해보자..


history라는 명령이 있다.



history




history라고 입력하면…

이제까지 입력했던 명령들이 표시되고요~!

[root@localhost test]# history

   1  vi /boot/grub2/grub.cfg

   2  ls

   3  cd /usr

   4  cd lib

   5  cd ..

   6  ls

   7  cd src

   8  ls

   9  cd linux/

  10  ls

  11  make mrproper

  12  cp /usr/src/kernels/4.2.5-300.fc23.i686/.config

  13  cp /usr/src/kernels/4.2.5-300.fc23.i686/.config .

  14  make

  15  ls -lh /usr/src/linux/arch/x86/boot/bzImage

  16  cd /boot

  17  ls

  18  ls -la

  19  cd /usr/src/kernels/4.2.5-300.fc23.i686/

  20  ls -la

  21  cd /usr




이중에 다시 실행하고 싶은게 있으면~

! 을 사용하시면 됩니다.


다음 처럼~~

!2

를 입력하면~

2번째 히스토리를 실행하라는 것~~!

[root@localhost test]# !2

ls

공개  다운로드  문서  바탕화면  비디오  사진  서식  음악



느낌표가..핵심…~~!!


!번호


이렇게 하면 히스토리 명령을 실행할 수 있다는점~~!!



저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

Tag History, Linux

일단 삼바 설치!!

쌈바?

삼바?

쌈바야? 삼바야?

삼다든

쌈바든…

브라질 축제를 이야기 하고 있네요…

그럼


리눅스 삼바도 이건가?


이게 리눅스 삼바….

이렇게 순진한것인데…


브라질 삼바축제는 영어로 뭐지?

맞는것 같은데~~

쌈바 축제도…

Samba네~~~~~

;;;;;

뭐지 더 알아봐야겠다.


암튼...지금 samba를 설정해볼려고 해요…


이것~~~

쌈바축제의 쌈바알니라는것~~~~!!




[root@localhost linux]# dnf install samba                                       

Yum command has been deprecated, redirecting to '/usr/bin/dnf install samba'.   

See 'man dnf' and 'man yum2dnf' for more information.                           

To transfer transaction metadata from yum to DNF, run:                          

'dnf install python-dnf-plugins-extras-migrate && dnf-2 migrate'                

                                                                               

Last metadata expiration check performed 2:08:01 ago on Fri Nov 20 12:22:16 2015

Dependencies resolved.                                                          

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

Package                               Arch                      Version        

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

Installing:                                                                     

python                                i686                      2.7.10-8.fc23  

python-libs                           i686                      2.7.10-8.fc23  

python-pip                            noarch                    7.1.0-1.fc23   

python-setuptools                     noarch                    18.0.1-2.fc23  

python-talloc                         i686                      2.1.3-1.fc23   

samba                                 i686                      2:4.3.0-3.fc23

samba-common-tools                    i686                      2:4.3.0-3.fc23

samba-libs                            i686                      2:4.3.0-3.fc23

                                                                               

Transaction Summary                                                             

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

Install  8 Packages                                                             

                                                                               

Total download size: 9.2 M                                                      

Installed size: 35 M                                                            

Is this ok [y/N]: y                                                             

Downloading Packages:                                                           

(1/8): samba-libs-4.3.0-3.fc23.i686.rpm                                         

(2/8): samba-common-tools-4.3.0-3.fc23.i686.rpm                                 

(3/8): samba-4.3.0-3.fc23.i686.rpm                                              

(4/8): python-talloc-2.1.3-1.fc23.i686.rpm                                      

(5/8): python-2.7.10-8.fc23.i686.rpm                                            

(6/8): python-setuptools-18.0.1-2.fc23.noarch.rpm                               

(7/8): python-pip-7.1.0-1.fc23.noarch.rpm                                       

(8/8): python-libs-2.7.10-8.fc23.i686.rpm                                       

--------------------------------------------------------------------------------

Total                                                                           

Running transaction check                                                       

Transaction check succeeded.                                                    

Running transaction test                                                        

Transaction test succeeded.                                                     

Running transaction                                                             

 Installing  : python-libs-2.7.10-8.fc23.i686                              1/8

 Installing  : python-pip-7.1.0-1.fc23.noarch                              2/8

 Installing  : python-setuptools-18.0.1-2.fc23.noarch                      3/8

 Installing  : python-2.7.10-8.fc23.i686                                   4/8

 Installing  : python-talloc-2.1.3-1.fc23.i686                             5/8

 Installing  : samba-libs-2:4.3.0-3.fc23.i686                              6/8

 Installing  : samba-common-tools-2:4.3.0-3.fc23.i686                      7/8

 Installing  : samba-2:4.3.0-3.fc23.i686                                   8/8

 Verifying   : samba-2:4.3.0-3.fc23.i686                                       

 Verifying   : samba-common-tools-2:4.3.0-3.fc23.i686                          

 Verifying   : samba-libs-2:4.3.0-3.fc23.i686                                  

 Verifying   : python-libs-2.7.10-8.fc23.i686                                  

 Verifying   : python-talloc-2.1.3-1.fc23.i686                                 

 Verifying   : python-2.7.10-8.fc23.i686                                       

 Verifying   : python-pip-7.1.0-1.fc23.noarch                                  

 Verifying   : python-setuptools-18.0.1-2.fc23.noarch                          

                                                                               

Installed:                                                                      

 python.i686 2.7.10-8.fc23                  python-libs.i686 2.7.10-8.fc23     

 python-setuptools.noarch 18.0.1-2.fc23     python-talloc.i686 2.1.3-1.fc23    

 samba-common-tools.i686 2:4.3.0-3.fc23     samba-libs.i686 2:4.3.0-3.fc23     

                                                                               




그리고,

system-config-samba

을 설치하라고 한다.

dnf install system-config-samba


[root@localhost linux]# dnf install system-config-samba

Last metadata expiration check performed 2:11:26 ago on Fri Nov 20 12:22:16 2015.

Dependencies resolved.

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

Package                           Arch                 Version                        Repository             Size

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

Installing:

dbus-python                       i686                 1.2.0-12.fc23                  updates               128 k

libglade2                         i686                 2.6.4-13.fc23                  fedora                 68 k

libselinux-python                 i686                 2.4-4.fc23                     fedora                294 k

pycairo                           i686                 1.10.0-2.fc23                  fedora                515 k

pygobject2                        i686                 2.28.6-14.fc23                 fedora                225 k

pygtk2                            i686                 2.24.0-12.fc23                 fedora                878 k

pygtk2-libglade                   i686                 2.24.0-12.fc23                 fedora                 30 k

python-decorator                  noarch               3.4.2-2.fc23                   fedora                 20 k

python-six                        noarch               1.9.0-3.fc23                   fedora                 34 k

python-slip                       noarch               0.6.4-1.fc23                   fedora                 36 k

python-slip-dbus                  noarch               0.6.4-1.fc23                   fedora                 36 k

python-xpyb                       i686                 1.3.1-5.fc23                   fedora                138 k

system-config-samba               noarch               1.2.100-4.fc23                 fedora                286 k


Transaction Summary

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

Install  13 Packages


Total download size: 2.6 M

Installed size: 9.6 M

Is this ok [y/N]: y

Downloading Packages:

(1/13): pygtk2-libglade-2.24.0-12.fc23.i686.rpm                                    290 kB/s |  30 kB     00:00

(2/13): python-slip-0.6.4-1.fc23.noarch.rpm                                        723 kB/s |  36 kB     00:00

(3/13): python-slip-dbus-0.6.4-1.fc23.noarch.rpm                                   1.4 MB/s |  36 kB     00:00

(4/13): system-config-samba-1.2.100-4.fc23.noarch.rpm                              1.2 MB/s | 286 kB     00:00

(5/13): pygobject2-2.28.6-14.fc23.i686.rpm                                         1.2 MB/s | 225 kB     00:00

(6/13): pycairo-1.10.0-2.fc23.i686.rpm                                             1.8 MB/s | 515 kB     00:00

(7/13): pygtk2-2.24.0-12.fc23.i686.rpm                                             1.4 MB/s | 878 kB     00:00

(8/13): libglade2-2.6.4-13.fc23.i686.rpm                                           371 kB/s |  68 kB     00:00

(9/13): python-six-1.9.0-3.fc23.noarch.rpm                                         946 kB/s |  34 kB     00:00

(10/13): python-decorator-3.4.2-2.fc23.noarch.rpm                                  487 kB/s |  20 kB     00:00

(11/13): libselinux-python-2.4-4.fc23.i686.rpm                                     1.3 MB/s | 294 kB     00:00

(12/13): python-xpyb-1.3.1-5.fc23.i686.rpm                                         1.6 MB/s | 138 kB     00:00

(13/13): dbus-python-1.2.0-12.fc23.i686.rpm                                        560 kB/s | 128 kB     00:00

-------------------------------------------------------------------------------------------------------------------

Total                                                                              429 kB/s | 2.6 MB     00:06

Running transaction check

Transaction check succeeded.

Running transaction test

Transaction test succeeded.

Running transaction

 Installing  : python-six-1.9.0-3.fc23.noarch                                                                1/13

 Installing  : python-decorator-3.4.2-2.fc23.noarch                                                          2/13

 Installing  : dbus-python-1.2.0-12.fc23.i686                                                                3/13

 Installing  : python-xpyb-1.3.1-5.fc23.i686                                                                 4/13

 Installing  : pycairo-1.10.0-2.fc23.i686                                                                    5/13

 Installing  : libselinux-python-2.4-4.fc23.i686                                                             6/13

 Installing  : python-slip-0.6.4-1.fc23.noarch                                                               7/13

 Installing  : python-slip-dbus-0.6.4-1.fc23.noarch                                                          8/13

 Installing  : libglade2-2.6.4-13.fc23.i686                                                                  9/13

 Installing  : pygobject2-2.28.6-14.fc23.i686                                                               10/13

 Installing  : pygtk2-2.24.0-12.fc23.i686                                                                   11/13

 Installing  : pygtk2-libglade-2.24.0-12.fc23.i686                                                          12/13

 Installing  : system-config-samba-1.2.100-4.fc23.noarch                                                    13/13

 Verifying   : system-config-samba-1.2.100-4.fc23.noarch                                                     1/13

 Verifying   : pygtk2-2.24.0-12.fc23.i686                                                                    2/13

 Verifying   : pygtk2-libglade-2.24.0-12.fc23.i686                                                           3/13

 Verifying   : python-slip-0.6.4-1.fc23.noarch                                                               4/13

 Verifying   : python-slip-dbus-0.6.4-1.fc23.noarch                                                          5/13

 Verifying   : pycairo-1.10.0-2.fc23.i686                                                                    6/13

 Verifying   : pygobject2-2.28.6-14.fc23.i686                                                                7/13

 Verifying   : libglade2-2.6.4-13.fc23.i686                                                                  8/13

 Verifying   : libselinux-python-2.4-4.fc23.i686                                                             9/13

 Verifying   : python-six-1.9.0-3.fc23.noarch                                                               10/13

 Verifying   : python-decorator-3.4.2-2.fc23.noarch                                                         11/13

 Verifying   : python-xpyb-1.3.1-5.fc23.i686                                                                12/13

 Verifying   : dbus-python-1.2.0-12.fc23.i686                                                               13/13


Installed:

 dbus-python.i686 1.2.0-12.fc23            libglade2.i686 2.6.4-13.fc23         libselinux-python.i686 2.4-4.fc23

 pycairo.i686 1.10.0-2.fc23                pygobject2.i686 2.28.6-14.fc23       pygtk2.i686 2.24.0-12.fc23

 pygtk2-libglade.i686 2.24.0-12.fc23       python-decorator.noarch 3.4.2-2.fc23 python-six.noarch 1.9.0-3.fc23

 python-slip.noarch 0.6.4-1.fc23           python-slip-dbus.noarch 0.6.4-1.fc23 python-xpyb.i686 1.3.1-5.fc23

 system-config-samba.noarch 1.2.100-4.fc23


Complete!





http://ddonyo.egloos.com/3936234

의 요점은..

/etc/samba/smb.conf

에 공유하고 싶은

디렉토리를 설정해주라는 것!!!

그리고, 사용자도 추가해주라는 것!!!


/etc/samba/smb.conf 파일에...다음과

같은 내용을 적어주면 된다...

[share]

       comment = user

       path = /home/test/share

       read only = no

       valid users = root

       browseable = no

       create mask = 0765

중요한것은

pathvalid users

path는 공유하고 싶은 디렉토리이름

valid users는 사용을 허락하는 사용자~~

그리고 나머지는 그대로 타이핑 하시라~~~


아 그리고,

삼바에서는 계정을 따로 관리하는 것 같습니다.

그래서, 삼바사용자의 패스워드를 따로 다음과 같이

입력해줘야 한담니다.

적어주면 된다...

[root@localhost]#smbpasswd -a root

New SMB password:

Retype new SMB password:


중요한것은

root는 위에서 valid usrs에 추가했던

사용자 id입니다...

그리고 패스워드를 입력해주면 끝???!!!

아니요,네트워크 방화벽에 UDP 137/138, TCP 139/445포트의

ACCEPT를 허용해줘야죠~~

안그러면..네트워크 방화벽이..

접속을 차단해버립니다.~~~

아니면, 네트워크방화벽(iptables)를 꺼버리던지요^^ㅎㅎㅎ

그런데 어떻게 끄는지를 모르겠네요;;;;

암튼네트워크 방화벽...이놈을 무시하면 안된다는것~~~!!


자...이제 다 되었냐?

아니죠...

SAMBA와 IPTABLES를 재시작해야죠...


그런데 SAMBA의 서비스명은 SMB라는점~~

SAMBA아니라는 점~~~

아주 중요합니다.(저는 실수했습니당;;;)



#sudo service iptables restart

#sudo service smb restart

이렇게 하면 이제 될까요???

과연 잘 접속할까요?


밑의 글을 보시랑~~~ㅋㅋㅋ;;;;;;흫흐흐흐흐




음..인터넷에 하라고 하는대로 했는데…

안된다…;;;;;;;;;;;


뭐냐고….


뭐가 문제냐고…


여기까지는 나오는데...

음….

안들어가진다…


이 에러가 발생한다…


액세스 할 수 없습니다


라고 아주 친절하게 말씀해주신다….


권한이 없다고?


이런…


뭐냐???


내가 뭘 잘못했을까?


다시 확인해보자..





음…

이렇게 했어…



다시 해보자…

지우고…

지금까지 설정되어 있는 공유폴더 말이다.



오케 계정 물어보고…



여기까지 나오는데…

또..이런다..


왜 권한이 없다는 거지?



검색해보자…


이런

페도라 너가 문제였구나!!!!




https://kldp.org/node/74694 ← 이곳에서 답을 찾았다.

범인은 SELinux!!!




[root@localhost kernel]# chcon -t samba_share_t /kernel/linux-4.2.5

[root@localhost kernel]# /usr/sbin/semanage fcontext -a -t samba_share_t "/dir/to/share(/.*)?"





흐~~~

SELinux……때문에…

안되었군요….




[교훈]


  • 페도라면.. SELinux에 공유하고 싶은 폴더에 라벨(samba_share_t)을 추가하라!!

  • 그리고, 인터넷 메뉴얼 대로 해라~~!!!

    • 공유폴더 설정하고,

    • Iptables[방화벽]도 신경잘쓰고…네트워크 방화벽에 의해 차단될 수 있당!!!




아니 이런….

하위 폴더에 접근할려고 했더니…

접근이 안된다.


이런 뭐냐?

하위 디렉토리에도

라벨을 추가해야 하는가 보다…


다음 명령을...하위 모든 경로에도 적용되어야 할 것 같은데...

[root@localhost kernel]# chcon -t samba_share_t /kernel/linux-4.2.5



구글링해보자…


음...해결했습니당~~!

semanage 명령으로 하위경로와 파일까지

라벨을 추가할 수 있군요…~!!

#semanage fcontext -a -t samba_share_t "/kernel/linux-4.2.5(/.*)?"

#restorecon -Rv /kernel/linux-4.2.5

그리고~~ restorecon 명령을 해야..

적용된다는점~~!


자 확인하시죠~~~samba 라벨이 적용된 것을~~~!!

[root@localhost test001]# ls -aZ /kernel/linux-4.2.5

unconfined_u:object_r:samba_share_t:s0 .                                 unconfined_u:object_r:samba_share_t:s0 block

   unconfined_u:object_r:default_t:s0 ..                                unconfined_u:object_r:samba_share_t:s0 crypto

unconfined_u:object_r:samba_share_t:s0 .config                           

.. ..



역쉬~~~!!!


이제 잘 들어가집니다.~~~!








저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.

nosstarter.npe 넌 누구냐?


걱정하시지 않아도 됩니다…

악성코드 아닙니다!!


보이시죠~~

보안회사 모듈입니당~~!

그런데 왜?

죽었죠?

그건 모르겠습니다. ^^;;;;


음….

바이러스토탈에서도

안심하라고 하네요~~!!


https://www.virustotal.com/ko/file/26E674A857D7FDD3AA592AB0A7195E3DCBE812FA7C0E5EF80ADDECC4F4382609/analysis/


삭제 방법은 --> http://blog.naver.com/cjb3216/220504763707 


저작자 표시 비영리 변경 금지
신고
블로그 이미지

홀리해커 얄리얄리얄리

I believe in risen.