RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
꾸준히 유지하고 관리하는 리눅스 서버는 시간이 지날수록 커널 이미지가 쌓이기 마련입니다.
굳이 지우지 않아도 시스템에 문제가 생기거나 보안이 뚫릴 가능성은 거의 없지만, 만약 부트 파티션을 별도로 운영하고 계신 분이라면 언젠가는 부트 파티션의 용량을 초과하게 됩니다.

http://www.unixmen.com/linux-tutorials/659-how-to-uninstall-the-old-kernels-in-ubuntu


여기에 방법이 자세히 써있습니다. 그대로 하면 됩니다.

$ dpkg --get-selections | grep linux-image

이 명령으로 커널 이미지 목록을 가져옵니다. 여러 개 있을 겁니다.
이걸

$ sudo apt-get purge  linux-image-2.6.35-24-server  linux-image-2.6.35-25-server linux-image-2.6.35-27-server


이런 식으로 오래된 커널들을 나열해 적고 실행하면 됩니다.


콘솔상이라서 복사-붙이기가 어려우신 분은 xargs를 사용하는 다음 방법을 사용하실 수도 있습니다.

Step 1 : 패키지 목록 추출

$ dpkg --get-selections | grep linux-image | cut -f1 > kernel.list


Step 2 : 패키지 선택

$ vi kernel.list


최신 커널 및 버전 번호가 없는 것(지우면 안 되는 것입니다)을 리스트에서 삭제합니다.

Step 3 : 제거

# cat kernel.list | xargs apt-get purge



현재 동작하는 커널에 문제가 없다고 하더라도 바로 이전 버전의 커널 한 개 정도는 꼭 남겨두시기 바랍니다. 배드 섹터 등의 이유로 현재의 커널이 못쓰게 되는 경우가 생길 수도 있기 때문입니다.
링크 - http://rafi.inha.ac.kr/~wbstory/tc/wbstory/214
2015/12/14 15:29 2015/12/14 15:29
이 글에는 트랙백을 보낼 수 없습니다
<?php
    echo shell_exec("sudo /usr/sbin/u_script.sh");
?>

위처럼 스크립트가 root 권한이면 오류를 낸다.
 
따라서
/etc/sudoers 파일에 아래와 같은 권한부여 설정을 한줄 추가해준다.
 

apache ALL=NOPASSWD: /usr/sbin/u_script.sh


※주의 외부에서 절대로 저 php 에 접근을 막아라. 인젝션 당해 서버가 그냥 털리니깐 말이다.

그래서 우회 php 만들던지, 특정 ip 만 실행하게 만들어라.


반말해서 미안하다.

나도 이제 노땅이라 반말좀 해봤다 ^_^
2015/01/11 15:39 2015/01/11 15:39
이 글에는 트랙백을 보낼 수 없습니다
sudo badblocks -v /dev/sda1 > bad-blocks-result

확인해본다.

sudo fsck -t ext4 -l bad-blocks-result /dev/sda1

치료한다.



umount 시키고 아래와 같이 하면 write 검사까지 할수 있다.

sudo badblocks -vsn /dev/sda1 > bad-blocks-result


했으면 다시 mount 붙히는건 당연 ~
2015/01/08 02:50 2015/01/08 02:50
이 글에는 트랙백을 보낼 수 없습니다

$ ls -l /dev/disk/by-uuid/


합계 0
lrwxrwxrwx 1 root root 10 11월  4 15:17 1416d714-a348-420d-88a4-d3643116999d -> ../../sda5
lrwxrwxrwx 1 root root 10 11월  4 15:17 866b5285-3103-4d49-a5de-0db96c4b46b4 -> ../../sda2
lrwxrwxrwx 1 root root 10 11월  4 15:32 a1fd40c6-e10a-4cf3-ac90-6ab2c97818c0 -> ../../sdb1

 
sudo vi /etc/fstab
 
...
# /tmp was on /dev/sda2
UUID=a1fd40c6-e10a-4cf3-ac90-6ab2c97818c0 /mnt               ext4    errors=remount-ro 0       1

 
확인해주면 종료~
 
$ sudo mount -a
2015/01/08 02:23 2015/01/08 02:23
이 글에는 트랙백을 보낼 수 없습니다

Setup FTP server on Ubuntu 14.04


Step 1 » Update repositories .
krizna@leela:~$ sudo apt-get update
 
Step 2 » Install VsFTPD package using the below command.
krizna@leela:~$ sudo apt-get install vsftpd
 

