Linux2019. 1. 10. 12:46


/***************************
*** Linux Server Setting ***
****************************/

cd /etc/skel/(계정 추가시 마다 public_html이 자동으로 생성된다) 
mkdir public_html 
chmod 701 public_html/ 

### 중요화일 퍼미션 변경및 불필요한 서비스를 내린다. 

-->먼저 ps -aux 데몬들을 확인하고 삭제 할 데몬들을 죽인다.(kill -9 ) 
rpm -e --nodeps portmap-4.0-38(rpm은 자신의 환경에 맞게 제거한다) 
rpm -e --nodeps pidentd-3.0.14-1 
rpm -e --nodeps gpm-1.19.3-20 
rpm -e --nodeps gpm-devel-1.19.3-20 
rpm -e --nodeps nfs-utils-0.3.1-13 
rpm -e apmd-3.0final-34 

## setup -> system services
crond
keytable
network
opensshd-inetd
random
syslog
vsftpd
xinetd

-->/etc/passwd 와 /etc/group 
ftp,xfs,adm,lp,news,gopher,sync,uucp,operator,games,dip(등 필요없는 계정은 주석을 달거나 삭제한다) 

-->퍼미션 변경 
chmod 700 /etc/exports 
chmod 700 /etc/fstab 
chmod 700 /usr/bin/chage 
chmod 700 /usr/bin/wall 
chmod 755 /usr/bin/man 
chmod 700 /usr/bin/chfn 
chmod 700 /usr/bin/write 
chmod 700 /usr/sbin/usernetctl 
chmod 700 /bin/mount 
chmod 700 /bin/umount 
chmod 700 /sbin/netreport 

chmod 750 /bin/ps 
chmod 750 /bin/netstat 
chmod 750 /bin/dmesg 
chmod 750 /bin/df 
chmod 750 /usr/bin/who 
chmod 750 /usr/bin/finger 
chmod 750 /usr/bin/last 
chmod 750 /usr/bin/top 
chmod 750 /usr/bin/w 

chgrp wheel /bin/ps 
chgrp wheel /bin/netstat 
chgrp wheel /bin/dmesg 
chgrp wheel /bin/df 
chgrp wheel /usr/bin/w 
chgrp wheel /usr/bin/who 
chgrp wheel /usr/bin/finger 
chgrp wheel /usr/bin/last 
chgrp wheel /usr/bin/top 

chmod 751 /home 
chmod 751 /var/named 
chmod 600 /usr/local/apache/conf/httpd.conf
chmod 110 /usr/bin/top 
chmod 550 /bin/ps 
chmod 110 /usr/bin/uptime 
chmod 110 /usr/sbin/useradd 
chmod 110 /usr/sbin/userdel 
#chmod 110 /usr/bin/last 
#chmod 110 /usr/bin/find 

변경해서는 안되는 중요한 파일에는 chattr을 사용하여 락을 걸어준다. 
chattr +i 파일명 --> 루트도 지우거나 수정 할수 없다. 
풀어줄때는 반대로 
chattr -i 파일명 하면된다. 


-->최상위 루트 하의 디렉토리의 퍼미션들은 다음과 같이 한다. 
drwxr-x--x 2 root root 2048 Jun 8 14:52 bin 
drwxr-x--x 4 root root 1024 Mar 27 04:23 boot 
drwxr-x--x 17 root root 77824 Jun 10 09:10 dev 
drwxr-x--x 35 root root 3072 Jun 10 10:16 etc 
drwxr-x--x 18 root root 4096 Jun 7 16:29 home 
drwxr-x--x 2 root root 1024 Jun 22 2001 initrd 
drwxr-x--x 7 root root 3072 Mar 27 04:25 lib 
drwxr-x--x 2 root root 12288 Mar 27 04:19 lost+found 
drwxr-x--x 2 root root 1024 Aug 30 2001 misc 
drwxr-x--x 4 root root 1024 Mar 26 19:28 mnt 
drwxr-x--x 2 root root 1024 Aug 24 1999 opt 
dr-xr-xr-x 54 root root 0 Jun 10 2002 proc 
drwxr-x--- 3 root root 1024 Jun 7 18:08 root 
drwxr-x--x 2 root root 4096 Jun 7 16:00 sbin 
drwxrwxrwx 2 root root 1024 Jun 10 09:10 tmp 
drwxr-x--x 18 root root 4096 Mar 27 20:12 usr 
drwxr-x--x 17 root root 4096 Mar 27 04:23 var 

