가끔 리눅스 크론탭 번호를 잘못설정해서 nano 로 계속 열리거나

vim 으로 열리는 경우가 있다.

 

그경우 다음과 같이 변경하면된다.

 

나노로 변경

export VISUAL=nano; crontab -e

vim 으로 변경

export VISUAL=vim; crontab -e

vi 로 변경

export VISUAL=vi; crontab -e

 

CDKey.vbs
0.00MB
CD-key.ps1
0.00MB

Windows CD-Key 알아내기

Microsoft/NT 2013. 6. 5. 15:01

내가 쓰고 있는 Windows에 CD-Key(Product Key)를 찾아내는 방법은 여러가지 입니다.

간편하게 MagicalJellyBean http://www.magicaljellybean.com/keyfinder/ 같은 간단한 프로그램을 이용하는 방법도 있지만, 해당 컴퓨터에 설치를 필요로 하지요

 

1. Magical Jelly Bean의 Keyfinder프로그램

 

2. VBS스크립트를 활용

또다른 방법으로 스크립트를 이용하면 별도의 프로그램 설치필요 없이도 가능 합니다.

아래는 구글링으로 찾아낸 VBS 

 

++Script 펼치기

 

 

해당내용을 메모장에 붙여넣기 하여 .vbs 형식으로 저장한뒤 더블클릭으로 확인 가능합니다.

  ㄴ 또는 아래의 파일을 다운받으세요

 

 CDKey.vbs


 

하지만, 위 두가지 방법으로는 Volume license로 적용된 CD-Key는 확인이 불가능 합니다.

이유는 해당 키값을 레지스트리에 암호화된 상태로 남아, 모두 BBBBB-BBBBB-BBBBB-BBBBB-BBBBB 이런 형식으로 보이기 때문이지요.

 

그래서, 또다시 구글링으로 방법을 찾아보았습니다.

3. PowerShell을 이용한 방법

 

 

3.1 아래의 스크립트를 메모장에 복사한 후 .PS1 형태로 저장 합니다.

     ㄴ 또는 아래의 파일을 받으세요

 CD-key.ps1

 

 

+++PS 스크립트 펼치기

 

 

3.2 PowerShell을 실행후, Set-ExecutionPolicy Unrestricted 와 Set-ExecutionPolicy RemoteSigned 를 각각 실행 합니다.

 

3,3 위 .PS1파일을 바로 실행하거나, (방법은 이곳: http://technet.microsoft.com/en-us/library/ee176949.aspx 참조)

         ㄴ 복사후 PS창에 붙여 넣기 합니다. (아래그림참조)

 

 

 

3.4 Get-WindowsKey 커맨드로 CD-Key확인. 이상 끝.

 

혹시 안되면 댓글 남겨주세요.

출처는 http://mspowershell.blogspot.kr/

'운영체계자료 > Windows NT Server' 카테고리의 다른 글

MSE 윈도우서버에 설치하는방법  (0) 2018.07.21
server 블루스크린 c00002e2  (0) 2016.04.07
Option Explicit
Dim objshell,path,DigitalID, Result
Set objshell = CreateObject("WScript.Shell")
'Set registry key path
Path = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"
'Registry key value
DigitalID = objshell.RegRead(Path & "DigitalProductId")
Dim ProductName,ProductID,ProductKey,ProductData
'Get ProductName, ProductID, ProductKey
ProductName = "Product Name: " & objshell.RegRead(Path & "ProductName")
ProductID = "Product ID: " & objshell.RegRead(Path & "ProductID")
ProductKey = "Installed Key: " & ConvertToKey(DigitalID)
ProductData = ProductName & vbNewLine & ProductID & vbNewLine & ProductKey
'Show messbox if save to a file
If vbYes = MsgBox(ProductData & vblf & vblf & "Save to a file?", vbYesNo + vbQuestion, "BackUp Windows Key Information") then
Save ProductData
End If
'Convert binary to chars
Function ConvertToKey(Key)
Const KeyOffset = 52
Dim isWin8, Maps, i, j, Current, KeyOutput, Last, keypart1, insert
'Check if OS is Windows 8
isWin8 = (Key(66) \ 6) And 1
Key(66) = (Key(66) And &HF7) Or ((isWin8 And 2) * 4)
i = 24
Maps = "BCDFGHJKMPQRTVWXY2346789"
Do
Current= 0
j = 14
Do
Current = Current* 256
Current = Key(j + KeyOffset) + Current
Key(j + KeyOffset) = (Current \ 24)
Current=Current Mod 24
j = j -1
Loop While j >= 0
i = i -1
KeyOutput = Mid(Maps,Current+ 1, 1) & KeyOutput
Last = Current
Loop While i >= 0

If (isWin8 = 1) Then
keypart1 = Mid(KeyOutput, 2, Last)
insert = "N"
KeyOutput = Replace(KeyOutput, keypart1, keypart1 & insert, 2, 1, 0)
If Last = 0 Then KeyOutput = insert & KeyOutput
End If
ConvertToKey = Mid(KeyOutput, 1, 5) & "-" & Mid(KeyOutput, 6, 5) & "-" & Mid(KeyOutput, 11, 5) & "-" & Mid(KeyOutput, 16, 5) & "-" & Mid(KeyOutput, 21, 5)
End Function
'Save data to a file
Function Save(Data)
Dim fso, fName, txt,objshell,UserName
Set objshell = CreateObject("wscript.shell")
'Get current user name
UserName = objshell.ExpandEnvironmentStrings("%UserName%")
'Create a text file on desktop
fName = "C:\Users\" & UserName & "\Desktop\WindowsKeyInfo.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set txt = fso.CreateTextFile(fName)
txt.Writeline Data
txt.Close
End Function

해당파일을 vbs 확장자로 저장하거나 첨부된 파일을 다운받은후에.

 

wscript.exe "check.vbs"

실행하면 

시디키를 확인할수있다.

 

if문 기본사용법

if [ 값1 조건식 값2 ];then

   수행문

 fi 

 

if 문 조건문 종류

[ -z ] : 문자열의 길이가 0이면 참

[ -n ] : 문자열의 길이가 0이 아니면 참



[ -eq ] : 값이 같으면 참

[ -ne ] : 값이 다르면 참

[ -gt ] :  값1 > 값2

[ -ge ] : 값1  >= 값2

[ -lt ] : 값1 < 값2

[ -le ] : 값1 <= 값2



[ -a ] : &&연산과 동일 and 연산

[ -o ] : ||연산과 동일 xor 연산



[ -d ] : 파일이 디렉토리면 참

[ -e ] : 파일이 있으면 참

[ -L ] : 파일이 심볼릭 링크면 참

[ -r ] : 파일이 읽기 가능하면 참

[ -s ] : 파일의 크기가 0 보다 크면 참

[ -w ] : 파일이 쓰기 가능하면 참

[ -x ] : 파일이 실행 가능하면 참

[ 파일1 -nt 파일2 ]  : 파일1이 파일2보다 최신파일이면 참

[ 파일1 -ot 파일2 ]  : 파일1이 파일2보다 이전파일이면 참

[ 파일1 -ef 파일2 ] : 파일1이 파일2랑 같은 파일이면 참

 

AND문

 if [ 값1 조건식 값2 -a 값1 조건식 값2 ];then

   수행문

 fi 

 

OR문

 if [ 값1 조건식 값2 -o 값1 조건식 값2 ];then

   수행문

 fi 

 

if elif문

if [ 값1 조건식 값2 ]
then
 수행문
   
elif [ 값1 조건식 값2]
then
 수행문
 
fi 

 

smbclinet 설치

sudo apt-get install smbclient cifs-utils

 

smb 클라이언트 정보 확인

 

smbclient -L 192.168.0.111 -U%   

 

 

연결

 

sudo mount -t cifs //컴퓨터이름(혹은 주소)/공유이름 /공유할/디렉토리

암호가 있을경우

   -o username=계정이름,password=암호

 

 

 

sudo apt-get install mariadb-server

 

sudo mysql_secure_installation

 

Set root password? [Y/n] Y 

Remove anonymous users? [Y/n] Y

Disallow root login remotely? [Y/n] n

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] y

 

 

셋팅완료후 접속을 하면..

root@peta:/home/peta# mysql -u -root -p
Enter password: 
ERROR 1698 (28000): Access denied for user '-root'@'localhost'

 

접속이 되질 않는다..

 

설정을 바꾸어주자.

root@peta:/home/peta# mysql

MariaDB [(none)]> use mysql;

MariaDB [mysql]> update user set plugin='' where user='root';

MariaDB [mysql]> flush privileges;

 

 

이제 데이터베이스와 계정을 생성하자.

 

MariaDB [(none)]> create database testDB;

MariaDB [(none)]> create user 'testId'@'%' identified by 'Passwd';

MariaDB [mysql]> grant all privileges on testDB.* to 'testId'@'%';

MariaDB [mysql]> flush privileges;

 

 

root@peta:/home/peta# vi /etc/mysql/mariadb.conf.d/50-server.cnf 
#문자열 변경
collation-server      = utf8mb4_unicode_ci

#외부접속허용
bind-address            = 0.0.0.0

 

이렇게 모든셋팅이 완료되었다.