Step 3 » After installation open /etc/vsftpd.conf file and make changes as follows.
Uncomment the below lines (line no:29 and 33).
 
write_enable=YES
local_umask=022
» Uncomment the below line (line no: 120 ) to prevent access to the other folders outside the Home directory.
chroot_local_user=YES and add the following line at the end.
allow_writeable_chroot=YES» Add the following lines to enable passive mode.
pasv_enable=Yes
pasv_min_port=40000
pasv_max_port=40100

 

Step 4 » Restart vsftpd service using the below command.
krizna@leela:~$ sudo service vsftpd restart
 

Step 5 » Now ftp server will listen on port 21. Create user with the below command.Use /usr/sbin/nologin shell to prevent access to the bash shell for the ftp users .
krizna@leela:~$ sudo useradd -m john -s /usr/sbin/nologin
krizna@leela:~$ sudo passwd john

 

Step 6 » Allow login access for nologin shell . Open /etc/shells and add the following line at the end.
/usr/sbin/nologin
 

Now try to connect this ftp server with the username on port 21 using winscp or filezilla client and make sure that user cannot access the other folders outside the home directory.
 
sftp 는 아래의 출처를 통해..
http://www.krizna.com/ubuntu/setup-ftp-server-on-ubuntu-14-04-vsftpd/

2015/01/08 02:21 2015/01/08 02:21
이 글에는 트랙백을 보낼 수 없습니다
#!/bin/bash
iptables --flush

iptables -A INPUT -s 192.99.0.223 -j DROP;

#iptables -A INPUT -p 80 -d naver.com -j ACCEPT;
#iptables -I INPUT -p tcp --dport 80 -j DROP;
#iptables -I INPUT -p udp --dport 5060 -j DROP;

#ssh 30초 5번 이상 접근시 차단
iptables -A INPUT -p tcp --dport 22 --syn -m limit --limit 30/s --limit-burst 5 -j ACCEPT;
iptables -A INPUT -p tcp --dport 22 ! --syn -j ACCEPT;
iptables -A INPUT -p tcp --dport 22 --syn -j DROP;

#비정상 tcp-flag 차단
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL PSH,FIN -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL URG,PSH,FIN -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,ACK,FIN -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN,PSH -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN,RST -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN,RST,PSH -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN,ACK,RST -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,ACK,FIN,RST,PSH -j DROP;
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP;
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP;
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP;
iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP;

###################### 여기가 UDP 일정 횟수 차단 ######################

# Requests per second
RQS="3"
SECONDS="30"

iptables -A INPUT -p udp --dport 5060 -m state --state NEW -m recent --set --name Asterisk_login --rsource
iptables -A INPUT -p udp --dport 5060 -m state --state NEW -m recent --update --seconds ${SECONDS} --hitcount ${RQS} --name Asterisk_login --rsource -j DROP

###################### 여기가 UDP 일정 횟수 차단 끝 ###################### 


난 이렇게 한다.
30 초 동안 5번 이상 UDP 쏘면 차단.
 
 

2014/11/11 17:22 2014/11/11 17:22
이 글에는 트랙백을 보낼 수 없습니다
// 파일명 바꾸기
1. for f in `find . -type f`; do mv $f `echo $f | sed 's/기존것/바뀔것/g'`; done
2. find . -exec perl -pi -e 's/기존것/바뀔것/g' {} \;

// 안전 파일 내용 바꾸기 ### 주의 ### - 같은 경로의 파일은 안됨.
for f in `ls`; do `find ./$f -exec sed 's/기존것/바뀔것/g' {} \; > /임시경로/$f;`; done;

// 위험 !! 파일내용 바꾸기
find . -type f -exec sed -i 's/찾는 문자열/바꿀 문자열/g' {} \;


// C 파일 코드 이쁘게 바꾸기 ### 주의 ### - 같은 경로의 파일은 안됨.
for f in `find *.cpp -type f`; do clang-format-3.4 $f > $f`echo _`; done;
rm *.cpp;
for f in `find *.cpp_ -type f`; do mv $f `echo $f | sed 's/_$//g'`; done;
2014/08/08 21:58 2014/08/08 21:58
이 글에는 트랙백을 보낼 수 없습니다
iptables -A INPUT -p tcp --dport 22 --syn -m limit --limit 30/s --limit-burst 5 -j ACCEPT;
iptables -A INPUT -p tcp --dport 22 ! --syn -j ACCEPT;
iptables -A INPUT -p tcp --dport 22 --syn -j DROP;

