/***************************
*** 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 |