18-Feb-2020 20:39:53.622 SEVERE [http-nio-8080-exec-5] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [appServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment] with root cause
	java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
		at java.lang.Class.forName0(Native Method)
		at java.lang.Class.forName(Class.java:264)
		at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)
		at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
		at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1181)
		at org.imgscalr.Scalr.scaleImage(Scalr.java:2135)
		at org.imgscalr.Scalr.scaleImageIncrementally(Scalr.java:2275)
		at org.imgscalr.Scalr.resize(Scalr.java:1711)
		at org.imgscalr.Scalr.resize(Scalr.java:1298)
		at com.peta.controller.upload.UploadFileUtils.makeThumbnail(UploadFileUtils.java:89)
		at com.peta.controller.upload.UploadFileUtils.uploadFile(UploadFileUtils.java:38)
		at com.peta.controller.upload.UploadController.uploadAjax(UploadController.java:81)
		at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
		at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
		at java.lang.reflect.Method.invoke(Method.java:498)
		at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
		at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
		at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
		at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:888)
		at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
		at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
		at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
		at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
		at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
		at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
		at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
		at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
		at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
		at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
		at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
		at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
		at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
		at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
		at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:94)
		at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
		at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
		at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
		at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
		at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
		at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
		at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
		at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
		at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
		at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
		at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
		at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
		at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688)
		at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
		at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
		at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:609)
		at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
		at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
		at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1623)
		at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
		at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
		at java.lang.Thread.run(Thread.java:748)

 

 

권한문제일주 알고 한참을 찾다가보니..

 

tomcat/bin/catalina.sh 파일에서

 

JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS"

아래와 같이 변경

JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS -Djava.awt.headless=true"

 

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+DisableExplicitGC"

 

'운영체계자료 > Linux' 카테고리의 다른 글

리눅스 smb 마운트  (1) 2020.02.23
마리아디비 10.1 설치및 초기 셋팅  (0) 2020.02.20
Ubuntu 18.04 설치후 셋팅  (0) 2020.02.10
Linux 사용하고 있는 port process 확인  (0) 2019.07.22
VI편집기 명령어  (0) 2018.08.31

우분투 셋팅을 자주하는 경우가 많아서 기록목적으로 포스팅합니다. 

원하는 셋팅과 다를수 있습니다. 

 

 

#English 로 설치할것. 한글 에러..많음..

#sudo passwd 설정

sudo passwd root 



#network 툴 설치

sudo apt install net-tools 



#ssh 설치

apt-get install openssh-server 
vi /etc/ssh/sshd_config 
PermitmitRootLogin yes 
service ssh restart 



#python3.7 클린설치

apt-get update 
sudo apt install software-properties-common 
sudo apt install python3.7 

apt install curl 
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 

sudo apt-get install python3-distutils 
python3.7 get-pip.py 


apt install curl 
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 

sudo apt-get install python3-distutils 
python3.7 get-pip.py 



#오류발생시 

apt search testresources 
apt search widgetsnbextension 
이후에 다시 python3.7 get-pip.py 



#python 명령어로 바로 3.7 실행하기
#which python3.7 로 python 설치 루트 확인후

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 3 
sudo update-alternatives --config python 


#설정할 필요가 없다면 다되었음

#host네임변경

vi /etc/hostname 



#ip설정

vi /etc/netplan/01-network-manager-all.yaml  


# Let NetworkManager manage all devices on this system 
network: 
  version: 2 
  renderer: networkd 
  ethernets: 
   ens33: 
    addresses: 
      - 172.30.1.60/24 
    gateway4: 172.30.1.254 
    nameservers: 
      addresses: [168.126.63.1,8.8.4.4] 

 

netplan apply 






#crontab 

sudo select-editor

#vi mode 사용할경우는 2번

 

크론탭에 추가할내용

MAILTO=""
PATH=/usr/local/bin/:/sbin:/bin:/usr/sbin:/usr/bin

 

 

#java 설치

 

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

 

Java SE Development Kit 8 - Downloads

Java SE Development Kit 8 Downloads Thank you for downloading this release of the Java™ Platform, Standard Edition Development Kit (JDK™). The JDK is a development environment for building applications, applets, and components using the Java programming la

www.oracle.com

다운로드

 

/usr/local/java 디렉토리에 받아서 압축 해제

 

tar -xvzf jdk-8u241-linux-x64.tar.gz 

$ sudo vi /etc/profile

JAVA_HOME=/usr/local/java/jdk1.8.0_241
JRE_HOME=/usr/local/java/jdk1.8.0_241
PATH=$PATH:$JRE_HOME/bin:$JAVA_HOME/bin

export JAVA_HOME
export JRE_HOME
export PATH
$sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_241/bin/java" 1
$sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_241/bin/javac" 1
$sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_241/bin/javaws" 1
$sudo update-alternatives --set java /usr/local/java/jdk1.8.0_241/bin/java
$sudo update-alternatives --set javac /usr/local/java/jdk1.8.0_241/bin/javac
$sudo update-alternatives --set javaws /usr/local/java/jdk1.8.0_241/bin/javaws

설치 확인

 

 

#톰캣 설치

 

whet http://mirror.navercorp.com/apache/tomcat/tomcat-8/v8.5.51/bin/apache-tomcat-8.5.51-fulldocs.tar.gz

tar -xvzf apache-tomcat-8.5.51-fulldocs.tar.gz 

/usr/local 에 설치

 

 

 

[root@peta ~]# netstat -ntlp | grep :80

 

 

 

1

 

레지스트리 편집: 윈도우 탐색기의 새로 고침 기능 자동화하기

윈도우 탐색기의 '새로 고침' 기능 자동화하기
윈도우 탐색기나 '내 컴퓨터'에서 파일이나 폴더를 복사, 삭제, 이동하면 결과가 바로바로 나타나지 않습니다. 결과를 확인 하려면 작업을 마치고 '보기->새로 고침'을 차례로 선택하거나 <F5> 키를 눌러야 합니다.
만약 이런 번거로운 과정없이 윈도우 탐색기나 '내 컴퓨터'에서 작업한 내용을 곧바로 확인하고 싶으면 레지스트리를 편집해야 합니다.
1.레지스트리 편집기를 실행하기 위해 윈도우에서 ‘시작→실행’을 눌러 ‘regedit’를 입력해 레지스트리 편집기를 실행합니다.
사진 : regedit 입력
2. 레지스트리 편집기에서 'HKEY_LOCAL_MACHINE->SYSTEM->CurrentControlSet->Control->Update'키로 들어간 다음 오른쪽 창에서 'UpdateMode'를 더블클릭 합니다.
사진 : 'UpdateMode'를 더블 클릭
3. 'DWORD 값 편집' 상자가 나타나면 '단위'는 '16진수', '값 데이터' '0'으로 설정하고, '확인' 버튼을 누릅니다.
사진 : '값 데이터'는 '0'으로 설정
4. 끝으로 바탕화면을 클릭하고 <F5>키를 누르면 이후 부터는 윈도우 탐색기나 '내 컴퓨터'에서 곧바로 작업한 내용을 확인할 수 있습니다.
   경고:
윈도우 레지스트리를 편집하는 과정은 편집에 능숙한 개인에게만 권장됩니다. HP는 레지스트리 편집 과정에서 잘못 실행되어, Windows에 손상이 가는 경우에 대하여 책임지지 않습니다.

츌처 : https://support.hp.com/kr-ko/document/c00641058

VIM 명령어 정리

 

 

1. 저장 및 종료

명령어

설명

:w

저장

:w file.txt

file.txt 파일로 저장

:w » file.txt

file.tx파일에 덧붙여서 저장

:q

vi 종료

:q!

vi 강제 종료

ZZ

저장 후 종료

:wq!

강제 저장 후 종료

:e file.txt

file.txt파일을 불러옴

:e

현재 파일을 불러옴

:e#

바로 이전에 열었던 파일을 불러 옴

 

 

2. 입력모드 전환

a

커서 위치 다음칸부터 입력

A

커서 행의 맨 마지막부터 입력

i

커서의 위치에 입력

I

커서 행의 맨 앞에서 부터 입력

o

커서의 다음행에 입력

O

커서의 이전 행에 입력

s

커서 위치의 한글자를 지우고 입력

cc

커서위치의 한 행을 지우고 입력

 


3. 이동

h

왼쪽으로 이동

l

오른쪽으로 이동

j

아래행으로 이동

k

위 행으로 이동

w 또는 W

다음 단어의 첫 글자로 이동

b 또는 B

이전 단어의 첫 글자로 이동

e 또는 E

단어의 마지막 글자로 이동

<CR>

다음행   글자로 이동

^

그행의 첫 글자로 이동

$

그 행의 마지막 글자로 이동

+

다음 행의 첫 글자로 이동

-

위 행의 첫 글자로 이동

(

이전 문장의 첫 글자로 이동

)

다음 문장의 첫 글자로 이동

{

이전 문단으로 이동

}

다음 문단으로 이동

H

커서를 화면 맨 위로 이동

z<CR>

현재 행을 화면의 맨우로 이동

M

커서를 화면 중안으로 이동

z.

현재 행을 화면의 중앙으로 이동

L

커서를 화면 최하단으로 이동

z-

현재 행의 화면의 최하단으로 이동

[n]H

커서를 위에서 n행으로 이동

[n]L

커서를 아래에서 n행으로 이동

ctrl+u

반 화면 위로 스크롤

ctrl+d

반 화면 아래로 스크롤

ctrl+b

한 화면 위로 스크롤

ctrl+f

한 화면 아래 스크롤

gg 또는 1G

문서의 맨 처음으로 이동

G

문서의 맨 마지막 행으로 이동

[n]G 또는 :[n]

n행으로 이동


 

4. 삭제

x 또는 dl

커서 위치의 글자 삭제

X 또는 dh

커서 바로 앞의 글자 삭제

dw

현재 위치부터 스페이스 까지 삭제

diw

현재 위치에 있는 단어 삭제

dd

커서가 있는 행을 삭제

[n]dd

현재 커서 부터 아래 n번째 줄까지 삭제

dj

현재 커서와 아래 줄 삭제

[n]dj

현재 커서 부터 아래 n+1번째 줄까지 삭제

dk

현재 커서와 윗로 n+1번째 줄까지 삭제

[n]dk

현재 커서와  줄 삭제

D 또는 d$

