본문으로 바로가기

컴퓨터/Linux 검색 결과

해당 글 20
find /home/사용자디렉토리/ -user 대상유저명 | xargs chown 변경그룹.변경소유자


출처 : http://blog.rubi.kr/linux%EC%97%90%EC%84%9C-%ED%8A%B9%EC%A0%95-%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%9D%98-%ED%8A%B9%EC%A0%95-%EA%B3%84%EC%A0%95-%EC%86%8C%EC%9C%A0%EA%B6%8C-%EB%B3%80%EA%B2%BD%ED%95%98%EA%B8%B0/
크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

[Linux] Crontab에 프로세스 정지와 실행을 등록



#!/bin/sh
count=0
cd /opt/monitoring
for line in `ps -ef | grep "monitoring" | grep -v grep | awk '{ printf("%s\n", $2); }'`
do
    if [ $line -ge 1 ]; then
        #echo $line
        #프로세스 죽이기는 아래것중 아무것나 사용하면 됩니다.
        #kill -TERM $line    
        kill -9 $line
    fi
    
    #echo $count
    
    if [ $count -eq 0 ]; then
        rm -rf /opt/monitoring/*.out
        /usr/bin/nohup /opt/monitoring/device.php &
        #echo bakgroundstart
        count=$(($count+1))
    fi
done
크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

쉘스크립트 비교연산자 활용

category 컴퓨터/Linux 2018/03/26 10:44
쉘스크립트 비교연산자 활용


정수 비교

-eq

    같음

    if [ "$a" -eq "$b" ]
-ne

    같지 않음

    if [ "$a" -ne "$b" ]
-gt

    더 큼

    if ["$a" -gt "$b" ]
-ge

    더 크거나 같음

    if [ "$a" -ge "$b" ]
-lt

    더 작음

    if [ "$a" -lt "$b" ]
-le

    더 작거나 같음

    if [ "$a" -le "$b" ]
<

    더 작음(이중 소괄호에서)

    (("$a" < "$b"))
<=

    더 작거나 같음(이중 소괄호에서)

    (("$a" <= "$b"))
>

    더 큼(이중 소괄호에서)

    (("$a" > "$b"))
>=

    더 크거나 같음(이중 소괄호에서)

    (("$a" >= "$b"))

문자열 비교

=

    같음

    if [ "$a" = "$b" ]
==

    같음

    if [ "$a" == "$b" ]

    = 와 동의어입니다.
!=

    같지 않음

    if [ "$a" != "$b" ]

    이 연산자는 [[ ... ]] 에서 패턴 매칭을 사용합니다.
<

    아스키 알파벳 순서에서 더 작음

    if [[ "$a" < "$b" ]]

    if [ "$a" \< "$b" ]

    "<" 가 [ ] 에서 쓰일 때는 이스케이프를 시켜야 하는 것에 주의하세요.
>

    아스키 알파벳 순서에서 더 큼

    if [[ "$a" > "$b" ]]

    if [ "$a" \> "$b" ]

    ">" 가 [ ] 에서 쓰일 때는 이스케이프를 시켜야 하는 것에 주의하세요.

    이 비교 연산자를 어떻게 응용하는지 예 26-4에서 살펴보세요.
-z

    문자열이 "null"임. 즉, 길이가 0
-n

    문자열이 "null"이 아님.
크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요


#
# sudo cat /etc/mysql/debian.cnf
#


파일 수정

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = 비밀번호
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
user     = debian-sys-maint
password = 비밀번호
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr



MySQL 로그인
#mysql -u root -p <password>



DB 에 비밀번호 적용
mysql> GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '비밀번호';


재시작
#sudo /etc/init.d/mysql restart
크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

[Ubunto] UFW 방화벽 사용하기

category 컴퓨터/Linux 2017/02/21 09:40
[Ubunto] UFW 방화벽 사용하기

설치
$ sudo apt-get install ufw


기본 정책 설정 (들어오는 패킷은 차단, 나가는 패킷은 허용)
$ sudo ufw default deny incoming
$ sudo ufw default allow outgoing


ssh, http, https 허용 (ssh 포트를 변경해서 사용한다면 반드시 직접 포트를 입력하자)
$ sudo ufw allow ssh
$ sudo ufw allow http
$ sudo ufw allow https


포트를 변경해 사용하거나 특정 포트를 허용
$ sudo ufw allow 8080


방화벽 ON!
$ sudo ufw enable


위의 명령을 실행하면 "현재 ssh 연결에 문제가 생길 수 있습니다. 적용하시겠습니까?" 뭐 이런 질문이 나온다. ssh 포트는 허용으로 변경했으니 "y" 를 입력해 진행할 수 있다.

확인
$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22                         ALLOW IN    Anywhere
80/tcp                     ALLOW IN    Anywhere
443/tcp                    ALLOW IN    Anywhere
22 (v6)                    ALLOW IN    Anywhere (v6)
80/tcp (v6)                ALLOW IN    Anywhere (v6)
443/tcp (v6)               ALLOW IN    Anywhere (v6)


ufw 가 실행되고 있지 않다면 아래와 같은 결과가 리턴된다.
$ sudo ufw status verbose
Status: inactive


방화벽을 끌 때는 아래와 같은 명령어를 입력한다
$ sudo ufw disable


등록된 규칙을 삭제할 때는 2가지 방법이 있다.
첫번째는 등록 시 사용한 규칙을 그대로 입력하는 방법
$ sudo ufw delete allow ssh
$ sudo ufw delete allow 8080


두번째는 각 규칙의 번호를 확인하고 번호로 지우는 방법
$ sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere
[ 3] 443/tcp                    ALLOW IN    Anywhere
[ 4] 22 (v6)                    ALLOW IN    Anywhere (v6)
[ 5] 80/tcp (v6)                ALLOW IN    Anywhere (v6)
[ 6] 443/tcp (v6)               ALLOW IN    Anywhere (v6)


등록된 규칙의 번호는 줄 맨앞에 있는 [숫자]

2번 규칙 80/tcp 를 지우려면
$ sudo ufw delete 2


새로운 규칙의 추가는 동일한 방식으로 가능하다
$ sudo ufw allow 21


포트 뒤에 tcp 나 udp 를 지정할 수 있고 지정하지 않는다면 모두 적용된다
$ sudo ufw allow 21/tcp


새로운 설정을 적용하려면 disable > enable 해도 좋고 아래와 같이 reload 가 가능하다
$ sudo ufw reload



특정 IP만 허용할 경우
$ sudo ufw allow from 192.168.0.101


특정 IP만 거부할 경우
$ sudo ufw deny from 192.168.0.101


특정 IP에게 특정 포트만 허용할 경우
$ sudo ufw allow from 192.168.0.101 to any port 8080


특정 IP에게 특정 포트만  거부할 경우
$ sudo ufw deny from 192.168.0.101 to any port 8080


포트의 범위를 규칙으로 사용할 경우
$ sudo ufw allow 9200:9300/tcp


특정 아이피에만 일정 범위의 포트를 tcp 패킷만 허용할 경우
$ sudo ufw allow from 192.168.0.101 to any port 9200:9300 proto tcp


서브넷을 특정 포트에 허용할 경우
$ sudo ufw allow from 192.168.0.0/24 to any port 8080


서브넷을 기반으로 거부 할경우
$ sudo ufw deny from 192.168.0.0/23
크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

[Ubuntu] 터미널 apt-get에서 Tab 키 눌렀을 때 패키지 이름 자동 완성 안 될 때

이런 경우에는 터미널에서
source /etc/bash_completion


크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

[NGINX] userdir 추가

category 컴퓨터/Linux 2016/05/13 09:52
[NGINX] userdir 추가

location ~ ^/~([^/]+)/(.+\.php|\.htm)$ {
    if (!-f /home/$1/www/$2) {
        rewrite ^ 404;
    }
    alias /home/$1/www/$2;
}
location ~ ^/~([^/]+)(/.*)?$ {
    alias /home/$1/www$2;
    autoindex on;
}
크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

[Ubunto] vi 에디터 변경

category 컴퓨터/Linux 2016/04/08 21:56
[Ubunto] vi 에디터 변경

sudo update-alternatives --config editor
크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

[Ubunto] [authz_core:error]

category 컴퓨터/Linux 2016/02/02 09:53
[Ubunto] [authz_core:error]

이번에 아파치 버전을 2.4로 올리면서 만나게 된 에러 입니다.



[Tue Feb 02 09:19:51.345040 2016] [authz_core:error] [pid 11157] [client xxx.xxx.xxx.xxx] AH01630: client denied by server configuration: /home/




기존에 잘 사용하던것을 왜 바꾸는지 알 수 없지만은 배포되는것에 맞춰서 생활을 해야하는것이 사용하는 사람의 입장이지 싶습니다.
아래에 맞게 모두 변경을 해 줘야 할것 같습니다.

    # 2.2
    Order deny,allow
    Deny from all
 
    #2.4
    Require all denied
 
 
    # 2.2
    Order allow,deny
    Allow from all
 
    #2.4
    Require all granted
 
    # 2.2
    Order Deny,Allow
    Deny from all
    Allow from example.org
 
    #2.4
    Require host example.org



참초 : http://httpd.apache.org/docs/2.4/upgrading.html

    Allow from all

크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

[linux] ln - 링크파일 생성

category 컴퓨터/Linux 2016/01/26 11:15
[linux] ln - 링크파일 생성

정말 다른 사람이 보면은 간단한것을 매번 잊어 버리고 만다..
이해는 하고 있으면서 막상 사용할려고 하면은 '에...' 하면서 버벅이는 버릇이 존재해서 기록을 해두고 나중에 계속 되세김질을 좀 해야 될 것 같습니다.




ln은 Link 의 약어로서 리눅스 파일시스템에서 링크파일을 만드는 명령어이다. 리눅스에서는 심볼릭링크와 하드링크의 두가지 링크 파일이 존재한다.


* 심볼릭링크
단순히 원본파일을 가리키도록 링크만 시켜둔 것으로 MS의 윈도우시스템에서 흔히 사용하는 '바로가기' 같은 것이며, 원본파일을 가리키고만 있으므로 원본파일의 크기와는 무관한다. 그리고 심볼릭링크에서는 원본파일이 삭제되어 존재하지 않을 경우에 링크파일은 깜박거리면서 링크파일의 원본파일이 없다는 것을 알려준다.

* 하드링크
원본파일과 다른 이름으로 존재하는 동일한 파일이며 원본파일과 동일한 내용의 다른 파일이라고 할 수 있다. 그리고 하드링크에서는 원본파일과 링크파일 두개가 서로 다른 파일이기 때문에 둘 중 하나를 삭제하더라도 나머지 하나는 그대로 남아 있다. 또한 하드링크에서는 원본파일의 내용이 변경될 경우에는 링크파일의 내용 또한 자동으로 변경된다.

* 사용법 : ln [옵션] 원본파일 대상파일(대상디렉토리)
# ln hard_source hard_link    // 하드링크 파일 생성
# ln -s /tmp    /var/tmp    // 심볼릭 링크 디렉토리 생성



[옵션]
--backup[=CONTROL]
대상파일이 이미 존재할 경우에 백업파일을 만든 후에 링크파일 생성

-b
링크파일 생성시에 대상파일이 이미 존재하면 백업파일을 만든 후에 링크파일을 생성

-d
디렉토리에 대한 하드링크파일생성을 가능하게 함. 단 root 권한으로 수행하더라도 시스템의 권한제한으로 인하여 실패할 가능성이 높음. (-F 와 --directory 는 -d 와 동일함)

-f
대상파일이 존재할 경우에 대상파일을 지우고 링크파일을 생성

-i
대상파일이 존재할 경우에 대상파일을 지울것인가를 확인요청 (--interactive 와 동일)

-s
심볼릭 링크파일을 생성

-S
백업파일 생성시에 원하는 접미사(suffix)를 지정할 수 있음

-t, --target-directory=DIRECTORY
링크파일을 생성할 디렉토리를 지정

크리에이티브 커먼즈 라이센스
Creative Commons License

댓글을 달아 주세요

Trudy
Trudy 님의 블로그
MENU
VISITOR 오늘520 / 전체466056