난 이렇게 한다.
2013/03/05 00:53 2013/03/05 00:53
이 글에는 트랙백을 보낼 수 없습니다
LINUX
# getconf LONG_BIT


HP UX

11.xx 일 경우
# getconf KERNEL_BITS
64

10.xx 일 경우
# getconf LONG_MAX
2147483647
(64비트임)로 확인할 수 있습니다

AIX

현재 load된 kernel 이 32-bit 혹은 64-bit 인지 확인하는 명령어
# bootinfo -K
32

사용중인 machine이 32-bit 혹은 64-bit 인지 확인하는 명령어
# bootinfo -y
32


SOLARIS

# isainfo -kv
64-bit sparcv9 kernel modules
현재 이 시스템은 64bit 커널을 가지고 운영을 하는 시스템 이다.

# isainfo -kv
32-bit sparcv kernel modules
이 시스템은 32bit 커널을 가지고 운영을 하는 시스템이다.

# isainfo -v
64-bit sparcv9 applications 32-bit sparc applications
"-v"만 했을 경우 이 시스템에서는 32bit / 64bit 체계의 프로그램을 사용할 수 있다.

# isainfo -v
32-bit sparc applications
이 시스템은 32bit 체계의 프로그램만 구성하여 사용할 수 있다.
2009/02/25 11:29 2009/02/25 11:29
이 글에는 트랙백을 보낼 수 없습니다
1. 패키지 설치

#sudo apt-get install subversion apache2 libapache2-svn

위의 명령을 이용하여 패키지를 설치한다.


2. subversion 디렉토리 생성 및 권한 설정.

#mkdir /home/svn                                                - 서브버젼에서 사용할 디렉토리
#cd /home/svn                                                    - 이동
#svnadmin create --fs-type fsfs project1                 - 프로젝트 디렉토리 생성  
#chmod -R g+w project1                                       - 그룹쓰기 권한 설정
#chown -R nobody.nogroup proejct1                      - 아파치에서 액세스하기 위한 그룹 설정


3. apache 설정

우분투에서 아파치 설정파일은 /etc/apache2/apache2.conf  이다.
위의 파일에서

LoadModule dav_module              mod_dav.so
LoadModule dav_svn_module        dav_svn.so

<Location /svn/sample>
  DAV svn
  SVNPath /home/svn/project1
</Location>

부분을 추가해 줍니다.


4. 사용자 인증

#htpasswd -c [패스워드파일] [유저아이디]
ex) #htpasswd -c passwd lotus

아파치 설정파일이 있는곳에서 위의 명령어를 하면 패스워를 입력받습니다.
위의 명령어는 새로운 패스워를 만드는 경우고 사용자를 추가할 경우에는

#htpasswd [패스워드파일] [유저아이디]

의 형식으로 추가합니다. 아파치 설정파일에 가서 아까 적어준 부분을 아래와 같이 수정하여줍니다

<Location /svn/sample>
  DAV svn
  SVNPath /home/svn/project1
  AuthType Basic
  AuthName "Subversion Repository project1"
  AuthUserFile /etc/apache2/passwd
  Require valid-user
</Location>

그리고 checkout 모든 사용자들이 할 수 있지만 커밋 등의 쓰기동작은 지정된 사용자만이 할수있게 끔 하려면
<Location /svn/sample>
  DAV svn
  SVNPath /home/svn/project1
  AuthType Basic
  AuthName "Subversion Repository project1"
  AuthUserFile /etc/apache2/passwd
  <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
  </LimitExcept>
</Location>

이렇게 수정합니다.
설치가 제대로 되었는지 확인하려면

#svn checkout http://(서버 ip or 도메인네임)/svn/project1 project1

을 실행하였을 경우
Checked out revision 0 이 출력 되면 설치가 완료된 것입니다.
2008/10/27 12:06 2008/10/27 12:06
이 글에는 트랙백을 보낼 수 없습니다
웅쓰:웅자의 상상플러스
웅자의 상상플러스
전체 (379)
게임 (5)
영화 (2)
기타 (23)
맛집 (5)
영어 (2)
대수학 (3)
형태소 (5)
Hacking (9)
Linux (112)
HTML (48)
Application_developing (48)
Web_developing (102)
Window (11)
«   2018/12   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
  1. 2016/01 (1)
  2. 2015/12 (3)
  3. 2015/10 (3)
  4. 2015/03 (2)
  5. 2015/01 (4)