현재 커서가 있는 위치부터 행 끝까지 삭제

d0 또는 d^

현재 커서가 있는 위치부터 행 시작 까지 삭제

 

 

5. 복사 & 붙여넣기

yy 또는 Y

커서가 있는 한 행 복사

p

현재 커서에 붙여 넣기, 행 복사 일 경우 아래 줄에 붙여넣음.

P

현재 커서위치의 앞행에 붙여 넣기, 행 복사일 경우에는  줄에 붙여 넣음

[n]yy 또는 [n]Y

커서가 위치한 이후로 n행 복사

[n]p

n번 만큼 붙여넣기 반복

 

 

6. 블록 지정

v

블록 지정

V

줄단위 블록 지정

ctrl+v(윈도우에서는 ctrl+q)

비쥬얼 블록 지정

블록 지정 중 명령

y

블록 복사 하기

r

치환

d

지정 블록 지우기

U

대문자로 바꾸기

u

소문자로 바꾸기

~

대소문자 전환

J

행 합침

:

선택 영역에 대하여 ex명령

<

행 앞에 탭 제거

>

행 앞에 탭 삽입

 

 

7. 문자열 탐색 및 치환

/[문자열]

문자열 탐색

:s/old/new

현재 행의 처음 old new로 교체

:s/old/new/g

현재 행의 모든 old new로 교체

:10,20s/old/new/g

10행부터 20행까지 모든 old new로 교체

[블록지정중]:s/old/new/g

지정 블록 내에서 모든 old new로 교체

:-3,+4s/old/new/g

현재 커서 위치에서 위로 3행 아래로 4행까지의 old new로 교체

:%s/old/new/g

문서 전체에서 old new로 교체

:%s/old/new/gc

문서 전체에서 old new로 확인하며 교체

:g/pattern/s/old/new/g

pattern이 있는 모든 행의 old new로 교체

 

 

8. vim 정규 표현식

^

행의 첫 문자([]안에서는 not의 의미)

$

행의 끝

.

아무 문자나 한 문자 의미

\|

or의 의미

[ ]

[]사이의 문자 중 하나

\{min,max\}

min이상 max이하 반복됨

*

앞의 내용이 0번 이상 반복됨

\+

앞의 내용이 1번 이상 반복됨

\<

단어의 시작

\>

단어의 끝

\n

새 행 문자

\t

탭 문자

 

 

9. vim 확장 정규 표현 문자열

\i

변수 지정에 사용되는 문자들 [0-9A-Za-z]

\I

\i와 같지만 숫자는 제외

\k

keyword로 사용하는 문자 [_\.\-0-9A0Za-z]

\f

파일 이름으로 사용하는 문자

\p

프린트 가능한 문자

\P

\p와 같지만 숫자는 제외

\s

whitespace character(공백과 탭)

\S

non-whitespace character

\d

숫자 [0-9]

\D

숫자가 아닌 문자 [^0-9]

\x

16진수 숫자 [0-9A-Fa-f]

\X

16진수 숫자가 아닌 문자 [^0-9A-Fa-f]

\o

8진수 숫자 [0-7]

\O

8진수 숫자가 아닌 문자 [^0-7]

\w

영문 단어의 시작에 사용되는 문자 [0-9A-Za-z-]

\W

영문 단어에서 사용되지 않는 문자 [^0-9A-Za-z-]

\h

영문 단어의 시작에 사용되는 문자 [A-Za-z-]

\H

영문 단어의 시작에 사용 되지 않는 문자 [^A-Za-z-]

\a

모든 알파벳 [A-Za-z]

\A

알파벳이 아닌 문자 [^A-Za-z]

\l

소문자 [a-z]

\L

소문자가 아닌 문자 [a-z]

\u

대문자 [A-Z]

\U

대문자가 아닌 문자 [^A-Z]

\e

Esc

\t

Tab

\r

캐리지 리턴

\b

백스페이스

\n

새 행

 

 

10. POSIX 문자 클래스

문자 클래스

내용

[:alnum:]

알파벳과 숫자 [A-Za-z0-9]

[:alpha:]

알파벳 [A-Za-z]

[:cntrl:]

제어 문자

[:blank:]

탭과 공백 문자

[:digit:]

숫자 [0-9]

[:graph:]

제어문자와 공백 문자를 제외한 문자

[:lower:]

소문자 [a-z]

[:upper:]

대문자 [A-Z]

[:print:]

제어문자를 제외한 문자, 즉 프린터 할 수 있는 문자

[:punct:]

[:graph:]문자 중 [:alnum:]을 제외한 문자. ex)!,@,#,$,%,^....

[:space:]

화이트스페이스 ex)공백, , 케리지 리턴, 새행, 수직탭, 폼필드

[:xdigit:]

16진수

 

 

11. 파일 버퍼

:files 또는 :ls 또는 :buffers

버퍼 목록 나열

:b[n]

n번 버퍼로 이동

:bd[n] 또는 :bw[n]

n번 버퍼를 삭제 (n이 없으면 현재의 버퍼를 삭제)

:bp[n]

이전 버퍼로 이동,n 붙이면 n번만큼 이전 버퍼로 이동

:bn[n]

이후 버퍼로 이동,n 붙이면 n번만큼 이후 버퍼로 이동

:sb[n]

창을 수평분할 하여 n번 버퍼를 로드

:bf

첫 번째 버퍼로 이동

:bl

마지막 버퍼로 이동

 

12. Tab

Vim 7.0부터 추가된 기능

:tabnew

새로운 탭을 열기

:tabnew b.txt

b.txt가 존재하면 열고, 없으면 새로 만들어서 연다

:tabf b.txt

b.txt가 존재하면 열고, 없으면 에러 발생

:tabn[n]

다음 탭을 열기,n 붙이면 n번 만큼 이동

:tabp[n]

이전 탭을 열기,n 붙이면 n번 만큼 이동

:tabs

탭 목록 보기

:tabclose

탭을 닫기

:tabfirst

첫번째 탭을 열기

:tablast

마지만 탭을 열기

:tabdo %s/old/new/g

모든 탭에 적용을 원할 때 ( 모든탭에서 old new로 변경)

 


13. 다중 창 관련 명령

명령모드

ex모드

결과

창생성

CTRL-W s

:[N]sp[plit]

현재 파일을 두 개의 수평 창으로 나눔

CTRL-W v

:[N]vs[plit]

현재 파일을 두 개의 수직 창으로 나눔

CTRL-W n

:new

새로운 수평 창 생성

CTRL-W ^ 또는 CTRL-W CTRL-^

 

수평 창으로 나누고 이전 파일의 오픈

CTRL-W f

 

창을 수평으로 나누고 커서 위치의 파일 오픈

CTRL-W i

 

커서 위치의 단어가 정의된 파일을 오픈

창삭제

CTRL-W q

:q[uit]!

현재 커서의 창을 종료

CTRL-W c

:close

현재 커서의 창 닫기

CTRL-W o

:on[ly]

현재 커서의 창만 남기고 모든 창 삭제

창이동

CTRL-W h

 

왼쪽 창으로 커서 이동

CTRL-W j

 

아래쪽 창으로 커서 이동

CTRL-W k

 

위쪽 창으로 커서 이동

CTRL-W l

 

오른쪽 창으로 커서 이동

CTRL-W w

 

창을 순차적으로 이동

CTRL-W p

 

가장 최근에 이동한 방향으로 이동

CTRL-W t

 

최상위 창으로 이동

CTRL-W b

 

최하위 창으로 이동

창이동

CTRL-W r

 

순착으로 창의 위치를 순환

CTRL-W x

 

이전 창과 위치를 바꿈

CTRL-W H

 

현재창을 왼쪽 큰화면으로 이동

CTRL-W J

 

현재창을 아래쪽 큰화면으로 이동

CTRL-W K

 

현재창을 위쪽 큰화면으로 이동

CTRL-W L

 

현재창을 오른쪽 큰화면으로 이동

창 크기 조정

CTRL-W =

 

창의 크기를 모두 균등하게 함

CTRL-W _

 

수평 분할에서 창의 크기를 최대화

CTRL-W |

 

수직 분할에서 창의 크기를 최대화

CTRL-W [N]+

:res[ize] +N

창의 크기를 N행 만큼 증가

CTRL-W [N]-

:res[ize] -N

창의 크기를 N행 만큼 감소

CTRL-W [N]>

 

창의 크기를 오른쪽으로 N칸 만큼 증가

CTRL-W [N]<

 

창의 크기를 오른쪽으로 N칸 만큼 감소

다중창 사용의 경우 대부분 붙여서 사용하는 명령어는 CTRL을 같이 눌러도 똑같은 역활을 하는 경우가 많다. 
) CTRL-W j  CTRL-W CTRL-J와 같다.

 

 

14. 마킹  마킹위치로 이동

m[a-z0-9]

파일내에서 마킹, 현재 버퍼내에서만 이동 함 예)ma

m[A-Z]

전체영역에서 마킹, 다른 파일로도 이동 함.

`[A-Za-z0-9]

마킹된 위치로 돌아감 예)`a

’[A-Za-z0-9]

마킹된 행의 처으으로 이동함. )‘a

직전에 커서가 위치하던 행의 처음

``

직전의 커서 위치로 이동

’”

이전에 vim으로 현재 파일을 닫았을 때 커서가 있던 행의 처음으로 이동