-->계정 디렉토리의 퍼미션은 701로 준다.(chmod 701 계정명) 

### 전자우편만 사용할수 있는 계정추가하기 
(-d 위치 지정, -s 쉘지정, ftp도 사용할수 없다) 
useradd 계정명 -d /home/mailbox/dbckdghk -s /bin/false 
passwd 계정명 

### FTP계정만 주고 Shell계정은 주지 않기 
/etc/passwd을 연다. 
test:x:500:500::/home/test:/bin/bash <-- /bin/bash 부분입니다. 
cat /etc/shells (쉘이 등록된 것이 보임) 
/bin/bash2 
/bin/bash 
/bin/sh 
/bin/ash 
/bin/bsh 
/bin/tcsh 
/bin/csh 
이곳에 임의로 하나를 등록 합니다. 
예를 들어 /bin/nosh 이라고 아래부분에 추가한후 

cd /bin 
touch nosh 

그리고 /etc/passwd 쪽에서 쉘부분의 세팅만 바꿔 주면 됩니다. 
test:x:500:500::/home/test:/bin/nosh <-- 요깁니다. 


### ftp 명령어 모음 
ascii : 전송모드를 ASCII모드로 설정한다.(ascii또는 as) 
binary : 전송모드를 BINARY모드로 설정한다.( binary또는 bi) 
bell : 명령어 완료시에 벨소리를 나게한다.(bell) 
bye : ftp접속을 종료하고 빠져나간다.(bye) 
cd : remote시스템의 디렉토리를 변경한다.(cd 디렉토리명) 
cdup : remote시스템에서 한단계 상위디렉토리로 이동한다.(cdup) 
chmod : remote시스템의 파일퍼미션을 변경한다.(chmod 755 index.html) 
close : ftp접속을 종료한다. (close) 
delete : remote시스템의 파일을 삭제한다.(delete index.old) 
dir : remote시스템의 디렉토리 내용을 디스플레이한다.(dir) 
disconnect : ftp접속을 종료한다.(disconnect) 
exit : ftp접속을 종료하고 빠져나간다.(exit) 
get : 지정된 파일하나를 가져온다.(get index.html) 
hash : 파일전송 도중에 "#"표시를 하여 전송중임을 나타낸다.(hash) 
help : ftp명령어 도움말을 볼 수 있다.(help또는 help 명령어) 
lcd : local시스템의 디렉토리를 변경한다.(lcd 디렉토리명) 
ls : remote시스템의 디렉토리 내용을 디스플레이한다. (ls 또는 ls -l) 
mdelete : 여러개의 파일을 한꺼번에 지울 때 사용한다.( mdelete *.old) 
mget : 여러개의 파일을 한꺼번에 가져오려할 때 사용한다. ( mget *.gz) 
mput : 한꺼번에 여러개의 파일을 remote시스템에 올린다.(mput *.html) 
open : ftp접속을 시도한다.(open 168.126.72.51또는 open ftp.kornet.net) 
prompt : 파일전송시에 확인과정을 거친다. on/off 토글 (prompt) 
put : 하나의 파일을 remote시스템에 올린다.(put index.html) 
pwd : remote시스템의 현재 작업디렉토리를 표시한다.(pwd) 
quit : ftp접속을 종료하고 빠져나간다.(quit) 
rstatus : remote시스템의 상황(version, 어디서, 접속ID등)을 표시한다.(rstatus) 
rename : remote시스템의 파일명을 바꾼다.(remote 현재파일명 바꿀파일명) 
rmdir : remote시스템의 디렉토리을 삭제한다.(rmdir 디렉토리명) 
size :remote시스템에 있는 파일의 크기를 byte단위로 표시한다.(size index.html) 
status : 현재 연결된 ftp세션모드에 대한 설정을 보여준다.(status) 
type : 전송모드를 설정한다.(type 또는 type ascii 또는 type binary) 

'Linux' 카테고리의 다른 글

비밀번호 만료일 제거 centOS  (0) 2021.06.21
redhat 9 에서 qmail + vpopmail 설치  (0) 2019.01.10
백업 ftp + cron 설정  (0) 2019.01.10
IP 알리아스  (0) 2019.01.10
iptables로 IP, IP대역 막기  (0) 2019.01.10
Posted by requireme