기본명령어
#apt-get update 저장소정보 업뎃
#apt-get upgrade 패키지 업글
#apt-get dist-upgrade 패키지 업글 (wide)
#apt-get install 모듈명 모듈설치
#apt-get remove --purge 모듈명 설정파일까지 제거
#apt-get autoremove 알아서 찌꺼기 제거해줌
su 루트계정
su - userid 계정전환
cd 폴더경로 폴더이동
vi 편집
rm -r 폴더삭제
ls -al 폴더정보
chown -R 사용자 유저권한
chmod -R 777 퍼미션
init 0 종료
init 6 재부팅
top 점유율
last 접속로그
ln -s /tmp/myfolder/ myfolderlink 심볼릭링크 ( /타겟위치 /바로가기)
설치후할일
==루트접속가능하게 만들기==
sudo passwd root
==포트바꾸기==
#vi /etc/services
ssh 22 > 22222/tcp
ssh 22 > 22222/udp
#vi /etc/apache2/ports.conf
+NameVirtualHost *:8080
Listen 8080
#vi /etc/apache2/site-available/default
<VirtualHost *:8080>
#vi /etc/ssh/sshd_config
Port 22 > 22222
service ssh restart
ssh ftp 상위접속 막기
chmod 711 /
chmod 711 /bin
chmod 711 /boot
chmod 711 /dev
chmod 711 /etc
chmod 711 /home
chmod 711 /mnt
chmod 711 /opt
chmod 711 /proc
chmod 711 /usr
chmod 711 /usr/local
chmod 711 /var
==기본에디터설정==
export EDITOR=vi
방화벽설정
#ufw enable
#ufw allow 21/tcp
#ufw allow 22222/tcp
#ufw allow 80/tcp
#ufw allow 139/tcp
#ufw allow 445/tcp
#ufw allow 137/udp
#ufw allow 138/udp
#ufw allow 9091/tcp
#ufw status 현재상태
#ufw delete 규칙 규칙삭제
웹서버설치
#apt-get install apache2
#apt-get install mysql-server
#apt-get install php5 php5-mysql
==미디어위키용==
#apt-get install php-intl
#apt-get install php5-xcache
==디폴트폴더 재설정==
#vi /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
ServerAdmin crudust@gmail.com
DocumentRoot /home/crudust/www
<Directory /home/crudust/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
Require all granted #퍼미션문제 해결, 필수
</Directory>
#service apache2 restart
FTP설치
#apt-get install vsftpd
#apt-get remove libpam-smbpass 잘못된 패키지 삭제
#vi /etc/vsftpd.conf
>포트변경
+
listen_port=2121
pasv_enable=NO
ftp_data_port=2222
>변경
anonymous_enable=NO
>주석제거
local_enable=YES
write_enable=YES
local_umask=022
>루트접속 막기
chroot_local_user=YES
passwd_chroot_enable=YES
>시작루트 설정
+ local_root=/home
==사용자추가==
#adduser 사용자
#chown -R 사용자 /home/사용자
#chmod -R 777 /home/사용자
>유저 접속시 폴더지정 (해당폴더 위로 접근금지)
#vi /etc/passwd
폴더주소를 /./home/~~~
삼바설치
#apt-get install samba
#apt-get install smbfs
#vi /etc/samba/smb.conf
[global]
workgroup = workgroup # 윈도우즈의 작업 그룹명.
+ unix charset = UTF8
+ dos charset = cp949
+ display charset = UTF8
[아이디]
comment = server
path = /home/아이디
guest ok = no
browseable = yes
writable = yes
create mask = 0755
directory mask = 0755
==사용자추가==
#smbpasswd -a 아이디
#service smbd restart
webdav설치
#a2enmod dav_fs
#a2enmod dav
#chown www-data:아이디 /home/아이디
#htpasswd -c /home/아이디/.passwd.dav 아이디
#chown www-data:아이디 /home/아이디/.passwd.dav
#chmod 660 /var/www/webdav/.passwd.dav
#vi /etc/apache2/sites-available/default
+
Alias /webdav /home/아이디/
<Directory /home/아이디/>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
<Location /webdav>
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /home/아이디/.passwd.dav
Require valid-user
</Location>
#service apache2 restart
트랜스미션 설치
#apt-get install transmission-daemon
#vi /var/lib/transmission-daemon/info/settings.json
"download-dir": "/home/allsunday/Downloads/Torrent/download"
"rpc-username": 유저명
"rpc-password": 패스워드
"rpc-whitelist-enabled": false
"umask": 0
"watch-dir": "/home/allsunday/Downloads/Torrent/download"
"watch-dir-enabled": true
“trash-original-torrent-files”: true
}
==자동삭제==
#vi deltorrent.sh
USER=아이디
PASSWD=패스워드
REMOTE="/usr/bin/transmission-remote"
torrent_ids=$($REMOTE localhost:9091 -n $USER:$PASSWD -l | grep "100%" | cut -b 1-4)
for index in $torrent_ids;do
$REMOTE localhost:9091 -n $USER:$PASSWD -t $index --remove
done
#flexget execute 실행
==스케쥴러 등록==
crontab -e
@hourly /home/경로/deltorrent.sh
@daily
@weekly
@monthly
@yearly
@reboot
==rss자동다운==
#apt-get install python-pip
#pip install flexget
#pip install flexget --upgrade
#apt-get install python-transmissionrpc
# vi ~/.flexget/config.yml
templates:
global:
transmission:
host: localhost
port: 9091
username:
password:
pushbullet:
apikey:
device:
title: "{{title}}"
tasks:
feed:
rss: https://torrents.ohys.net/rss.php?dir=torrent
regexp:
accept:
- (Mayoiga).+?(-)
- (Flying).+?(-)
set:
path: /home/crudust/anime
crontab -e 등록시에 .flexget 폴더 사용자:그룹을 사용자계정(사용자:사용자)으로 변경해야 실행됨
==pushbullet 설정==
1. 안드로이드 앱을깔고
2. templates에 추가
global:
pushbullet:
apikey: (자신의 pushbullet api token key)
device: (푸쉬를 받길 원하는 device의 고유id)
title: "{{title}} download start"
body: "Size: {{content_size}}MB"
MYSQL 설정/복구
mysql -u root -p
==db복원==
mysql> show databases;
mysql> create database DB명;
CTRL+C
mysql -uroot -p DB명 < 백업파일명.sql
==db자동백업==
#vi /home/루트/dbbackup.sh
#!/bin/sh
time=`date +%Y%m%d`
mysqldump -uroot -p비밀번호 kancolle_wiki > $time".sql"
mv $time".sql" /home/crudust/backup/$time".sql"
#crontab -e #root권한으로 해야되서 root crontab으로
@daily /home/루트/dbbackup.sh
프록시
#install apt-get squid3
#ufw allow 3129/tcp
#vi /etc/squid/squid.conf
http_access allow all #http_access allow localhost의 localhost를 all로 수정
#http_access allow manager localhost 주석 처리
#http_access deny manager 주석 처리
==접속로그보기==
sudo tail -f /var/log/squid3/access.log
==지정ip허용==
acl mynet src 192.168.0.1/24
#접근을 허용할 ip 주소를 mynet 이라는 이름으로 지정해두자.
http_access allow mynet
#위에서 설정한 mynet 이라는 그룹의 접근을 허락.
이외의 다른 부분은 크게 건드릴 것이 없는 듯 하다.
==리눅스와 별도 계정 설정 (다이제스트 방식)==
auth_param digest program /usr/lib/squid3/digest_file_auth -c /etc/squid3/passwords
auth_param digest realm proxy
acl digest proxy_auth REQUIRED
http_access allow digest
#http_access allow all 주석 처리
#htdigest 설치
sudo aptitude install apache2-utils -y
#qm 부분은 원하는 ID로 변경
sudo htdigest -c /etc/squid3/passwords proxy qm
#이후에 패스워드 입력