`"

이전에 vim으로 현재 파일을 닫았을 때 커서가 있던 위치로 이동



출처:http://gyuha.tistory.com/157




:%s/foo/bar/g


vi의 기본적인 치환 방법을 실행하게 되면, 하나의 줄에서 가장 첫번째로 등장하는 단어만 치환한다.

예를 들어 'foofoofoofoofoofoofoofoo' 라는 문장이 있다고 가정하자.

:%s/foo/bar 를 실행하면 결과는 'barfoofoofoofoofoofoofoo' 와 같이 된다.


만약 원하는 것이, 'barbarbarbarbarbarbarbar' 와 같이 모든 'foo'가 전부 'bar'로 바뀌는 것이었다면, 지금 소개하는 '전역 치환 방법'을 적용하면 된다.



출처: https://techlog.gurucat.net/297 [하얀쿠아의 이것저것 만들기 Blog]

리눅스 사용하다보면 apt-get 이나 yum 으로 설치시 버전문제로인한 특정버전을 설치할경우가 있다.


그경우에는 PATH 가 지정되지않아 명령어가 자동으로 인식되지 않게 된다.


그럴때 사용하는방법을 예를 통해보려한다.


mongo db의 특정버전을 위해서 wget 을통해 다운받았다고 하자.


다운받은곳은 /root/mongo-2.0 이라고한다면


.bashrc


export MONGO_HOME=/root/mongo-2.0

export PATH=$MONGO_HOME/bin:$PATH


MONGO_HOME  /root/mongo-2.0 로 지정

/root/mongo-2.0/bin 안에 mongo 실행파일이 있으므로.



$MONGO_HOME/bin 을 PATH 로 지정함.





흔히 .bashrc 파일을 잘못수정하면 vi / ls 등 명령어가 먹지않는다.


vi 와 ls 등은 PATH 설정이 되어있기에 자동으로 콘솔창에서 작동하는것이지


실제로는 해당 파일들이 있으니 경로를 입력한후 명령어를 실행하면된다. 



ls

/usr/bin


예시)

$/usr/bin ls                $ls와 같은 명령어


vi

/usr/bin/


예시)

$/usr/bin/vi ~/.bashrc      $vi ~/.bashrc 와 같음


'



개요

본 포스트에서는 CentOS의 작업 스케줄러인 crontab의 기본적인 동작 및 사용법에 대해 작성하고자 한다.
crontab은 특정 프로세스를 정해진 날짜에 실행하거나, 특정 연/월/일/분/초 마다 반복할 수 있으며 실행한 프로세스의 output string을 logging하는 등 bash로 할 수 있는 모든 작업이 가능하기때문에 배치batch 프로세스에 최적화되어있다고 할 수 있다.


실행방법

  1. crontab -e

규칙

  1. <p>* * * * * $(BASH COMMAND)
  2. ┬ ┬ ┬ ┬ ┬
  3. │ │ │ │ │
  4. │ │ │ │ │
  5. │ │ │ │ └───────── 요일 (0~6) (0:일요일, 1:월요일 ... 5:금요일, 6:토요일)
  6. │ │ │ └────────── 월 (1~12)
  7. │ │ └─────────── 일 (1~31)
  8. │ └──────────── 시 (0~23)
  9. └───────────── 분 (0~59)
  10. </p>

예제

1) 1분마다 sh /root/daemon/daemon_up.sh 라는 명령어를 사용하여 프로세스를 실행시키고, 그 프로세스에서 출력한 output string을 /root/daemon/log/2016-01-14.log 에 저장
  1. * * * * * sh /root/daemon/daemon_up.sh >> /root/daemon/log/2016-01-14.log


2) 동일한 프로세스를 10분마다 실행

  1. */10 * * * * sh /root/daemon/daemon_up.sh >> /root/daemon/log/2016-01-14.log


3) 동일한 프로세스를 매시 15분이 될때마다 실행

  1. 15 * * * * sh /root/daemon/daemon_up.sh >> /root/daemon/log/2016-01-14.log

4) 동일한 프로세스를 1시간마다 실행

  1. 0 * * * * sh /root/daemon/daemon_up.sh >> /root/daemon/log/2016-01-14.log


4) 동일한 프로세스를 2시간마다 실행

  1. 0 */2 * * * sh /root/daemon/daemon_up.sh >> /root/daemon/log/2016-01-14.log

5) 동일한 프로세스를 매일 오후 2시 30분마다 실행

  1. 30 14 * * * sh /root/daemon/daemon_up.sh >> /root/daemon/log/2016-01-14.log

출처 : http://nontoxice.tistory.com/223

Tomcat 이 설치된 루트에서 



$ {Tomcat}/webdapps/test.war [해당루트에 war파일위치]


$ {Tomcat}/bin/startup.sh [톰캣서비스시작]


$ {Tomcat}/bin/shutdown.sh [톰캣서비스중지]



이후 톰캣 포트 http://localhost:8080/test 로 접속하면 프로젝트로 


만든 war 파일이 자동으로 풀리며 접속이 가능해진다.

루트 패스워드 지정


$sudo passwd root




SSH Root 권한 지정 및 설치


apt-get install openssh-server

vi /etc/ssh/sshd_config



PermitRootLogin yes




고정IP설정


vi /etc/network/interfaces




auto lo ens33

iface lo inet loopback

iface ens33 inet static

        address 192.168.0.60

        netmask 255.255.255.0

        gateway 192.168.0.1

        nameserver 168.126.63.11




/etc/fstab 부팅시 자동으로 마운트될 정보 기록하는곳  



     smb접속주소     /마운트될주소

//192.168.0.30/data /mnt/samba cifs defaults,username=계정명,pass=비밀번호,iocharset=utf8 0 0



mount -a // 재부팅없이 바로적용



삼바(SAMBA)?

 

(1) 개요마이크로소프트와 인텔은 윈도우시스템이 다른 시스템의 디스크나 프린터같은 자원을 공유할 수 있도록 Server Message Block(SMB)이라는 프로토콜을 개발하였는데삼바란 이 SMB를 이용하여 리눅스와 윈도우와의 자료 공유 및 하드웨어를 공유할 수 있도록 해준다현재 마이크로소프트에서는 SMB라는 이름보다는 좀 더 범위가 큰 CIFS(Common Internet File System)라는 프로토콜로 부른다이 프로토콜은 SMB 프로토콜에 LanMana  ger NetBIOS 프로토콜까지 포함한다.

 

 (2) 삼바의 기능

   1) 리눅스파티션과 윈도우와의 공유

   2) 윈도우파티션과 리눅스와의 공유

   3) 리눅스의 프린터와 윈도우와의 공유

   4) 윈도우의 프린터와 리눅스와의 공유

 

2. 삼바(SAMBA)의 설치

(1) rpm패키지로 설치하기

   1) 설치의 확인

     rpm -qi samba  rpm -qa |grep samba 명령등을 내려 삼바가 설치되어 있는지 확인한다.

    

   2) 설치하기

    레드햇 리눅스계열을 설치했을 경우에는 CD-ROM드라이브를 마운트한다.

    . /RedHat/RPMS디렉토리로 이동한다.

    . rpm -Uvh samba* 명령을 내려 설치한다.

   

(2) 소스로 설치하기

   1) 만약 기존에 삼바가 설치되어 있으면 제거한다.

   2) cd /usr/local/src 명령을 내려 이동한다.

   3) 삼바의 공식사이트인 http://www.samba.org에서 소스파일(samba-2.2.5.tar.gz)를 다운받는다.

   4) tar zxvf samba-2.2.5.tar.gz 명령을 내린다.

   5) cd samba-2.2.5

   6) cd source

   7) ./configure --prefix=/usr/local/samba

   8) make

   9) make install

   10) 삼바소스디렉토리에서 examples라는 디렉토리의 smb.conf.default파일을 
/usr/local/samba/      lib/smb.conf
파일로 복사한다.

     

   11) 삼바를 실행하는 스크립트파일을 /etc/rc.d/init.d/디렉토리에 복사한다삼바소스 디렉토리      에서 packging/RedHat 디렉토리에 보면 삼바구동스크립트파일인 smb.init이 있는데 이 파일을 samba라는 이름으로 복사한다.
) cp smb.init /etc/rc.d/init.d/samba

       

   12) 데몬실행파일 PATH가 설정된 경로로 복사한다보통 소스로 설치하면 데몬을 실행하는 파일인 smbd nmbd /usr/local/samba/sbin디렉토리에 있다이 경로는 현재 PATH설정이 안 되어있 으므로 PATH를 설정하거나 /usr/sbin디렉토리에 복사한다.
) cp smbd nmbd /usr/sbin

 

 

2. 삼바의 구성

(1) 데몬삼바를 이용하기 위해서는 두 개의 데몬이 필요하다.

   1) 기본데몬

    . smbd: SMB데몬 - 파일과 프린터공유사용자의 권한부여 및 확인

    . nmbd: 클라이언트를 위해 NetBIOS nameserver를 지원하고 browsing(서비스통지)한다.

   

   2) 스크립트 데몬파일실제 데몬을 구동하고 정지시키는 데몬으로 스타트시키면 smbd nmbd데몬을 띄운다.
 /etc/rc.d/init.d/smb start|stop

   

(2) 환경파일: smb.conf

   1) 개요: smb.conf는 삼바의 환경설정파일로 파일안의 구성은 win.ini와 비슷하다크게 Global Setting Share Denition으로 나누고 다시 각 내용은 [] 기호를 이용하여 섹션(Section)           으로 구분한다.

          

   2) 역할삼바를 제어하는 환경파일이다이 파일에서 외부와 공유시킬 시스템 자원과 어떠한 
제약을 할 것인지를 지정한다.        

   3) 위치보통 /etc디렉토리에 위치하나 배포판에 따라 /etc/samba디렉토리에 위치할 수도 있다.

   4) 파일내부의 유형

    . #으로 시작하는 행이 행은 주석처리되어 무시된다.

    . ;으로 시작하는 행이 행들도 주석행으로 간주되어 무시된다보통 이런 행은 설정행이 작동하지 않도록 하는데 사용된다. ;대신에 #을 사용해도 된다
이 두 가지 유형의 주석이 사용되는 이유는 #은 유닉스에서 사용하는 주석이고. ;는 윈도우에서 사용하는 주석이라 두 가지 모두 사용한다
.

    . [ ]을 사용하는 행섹션을 정의한다하나의 섹션이 정의된 후 그 다음 섹션이 정의될 때까지의 행들은 해당 섹션에 속한다.

    . name = value 사용하는 옵션과 해당값을 설정하는 행들이다.

 

   5) 기본적인 섹션

    . [global]: 삼바서버의 전체적인 환경설정을 담당하는 섹션

    . [homes]: 사용자들이 자신의 홈디렉토리로 접근할 때의 권한을 설정하는 섹션

    . [printers]: 프린터관련 권한을 설정하는 섹션

 

(3) 실행파일

   1) smbclient

    설명유닉스를 위한 삼바클라이언트 명령어로 윈도우의 서버로 접근하기 위해 사용한다.

    사용법

       smbclient [option] [접속하고자할 호스트명]

    . option

       -L: 접속하고자할 호스트명을 입력한다.

       -U: 접속할 때의 사용자명을 입력한다.

    사용예

      a. [root@www root]# smbclient -L system2 -U administrator

          => system2라는 호스트에 administrator라는 권한으로 접속한다.

      b. [root@www root]# smbclient -L system2 -U administrator%1234

          => system2라는 호스트에 administrator라는 권한으로 접속하는데 패스워드는 1234이다.

      c. [root@www root]# smbcleint \\\\system2\work -U administrator

          => system2라는 호스트의 work라는 디렉토리를 administrator권한으로 접속한다.

   2) smbmount

    설명공유된 윈도우폴더를 유닉스에서 마운트할 때 사용하는 명령이다.

    사용법

       smbmount 윈도우호스트의_공유폴더 마운트할_디렉토리명 [-o option]

    . option: -o를 기본적으로 적어야 하고 key=value형태로 적는다.

       username: 사용자의 권한을 적는다.

    사용예

       [root@www root]# smbmount //system2/work /mnt/win -o username=administrator

        => system2 work라는 공유폴더를 /mnt/win이라는 디렉토리로 마운트한다권한자는

          administrator이다.

   3) smbprint: 삼바 호스트의 프린터에 프린트를 하기 위한 스크립트

   4) smbprint.sysv: smbprint와 같지만 System V계열 유닉스에서 사용한다.

   5) smbstatus: 현재의 삼바 연결상태를 보여준다.

   6) smbrun: 삼바 호스트의 응용프로그램 실행을 용이하게 하는 스크립트이다.

   7) testparm

    설명삼바의 환경설정파일인 smb.conf파일의 설정이 제대로 되었는지 확인하는 명령이다.

    사용법
testparm [
환경설정파일경로] [IP주소]

    사용예

      a. [root@www root]# testparm
=> 
현재 서버에서 /etc/smb/smb.conf파일의 설정을 확인한다.

      b. [root@www root]# testparm /etc/smb/smb.conf 192.168.1.3
=> 192.168.1.3
 IP주소를 갖는 삼바서버의 /etc/smb/smb.conf파일의 설정을 확인한다.

 

   8) nmblookup

    설명: WINS 서버에 질의할 때 사용하는 명령이다
DNS
서버에 질의하는 nslookup명령과 유사 하다.

    사용법

       nmblookup option

    . option

       -U: 서버이름을 지정한다보통 -R옵션과 같이 사용한다.

       -R: 조회할 이름을 지정한다.

    사용예

      a. [root@www root]# nmblookup samba.org -R 'IRIX#1B'
=> samba.org 
라는 서버에 IRIX#1B라는 이름을 조회한다.

      b. [root@www root]# nmblookup \*
=> 
브로드캐스트 영역에 있는 모든 이름을 조회한다.

 

3. smb.conf를 이용한 세팅

(1) 전체설정(Global Setting)

   1) workgroup = MYGROUP  => 윈도우의 작업그룹처럼 공유그룹을 지정한다.

   2) server string = Samba Server => 서버에 대한 설명을 부여해 준다.    

   3) hosts allow = 192.168.1. 192.168.2. 127.
=> 
삼바 서버에 접속을 허용할 호스트를 지정하는데 사용한다접속할 허용할 호스트는 아이피 주소호스트명 등을 지정할 수 있으며네트워크/넷마스크형태로도 지정할 수 있다

또한 EXCEPT라는 키워드와 와일드문자도 사용가능하다참고로 삼바서버에 접속이 불가능하게 하려면 hosts deny로 설정한다
.
  
) 1. hosts allow = 192.168.1. 192.168.2. 127.
  => 192.168.1.0 
네트워크대역에 속한 모든 호스트들과 로컬시스템(127.0.0.0네트워크
)
     
에서 접속이 가능하다.

           2. hosts allow = 192.168.1. EXCEPT 192.168.1.220 192.168.1.244
=> 192.168.1.220
 192.168.1.244를 제외한 192.168.1.0 네트워크에 속한 모든 호스트들이 삼바 서버에 접속할 수 있다
.

            3. hosts allow = 192.168.1.0/255.255.255.0
             => 192.168.1.0 
네트워크에 속한 모든 호스트들의 접속을 허용한다.

             

            4. hosts allow = posein, xitem
              => posein
 xitem이라는 호스트들만 삼바 서버 접속을 허용한다.

              

   4) printcap name = /etc/printcap

     => 서버에 의해 사용되는 printcap name을 겹쳐쓰기 하고자 할 때 그 위치를 지정한다.

    

   5) load printers = yes

     => 삼바 서버의 printcap에 정의된 모든 프린터 목록이 자동적으로 로딩되게 할 것인가를 지정하는 옵션이다네트워크 프린터를 삼바서버에 연결하여 사용하고자 한다면 선택해야 한다.

      

   6) printing = lprng

     => 프린터 시스템 종류를 지정하는 옵션 비표준 프린터시스템이 아니면 지정할 필요가 없다.

   7) ;  guest account = pcguest

     => 공유 설정 섹션에서도 사용하는 항목으로, guest ok로 명시되어 있는 서비스에 접근할 유저를 지정해 준다보통 클라이언트가 손님서비스(guest service)에 접속할 수 있게 된다
이러 한 유저는 /etc/passwd파일안에 존재하는 계정이어야 하며보통 "nobody"로 설정하면 된다
.

   8) log file = /var/log/samba/%m.log
     => 
삼바 서버에 접속하는 호스트의 접속 로그에 대한 기록을 저장하는 파일을 지정한다
.

   9) max log size = 0
     => 
로그 파일의 최대 크기를 KB단위로 제한두려고 할 때 사용되는 옵션이다제한을 두었을경

         
우에 이를 초과하게 되면 .old확장자를 가진 파일로 저장되고 새로운 파일이 생성된다
         
현재처럼 0으로 설정하면 파일의 크기에 제한을 두지 않는다.

   10) security = user

      => 보안관련 옵션으로 클라이언트가 삼바서버에 접속할 때 인증 레벨을 부여하는 옵션이다.

        보안모드에는 4가지모드가 있는데 user, share, server, domain등이다. \

 

    * 4가지 모드
user: 
삼바 서버에 접속하는 클라이언트는 먼저 반드시 윈도우 시작시 사용자명과 패스워드로 로그인을 한 후에 삼바 서버에 접속할 때 같은 사용자명으로 패스워드를 확인한 후에 접속이 이루어진다.

    share: 유효한 사용자명과 패스워드로 삼바 서버에 로그인을 하지 않아도 서버에 접속할 수있게 하므로삼바 서버 인증과정을 필요로 하지 않을 때 이 레벨로 지정하면 된다.
공유 디렉토리 접근에 제한을 두는 경우에 사용할 수 있다
.

    server: 윈도우 NT와 같은 다른 삼바 서버가 존재해야 하며다른 삼바 서버에 사용자명과 
패스 워드를 전달하여 올바른지를 확인한다.

    domain: 윈도우 NT서버가 있어야 가능하며삼바서버가 사용자명과 패스워드를 윈도우NT의 
도메인 컨트롤러(Domain Controller)에 전달하여 유효한지 확인하는 방법이다

   11) ;   password server = <NT-Server-Name>

    => 보안옵션에서 server domain값을 설정했을 경우에 윈도우 NT같은 다른 삼바서버의NetBIOS이름으로 지정한다.

   12) ;  password level = 8
       ;  username level = 8
    => 
패스워드 레벨과 유저 레벨을 설정하는 것으로 8개 문자를 사용하도록 설정한다
.

   13) encrypt passwords = yes
   => 
삼바서버에 클라이언트의 접속이 이뤄지는 과정에서 인증을 위하여 암호화 패스워드 옵션을

   
사용할 수 있다암호화된 패스워드를 지정하는 옵션이다.

   14) smb passwd file = /etc/samba/smbpasswd
    => 
이 옵션은 encrypt passwords항목과 같이 사용되는 것으로 암호화된 삼바 사용자의 아이디

    
와 패스워드가 기록되는 파일이다이 파일에 패스워드를 추가하는 명령은 smbpasswd이다.

   15) ;  unix password sync = Yes

       ;  passwd program = /usr/bin/passwd %u

       ;  passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password(생략)

    => 클라이언트 호스트에서 사용자의 패스워드를 변경할 수 있도록 해주는 옵션이다이 경우에는 encrypt password, smb passwd file 두 옵션을 반드시 사용해야 한다.


   16) ;  username map = /etc/samba/smbusers

    => 리눅스 사용자 이름과 삼바 사용자 이름이 서로 다를 경우 서로 매핑시키기 위한 사용한다.

 

   17) ;   include = /etc/samba/smb.conf.%m

    => 접속하는 각 클라이언트마다 서로 다른 설정을 사용할 수 있게 해주는 것으로 %m은 접속하는 NetBIOS이름으로 대치된다.

   18) socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

    => 사용자의 로컬 네트워크상에서 삼바서버가 최적의 성능을 발휘할 수 있도록 튜닝할 때 사용
한다. IPTOS_LOWDELAY, IPTOS_THROUGHPUT 등의 옵션이 있다.

 

   19) ;   interfaces = 192.168.12.2/24 192.168.13.2/24

    => 삼바에 연결된 네트워크 인터페이스를 설정하는 것으로인터페이스는 IP/netmask조합으로 지정할 수 있다위의 설명은 삼바서버가 서로 네트워크 인터페이스를 사용할 때 사용하는 것으로 192.168.12.2 호스트와 192.168.2.2 호스트에 연결을 허용한다는 의미이다.

   20) ;   remote browse sync = 192.168.3.25 192.168.5.255

       ;   remote announce = 192.168.1.255 192.168.2.44

   => 동기화시킬 원격 브라우저를 설정하는 부분이다.

   21) ;   local master = no

    => 이 옵션은 삼바가 nmbd에 의해 서브넷상에서 로컬마스터브라우저가 될 수 있도록 허용하는 것으로 no라고 설정하면 nmbd데몬은 서브넷상에서 로컬 마스터브라우저가 되지 않는다.

   22) ;   os level = 33

    => 삼바서버가 브라우저 선거에 있어서 자신을 알릴 수 있는 레벨을 설정하는 것으로 이 값에 의해서 nmbd데몬이 로컬브로드캐스트지역에서 WORKGROUP에 대해 로컬마스터 브라우저가 될 수 있는지 결정된다
이 값을 0으로 설정하면, nmbd데몬은 윈도우 머신에 대해서 선거권을 상실하므로 로컬마스터 브라우저가 되질 못한다. (관련문서는
 BROWSING.txt)|

   23) ;   domain master = yes

    => 이 옵션은 삼바가 도메인 마스터 브라우저가 되도록 해준다이것은 삼바와 서브넷간의 브라우저 리스트를 모집할 수 있게 해준다만일 NT도메인 컨트롤러를 가지고 있다면 이 기능을 사용해서는 안된 다.

 

 

   24) ;   preferred master = yes|
    => 
삼바구동시 로컬 마스터 선거를 강요하여 선거에서 이길 수 있게 보다 많은 가능성을 부여해

    
주는 옵션이다이 옵션은 domain master = yes옵션과 같이 사용하여 nmbd데몬에 의해 도메인    
    
마스터가 될 수 있도록 해준다.

 

   25) ;   domain controller = <NT-Domain-Controller-SMBName>

    => 이 옵션은 호환성 문제로 현재는 사용하는 않는다.

 

   26) ;   domain logons = yes

    => 삼바서버가 WORKGROUP에 윈도우98 도메인 로그온 역할을 할 것인지의 여부를 지정한다.

   27) ;   logon script = %m.bat

       ;   logon script = %U.bat

    => 사용자가 성공적으로 로그인을 하였을 때 다운로드하여 작동할 수 있도록 배치파일(*.bat) 또는 NT명령파일(.cmd)을 지시해 주는 옵션이다배치파일은 마지막 줄에 cr/if가 들어있어야 하므로 도스편집기에서 만드는 것을 권장한다내용은 사용자가 임의대로 지정할 수 있다.

    보통 모든 클라이언트 머신들이 서버와 똑같은 시간에 시간을 맞추도록 할 수 있다.
        NET TIME \\SERVER /SET /YES

 

   28) ;   logon path = \\%L\Profiles\%U

    => 윈도우98  NT에서 user.dat과 같은 로우밍 프로파일(roaming profile)을 어디에 지정할 것인가를 지정해 주는 옵션이다. %L은 서버의 NetBIOS이름으로 대치되고, %U는 사용자 이름으로 대치된다이 옵션을 사용할 때 [Profile]공유 항목에서 주석을 풀어 주어야 한다.

 

   29) ;   wins support = yes

    => 삼바서버에서 nmbd데몬이 wins서버의 역할을 할 수 있는지 여부를 지정한다만일 이 옵션을 선택하기 위해서는 반드시 다중 서브넷 네트워크를 가지고 있어야 하며, wins서버로 될특정 nmbd데몬이 있어야 한다.

 

    (참고) WINS(Windows Internet Naming Service)

    마이크로소프트 윈도우NT 서버의 일부인 WINS는 각 구성 변경에 수반되는 사용자 또는 관리자가 없는 IP주소들과 컴퓨터 이름 및 위치들과의 결합을 관리한다. WINS는 컴퓨터 이름과 IP주소를 서로 매칭시켜 데이터를 테이블내에 자동으로 만드는데이 이름들은 다른 사람의 컴퓨터 이름과 중복되지 않도록 고유한 이름으로 견지한다컴퓨터가 다른 장소로 옮겨지면, IP주소의 서브넷 부분이 변경될 수 있다. WINS를 사용하면 새로운 서브넷 정보가 WINS테이블내에서 자동으로 갱신된다. WINS는 어떤 컴퓨터가 네트워크에 처음  정의될 때 IP주소를 협상하는 NT서버의 DHCP를 보충하여 완전하게 한다.
예를 들면 같은 네트워크에서 사람이 많아지면 네트워크에 부하도 많이 발생한다이 경우WINS를 사용하면 컴퓨터이름과 IP목록을 관리해주기 때문에 동보통신에 의한 부담을 줄일 수 있다.

 

   30) ;   wins server = w.x.y.z

    => wins 서버가 있을 경우 wins server IP값을 지정하는 옵션이다

   31) ;   wins proxy = yes

    => nmbd에 의해서 wins기능을 갖추지 못한 호스트들을 대신하여 브로드캐스트 이름 질의를 대신 응답해 줄 수 있도록 지정해 주는 옵션이다이것을 사용하려면 네트워크상에 최소 하나 이상의 WINS서버가 있어야 한다.

   32) dns proxy = no 
    => nmbd
데몬이 wins server역할을 하고등록되지 않는 NetBIOS이름을 찾아줄 때 

    DNS server 
를 사용하여 NetBIOS이름을 찾아줄 것인지의 여부를 지정하는 옵션이다.

   33) ;  case sensitive = no

    => 대소문자를 보존할 필요가 있을 때 설정하는 부분이다.

 

 

(2) 공유 정의(Share Definitions) : 삼바 서버에 접속할 수 있는 사용자의 홈디렉토리 설정   
1) [homes]

       comment = Home Directories

       browseable = no

       writable = yes

=> 사용자의 홈 디렉토리 서비스 사용을 위한 기본적인 설정을 해주는 항목이다. comment는 간단한 설명문, browseable은 공유이름을 브라우저에 표시할 수 있게 하는 기능, writable은 쓰기허용을 설정한다.

   2) [netlogon]

        comment = Network Logon Service

        path = /home/netlogon

        guest ok = yes

        writable = no

        share modes = no

=> 도메인 로그온을 사용하고자 할 때 사용한다일반적으로 사용하지 않는다.


   3) [Profiles]

       path = /home/profiles

       browseable = no

       guest ok = yes

    => 특정한 프로파일을 지정할 때 사용한다일반적으로 사용하지 않는다.

   4) [printers]

       comment = All Printers

       path = /var/spool/samba

       browseable = no

       guest ok = no

       writable = no

       printable = yes

    => 삼바프린터를 네트워크 공유프린터로 사용하고자 할 경우에 설정한다. BSD계열의 프린터 시스템을 사용하면 일일이 프린터를 정의하지 않아도 된다.

   5) [tmp]

       comment = Temporary file space

       path = /tmp

       read only = no

       public = yes

    => 여러 사람들이 파일을 공유할 목적으로 유효하게 사용할 수 있다현재 기본값인 /tmp는 임시작업공간 디렉토리이므로 /var/tmp처럼 다른 디렉토리를 만들어서 사용하도록 한다.

   6) [public]

       comment = Public Stuff

       path = /home/samba

       public = yes

       read only = yes

       write list = @staff

    => 공개적으로 접근이 가능한 디렉토리이지만 staff그룹에 있는 사용자들을 제외한 사용자들은 오직 읽기만 사용가능하다.

   7) 사용자정의 섹션

     ) [posein]

           comment = shared-files in posein directory         => 간단한 설명이다.

           path = /home/posein/pds          => 공유디렉토리의 경로를 지정한다.

           read only =no   => 공유디렉토리를 읽기만 가능하게 할지를 지정한다.

           writable = yes  => write ok = yes와 같은 옵션으로 쓰기가 가능하다.

           valid user = posein xitem prehee             =>서비스디렉토리에 사용가능한 사용자를 말하며만약 이 옵션이 생략되면 모든 사용자가 접근할 수 있다.

           public = no                 => guest ok와 같은 옵션으로 no로 설정하면 다른 사용자들은 이용할 수 없고 개인사용자만 사용할 수 있게 된다.

           browseable = no        => 이용 가능한 공유리스트를 보여줄 것인가를 지정하는 것으로 no로 지정하면 리스트를 보여주지 않는다.

           printable = no          => 서비스로 지정된 디렉토리에 스풀파일을 지정할 것인가를 지정                              는 것으로프린터 공유 디렉토리가 아니므로 대부분 no로 설정한다.

           create mask =0765        => create mode와 같은 옵션으로 파일을 생성할 때 사용되는 모드를 나타낸다.

        (참고) samba 에서 공유디렉토리를 지정할 때 사용하는 옵션 설명

              - read only : 공유 디렉토리를 읽기만 가능하게 할 것인지를 결정

              - writable, write ok : 공유 디렉토리를 쓰기 가능하게 할 것인지를 결정

              - valid users : 공유 디렉토리에 로그인할 수 있는 사용자를 결정

              - public, guest ok : 다른 사용자들이 이용하게 할 지를 결정

              - browseable : 공유 디렉토리의 리스트를 보여줄 지를 결정

              - printable : 공유 디렉토리에 스풀 파일을 지정할 것인지를 결정

              - path : 공유할 디렉토리의 절대경로를 지정

              - comment : 간단한 설명을 적음

              - create mask, create mode : 파일을 생성할 때의 모드를 결정. umask값형태로 지정.

              - write list : 쓰기가 가능한 특정 사용자를 지정


 

4. 삼바를 이용하여 공유하기

(1) 리눅스 드라이브를 윈도우와 공유하기

   1) /etc/samba/smb.conf파일의 편집

 #======================= Global Settings =====================================

    [global]

     workgroup = WORKGROUP   // 윈도우의 워크그룹과 동일한 그룹을 지정한다.

     server string = FILE SERVER  // 리눅스서버에 대한 설명을 적는다.

     hosts allow = 192.168.0. 203.247.51. 127.  // 접근허용할 네트워크 범위를 지정한다.

     security = share

 

 #============================ Share Definitions ==============================

    [public]

    comment = samba            // 간단한 설명

    path = /home/posein/samba   // 공유디렉토리 지정

    public = yes

    writable = yes

    printable = no

  (
참고) public으로 공유하고 writable = yes이면 공유한 해당디렉토리에 다른 사용자계층의 퍼미션

  
에서 쓰기권한을 부여해야 한다.

   2) 삼바 데몬을 다시 가동한다.

    /etc/rc.d/init.d/smb restart

   3) 삼바 서버에서 테스트하기

    [root@mybestone /root]# testparm

    Load smb config files from /etc/samba/smb.conf

    Processing section "[homes]"

    Processing section "[printers]"

    Processing section "[public]"

    Loaded services file OK.

    Press enter to see a dump of your service definitions

   4) /etc/hostname이라는 파일을 생성하여 윈도우에서 확인할 이름을 지정한다.

     ) linux

   5) 윈도우에서 확인하기

    네트워크환경 => linux 라는 컴퓨터이름이 생성된다. linux를 더블클릭해서 확인해보면 public 이라는 공유폴더가 보인다

   6) smbstatus로 서버 체크하기

 [root@mybestone /etc]# smbstatus

 Samba version 2.2.0

 Service      uid      gid      pid     machine

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

 public       nobody   nobody   14568   posein_note (192.168.0.3) Fri Jul 26 01:18:18 2002

 No locked files

 

(2) 리눅스 클라이언트에서 윈도우 공유 폴더 접근하기

   1) 윈도우 PC설정 (윈도우 2000기준)

    전체컴퓨터이름과 작업 그룹명 확인

       바탕화면의 [내컴퓨터]를 오른쪽버튼클릭한뒤 [네트워크식별]항목을 보고 확인한다.

        전체컴퓨터이름: posein_note

            작업그룹신경회로망

    공유할 폴더선택 및 공유설정

    바탕화면의 [네트워크환경]의 등록정보에서 'Microsoft네트워크 파일 및 프린터공유'가 있는지 확인한다.

   2) 리눅스에서 윈도우 접근(1): smbclient명령의 이용

    . smbclient명령을 이용하여 정보확인하기

       [root@mybestone /etc]# smbclient -L posein_note -U administrator

       added interface ip=203.247.40.252 bcast=203.247.40.255 nmask=255.255.255.0

       added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0

       Got a positive name query response from 203.247.40.244 ( 203.247.40.244 )

       Password:

        => 패스워드를 입력하면 정보를 보여준다

    접근하여 읽거나 쓰기작업하기

       [root@mybestone /etc]# smbclient \\\\posein_note\\work -U administrator

       added interface ip=203.247.40.252 bcast=203.247.40.255 nmask=255.255.255.0

       added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0

       Got a positive name query response from 203.247.40.244 ( 203.247.40.244 )

       Password:

       Domain=[신경회로망] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]

       smb: \>

        => 패스워드를 정확히 입력하면 위와 같이 프롬프트가 나타난다. ?를 입력하면 기본적으로

          사용할 수 있는 명령어의 리스트가 나타난다

   3) 리눅스에서 윈도우접근(2): smbmount명령의 이용- mount명령어와 같은 형식으로 윈도우 공유

                               폴더와 그 폴더를 리눅스에서 마운트할 디렉토리가 필요하다.

    마운트한다.

    [root@mybestone /etc]# smbmount //posein_note/work /mnt/win -o username=administrator

    Password:

    => 패스워드를 입력하면 해당디렉토리로 마운트된다. /mnt/win이라는 디렉토리는 생성되어 있어야 하면 -o는 사용자이름을 지정하기 위한 옵션이다.

    . cd /mnt/win으로 이동하여 읽거나 쓰기를 한다.

 

5. 삼바 User레벨로 사용하기

(1) User레벨관련 주요 파일 분석

   1) /etc/samba/smb.conf

    설명삼바의 환경설정파일로 크게 두 개의 섹션으로 구분되어 있다.

    . Section

      a. [global] : 삼바와 관련된 전체적인 환경설정을 하는 부분으로

      b. [share definition] : 공유영역으로 여러 섹션이 존재한다주요 섹션은 다음과 같다.

        - [homes] : home디렉토리와 관련된 설정을 할 수 있다.

        - [printers] : 프린터와 관련된 설정을 할 수 있다.

        - [tmp] : /tmp 디렉토리와 관련된 설정을 할 수 있다.


    
. magic cookies: 삼바의 smb.conf에서도 아래의 magic cookies를 사용할 수 있다.

       %u : 현재 사용중인 유저

       %g : 현재 사용중인 유저 그룹

       %m : 클라이언트의 NetBIOS이름

       %v : 버전

       %h : 호스트이름

       %p : 서버의 홈디렉토리 경로

       %d : 서버의 프로세서ID

       %S : 현재 사용되는 서비스 이름

       %P : 현재 사용되는 서비스의 루트 디렉토리

       %U : 세션의 유저

       %G : 셔션의 유저그룹

       %H : %u로 주어진 유저의 홈디렉토리

       %L : 서버의 NetBIOS이름

       %M : 클라이언트 머신 이름

       %N : NIS 홈디렉토리 서버의 이름

       %I : 클라이언트 머신 IP

       %T : 날짜와 시간

   2) /etc/samba/smbusers : 삼바사용자들을 설정하는 파일이다.

   3) /usr/bin/smaadduser : 삼바사용자들의 패스워드를 등록하는 명령이다.

   4) /var/log/samba : 삼바의 로그가 기록되는 파일이다.

   5) /var/spool/samba : 프린터의 스풀디렉토리이다.

(2)  삼바서버의 인증레벨

   1) 설명: smb.conf파일의 [global]섹션의 security항목에서 설정한다.

   2) security 레벨의 설정

    . share : 인증과정을 거치지 않고 접근이 가능하다. smb.conf파일에서 hosts allow항목에 지정

               된 호스트라면 비밀번호없이 삼바를 사용할 수 있다.

    . user

      a. 설명사용자의 인증을 거치는 레벨이다.

      b. 윈도우 사용자의 접속법 : 삼바서버에 설정한 계정과 패스워드로 접속한다.

      c. smb.conf파일에서의 설정 
- [global] 
섹션의 encrypt passwords = yes, smb passwd file = /etc/smbpasswd 설정을 추가로 해야 한다.

      d. 삼바의 사용계정: /etc/passwd에 있는 계정이어야 한다.

      e. 삼바사용자의 지정: smbpasswd 명령을 이용하여 사용자 계정과 비밀번호를 설정한다.

    . server

      a. 설명사용자 정보를 담고 있는 윈도우서버와 같이 다른 운영체제가 삼바서버에 대한 사용자와 패스워드를 인증을 전달하는 방법이다.

      b. smb.conf파일에서의 설정: password server 지시자에 인증할 서버의 IP를 적는다.

    . domain : 삼바서버가 윈도우 서버의 도메인 컨트롤러에 사용자명과 패스워드를 전달하여

                인증하는 방법으로 server레벨과 비슷하다.


 

(3) 삼바관련 명령어

   1) smbpasswd

    설명삼바서버의 사용자 계정을 만들거나 패스워드를 설정하는 명령이다.

    사용법

       smbpasswd option user_id

    . option

       -a : 사용자계정을 추가시에 사용한다.

       -x : 사용자계정을 삭제한다.

   2) smbadduser

    설명삼바서버의 사용자계정을 만드는 명령이다.

    사용법

       smbadduser 계정명:계정명

        => 콜론(:)을 기준으로 앞의 계정명은 Unix에서 사용할 이름이고 뒤의 계정명은 윈도우에서

          사용하는 계정명이다.

    사용예

       smbadduser posein:posein

        => posein이라는 사용자를 추가한다.

(4) user레벨로 삼바서버 사용하기

   1) 리눅스서버에서 설정하기

     . smb.conf파일 설정

        security = user                // user레벨로 변경

        encrypt passwords = yes       // 활성화시킨다.

        smb passwd file = /etc/samba/smbpasswd   // 활성화시킨다.

     사용자추가하기

   [root@www samba]# smbpasswd -a posein  
=> posein 
이라는 계정을 추가하였다리눅스서버의 계정으로 한다.

 

      New SMB password:            // 패스워드를 설정한다반드시 리눅스서버의

                                      //패스워드와 같지 않아도 된다.

     Retype new SMB password:

     unable to open passdb database.

     Added user posein.

 

출처 : 정성재 강사님 (대전 국제IT교육센터)



Hadoop 사용시 key파일을 등록하여야 hadoop 멀티노드 운영때마다 비밀번호 물어보는걸 생략시킬수 있다.



~/.ssh 파일 루트가 있다면 ssh 키가 생성되어 있는 상태이고 해당루트파일이 없다면 생성하여야합니다.


ssh localhost 를 통해서 생성할수도 있으며 


ssh-keygen -t rsa 를 통해서도 가능하다



생성후 ~/.ssh 에 id_dsa.pub 파일을 통해서 authorized_keys 에 파일을 추가하는 방식을통해 자동 로그인되도록 설정할수있다.



권한은 ~/.ssh 755 권한


authorized_keys 파일의 경우는 644권한을 할당하여 주도록한다. 





생성과 등록을 한번에 하는방법으로


ssh-copy-id 계정명@host 식으로 실행하면 자동으로 key파일이 복사된다.  

'운영체계자료 > Linux' 카테고리의 다른 글

리눅스 smb 마운트  (0) 2018.07.28
SMB 삼바  (0) 2018.07.28
리눅스 ssh 파일전송 명령어  (0) 2018.07.28
Ubuntu LTS 12.04 ip 설정  (0) 2018.07.28
리눅스 Centos7 방화벽 설정  (0) 2018.07.22

 scp 명령어를 이용한 파일 복사 및 전송

 

  ssh에서 제공되는 scp 명령어를 통해 로컬서버↔원격서버 로의 파일을 간단하게 전송할 수 있다.

 

 1. 사용방법
    1) 원격 서버 → 로컬 서버로 파일 전송
        # scp [옵션] [계정명]@[원격지IP주소]:[원본 경로 및 파일] [전송받을 위치]


        예제1) IP 111.222.333.444 서버의 abc라는 계정으로 /home/abc/index.html 파일을 로컬서버 /home/me/ 디렉토리에 전송 받기

                    # scp abc@111.222.333.444:/home/abc/index.html /home/me/

 

    2) 로컬 서버 → 원격 서버로 파일 전송
        # scp [옵션] [원본 경로 및 파일] [계정명]@[원격지IP주소]:[전송할 경로]


        예제2) 로컬서버 /home/me/wow.html 파일을 IP 111.222.333.444 서버의 /home/abc/ 디렉토리에 전송 하기
                   # scp /home/me/wow.html abc@111.222.333.444:/home/abc/

 

    3) ssh포트를 기본 22번으로 사용하고 있지 않는 서버로의 전송


        예제3) 2222번인 SSH포트를 사용한다면 아래와 같이 –P 옵션과 포트번호를 넣어준다.
                  # scp –P 2222 abc@111.222.333.444:/home/abc/index.html /home/me/
                  # scp –P 2222 /home/me/wow.html abc@111.222.333.444:/home/abc/

 

        [주의사항]
        옵션중에 –P와 –p가 있으니 대/소문자 확인을 하여야 한다.
        -P : 포트번호를 지정함
        -p : 원본파일 수정/사용시간 및 권한을 유지함
        -r : 하위 디렉토리 및 파일 모두 복사함



출처: http://faq.hostway.co.kr/?mid=Linux_ETC&page=8&document_srl=1426

sudo vi /etc/network/interfaces = ip 설정

auto lo eth0 

iface lo inet loopback 

iface eth0 inet static 

address 192.168.0.101 

netmask 255.255.255.0 

gateway 192.168.0.1


sudo vi /etc/resolv.conf   = nameserver 설정


nameserver 8.8.8.8

nameserver 1.1.1.1

webserver zone 추가

firewall-cmd --permanent --new-zone=webserver


default값 webserver 로 설정

firewall-cmd --set-default-zone=webserver


http service 포트 추가 명령어

firewall-cmd --permanent --zone=webserver --add-service=http
firewall-cmd --zone=webserver --add-port=21/tcp --permanent


방화벽 서비스 시작 & 스탑 명령어
systemctl start firewalld.service
systemctl stop firewalld.service


방화벽 설정 확인
vi /etc/firewalld/zones/webserver.xml


현재 설정된 zone 확인 
firewall-cmd --get-default-zone


'운영체계자료 > Linux' 카테고리의 다른 글

리눅스 ssh 파일전송 명령어  (0) 2018.07.28
Ubuntu LTS 12.04 ip 설정  (0) 2018.07.28
fedora/리눅스 로그인계정 선택없애기  (0) 2018.07.18
Linux 부팅과정  (0) 2016.05.22
shell 명령어  (0) 2016.05.01


MSE 를 서버에 설치하려면 기본적으론 설치가 되지않는다..


하지만 설정을 몇가지 바꾸면 정상적으로 설치할수 있다.






PowerShell 관리자권한으로 실행한 이후 MSE 설치파일뒤에 해당 옵션을 붙이어 설치하면 정상적으로 설치된 모습을 볼수있다.


\MSEInstall.exe /disableoslimit




로그인시 계정선택없이 바로 로그인 하는 방법입니다.



/etc/dconf/db/gdm.d 루트에

01-login-screen 을 생성 (vi 편집기를 이용하여 아래와같이 작성후 저장한다

[org/gnome/login-screen] disable-user-list=true

gdm 파일을 삭제
rm etc/dconf/db/gdm 

dconf 업데이트

dconf update


  

이후 Xorg 데몬을 재실행하거나 재부팅되면 적용된 모습확인 


'운영체계자료 > Linux' 카테고리의 다른 글

Ubuntu LTS 12.04 ip 설정  (0) 2018.07.28
리눅스 Centos7 방화벽 설정  (0) 2018.07.22
Linux 부팅과정  (0) 2016.05.22
shell 명령어  (0) 2016.05.01
리눅스 명령어 grep  (0) 2016.04.24

windows 10 설치하기 (윈도우10 usb설치)

 

준비물 : 일반 usb 4gb 이상, MediaCreationTool (블로그에서 제공)

 

첨부파일 용량으로 인해 7zip 으로 압축되어 있습니다 압축해제후 실행해주세요

 

MediaCreationTool.7z


마이크로소프트 공식 다운로드 URL


https://www.microsoft.com/ko-kr/software-download/windows10?SearchToggle=true

 

 

방법은 간단합니다 하기의 순서대로 진행하시면 됩니다.

 

 

 

 

이렇게 미디어를 모두 제작하신후 이제 OS재설치를 진행하시면 됩니다.

 

 

 

 

 

 

윈도우7 엔터입니다.

 

ko_windows_7_enterprise_k_with_sp1_x64_dvd_621211

 

Windwos 7 Enterprise 정품 오리지날 이미지 입니다.

 

 

 

다운로드 <- 클릭. 암호는 댓글로 문의하시면 답변드립니다.

 

 

 

'운영체계자료 > ISO이미지' 카테고리의 다른 글

windows xp professional  (0) 2016.09.08
Windows 7 Enterprise K 32bit  (18) 2016.04.24
window7 usb.zip

Windows7 설치 USB 만들기

 

첨부파일을 다운로드하여 Windows 7 USB DVD 다운로드 도구 를 먼저 설치합니다.

 

방법은 간단합니다.

 

하기의 그림처럼 4단계를 진행하시면 완료됩니다.

 

 

 

 

Windows 7 Iso 파일이 필요하시다면

 

다음 포스트글로 이동하시면 됩니다.

 

윈도우7iso다운로드글로이동하기

 

'운영체계자료 > Windows 7' 카테고리의 다른 글

윈도우 실행 명령어  (0) 2014.02.27
윈도우7 종류  (0) 2013.10.22
윈도우7 시스템복구 사용법  (0) 2013.10.22

ko_windows_xp_professional 정품 ISO 입니다.

 

MSDN 정품이며 볼륨라이센스 입니다.

 

ko_windows_xp_professional_k_with_service_pack_3_x86_cd_vl_x14-87427

 

다운로드를 원하시는분은 아래의 다운로드 버튼을 눌러주세요.

 

다운로드 <---

 

'운영체계자료 > ISO이미지' 카테고리의 다른 글

Windows7 Enterprise 64bit  (8) 2016.09.09
Windows 7 Enterprise K 32bit  (18) 2016.04.24

Linux 부팅과정입니다.

 

 

'운영체계자료 > Linux' 카테고리의 다른 글

Ubuntu LTS 12.04 ip 설정  (0) 2018.07.28
리눅스 Centos7 방화벽 설정  (0) 2018.07.22
fedora/리눅스 로그인계정 선택없애기  (0) 2018.07.18
shell 명령어  (0) 2016.05.01
리눅스 명령어 grep  (0) 2016.04.24

리눅스 shell 명령어

 

예시

 

#!/bin/sh        
str="hello I am variable"
echo $str           => hello I am variable
echo "$str"         => hello I am variable
echo '$str'          => $str
echo \$str         => $str
echo "input text" => input text
read str
echo 'str' is $str
exit 0

 

 

 

 

#!/bin/sh
echo 'What is your name?'    // 질문문 이름이 무엇이지 물어보는 문장
read yourname                // 입력한 값을 읽어들임
if [ $yourname = "Tom" ]    //  탐과 일치하는지 확인
then                        // 일치하면
    echo "You are Tom."     // 탐값을 출력
else                        // 아니라면
    echo "You are not Tom." // 탐이 아니라는 값을출력
fi
exit 0

 

 

 

 

 

 

##패스워드 만들기

 

#!/bin/sh
echo -n "Input Password :"  # 패스워드 문의
read pawd                   # pawd 변수
while [ $pawd != "1234" ]   # 1234 가 맞으면 참값출력
do
 echo -n "Input Password :" # 틀리면 다시 반복
 read pawd
done
echo "OK"                         # 참값 출력
exit 0

 

'운영체계자료 > Linux' 카테고리의 다른 글

Ubuntu LTS 12.04 ip 설정  (0) 2018.07.28
리눅스 Centos7 방화벽 설정  (0) 2018.07.22
fedora/리눅스 로그인계정 선택없애기  (0) 2018.07.18
Linux 부팅과정  (0) 2016.05.22
리눅스 명령어 grep  (0) 2016.04.24

+ Recent posts