파일의 날짜 변경

리눅스 2015. 4. 18. 00:22
728x90


touch는 파일의 날짜시간정보를 변경하는 명령어이다.


현재시간으로 파일 날짜정보 변경
# touch -c newfile


파일의 날짜정보를 마음대로 변경
# touch -t 201504081200 filename    // YYYYMMDDhhmm 형식


지정한 파일의 날짜시간정보를 지정한 다른 파일의 날짜시간정보와 동일하게 변경
# touch -r oldfile newfile    // newfile을 oldfile의 날짜정보와 같게 변경



728x90
블로그 이미지

Link2Me

,
728x90

리눅스 SSH 보안 설정(일반유저의 ssh 접속 제한 설정)


보안설정을 하기 위해서는 먼저

#cat /etc/passwd

를 이용하여 등록된 사용자 현황을 파악한다.

파일의 내용 마지막에 숫자 500:500 등이 나오면 그 부분이 바로 User를 추가한 부분이다.

User 는 500 번 이후부터 추가된다. 유분투는 1000번 이후부터 추가된다고 한다.


등록된 사용자가 많으면 SSH 에서 AllowGroups 로 설정하는게 좋고, 등록된 사용자가 적으면 AllowUsers 를 이용하여 등록하는게 좋다.


이제 VI 에디터로 sshd_config 로 직접 접속하여 환경설정값을 변경해준다.

원하는 것이 어디있는지 빨리 찾으려면 VI 에디터에서

/ 를 누른 다음 찾으려는 문자열을 입력하고 엔터키를 친다.

연속으로 찾으려면 n 을 입력. 역방향으로 찾으려면 N 을 입력. (리눅스에서는 대문자, 소문자를 식별함)

수정하려면 i 를 누르면 INSERT 모드로 변경되며, 화살표키와 역방향화살표키(보통 엔터키 위에 있음)를 눌러서 글자를 수정해서 변경하고 나서 ESC키를 누르면 원래 상태로 되돌아온다.

저장하고 나오는 것은 :wq


# vi /etc/ssh/sshd_config    // 설정파일 수정
Port 22    // 포트 변경을 하고 싶다면 포트번호1023 까지는 예약된 포트이므로 그 이후 값을 사용해야 함
IgnoreRhosts yes    // rhosts 를 무시
PermitRootLogin no    // ssh 접속시 root 로 로그인 금지

ClientAliveInterval 600   // 기본 0 보내지않음. 10분간격으로 클라이언트로 메시지를 보내고 응답
ClientAliveCountMax 3  // 클라이언트에서 응답이 없을 때 메시지를 보내는 횟수
#AllowGroups comnetlink    // comnetlink 그룹만 ssh 에 로그인 가능

AllowUsers user1 user2    // 등록한 user 만 접속 허용하고, user 등록 구분은 스페이스바로 구분하여 등록

                                  ※ AllowGroups 과 AllowUsers 는 둘 중에 하나를 선택해서 사용


* 접속제한 방법
AllowGroups : 등록된 group만 접속 가능
AllowUsers : 등록된 계정만 접속 가능
DenyGroups : 모두 접속 허용하고 등록된 group만 접속 거부
DenyUsers : 모두 접속 허용하고 등록된 계정만 접속 거부

# /etc/init.d/sshd restart       // ssh 데몬 재시작


를 해주면 환경설정 값이 변경 적용된다.





728x90
블로그 이미지

Link2Me

,
728x90

리눅스 root 권한으로 SSH 로그인 불가 처리


작업할 때는 반드시 SSH root 권한으로 접속했던 창을 띄워둔 상태에서 아래 명령어로 작업을 한 다음

새로운 창을 띄워서 제대로 동작하는지 체크하는 것이 매우 중요하다.


작업한 환경 : Cent OS 6.5


SSH 로그인 차단 설정

# vim /etc/ssh/sshd_config

42번째 줄 # PermitRootLogin yes 라고 되어 있는 걸

앞에 주석(#)을 없애고 PermitRootLogin no   변경

마지막 줄에 아래 추가

Allowusers jsk005  <-- jsk005 계정 사용자만 접속 허용 설정

:wq

로 저장하고 나옴

 

# SSH 재시작
service sshd restart



FTP chroot (홈 디렉토리 상위 접속 불가 설정)을 하고 SSH 접속 제한을 걸면 보안의 안정도가 높아진다.


아래 사항은 다른 방법이므로 참고적으로 알아두면 좋다.


특정 유저(wheel그룹)만 su 허락함

# vim /etc/group


wheel:x:10: 로 된 부분을 wheel:x:10:root,특정사용자

로 변경하고 :wq 로 저장하고 나옴


# chgrp wheel /bin/su   

# chmod 4750 /bin/su

# ls -la /bin/su 



# /etc/rc.d/init.d/sshd restart


이렇게 한 후 SSH 로 root 로 접속해보고 접속 불가 상태가 계속 나오면 작업은 성공할 것임

그리고 특정사용자 계정으로 접속하여 su 로 root 패스워드 입력하고 접속 성공하면 접속이 정상적으로 처리된 것임


728x90
블로그 이미지

Link2Me

,
728x90

리눅스에서 파일 내용을 검색하려면 어떻게 해야 할까?

파일 전부를 내려받아서 Eclipse 나 Total Commander 를 이용하여 검색한다는 것도 매우 불편한 짓이다.

 

리눅스 자체 명령어를 이용하여 파일 내용을 검색할 수가 있다.

먼저, 검색하고자 하는 디렉토리로 이동한다. 하위폴더를 포함하여 전체를 다 찾을 수 있다.

grep : 파일 내에서 또는 입력값에서부터 특정 패턴을 검색한다.

- v : 일치되는 내용이 없는 라인을 표시한다.

- c : 일치되는 내용이 있는 행의 개수를 표시한다.

- l : 일치되는 내용이 있는 파일의 이름만을 표시한다.

- h : 일치되는 내용을 찾은 파일의 이름을 표시하지 않는다.

- n : 일치되는 내용이 있는 행은 행번호와 함께 표시된다.

 

# grep -r "찾을 문자열" ./*

 

 

검색할 디렉토리에서 찾을 내용이 포함된 모든 파일명과 해당 검색어가 어떤 라인에 있는지 찾을 때

# grep -rn "찾을문자열"

# grep -rn letterMasking

 

파이프프로그램의 실행결과를 다른 프로그램의 입력으로 연결한다.

이렇게 둘 이상의 명령을 함께 사용하고, 한 명령어의 출력결과를 다른 명령어의 입력으로 전환하는 것을 파이프라 한다.

 

또다른 방법은

find [경로] -name "파일명" | xargs grep "찾을 문자열"

# find ./ -name "*.php" | xargs grep "getKRtoUTF"

로 찾을 수 있다.

 

검색어로 사용된 문자열 색을 달리 표시하고 싶다면

# find ./ -name "*.php" | xargs grep --color=auto "getKRtoUTF"

 

 

 

찾을 문자열이 포함된 파일명만 보고 싶다면

# find ./ -name "*.php" | xargs grep -l "getKRtoUTF"

 

 

내가 가장 보기 좋게 원하는 것은 파일명만 보이도록 찾는 것이다.

 

리다이렉션

리다이렉션을 이용하면 명령의 출력을 변경할 수 있다.기본적으로 명령어의 결과는 모니터에 출력된다. 하지만 리다이렉션을 이용하여 파일에 기록할 수 있다.명령어 > 파일 : 파일이 없다면 생성하고, 있다면 기존의 내용을 지운다.명령어 >> 파일 : 파일이 없다면 생성하고, 있다면 기존의 내용에 추가한다.명령어 < 파일 : 파일에서 표준입력 받는다.

 

728x90
블로그 이미지

Link2Me

,
728x90

포트 상태 점검 명령어


포트 상태 점검 명령어


# netstate -nlp


포트 상태를 주기적으로 체크하여 해킹이 의심되는 것이 있는지 확인해볼 필요가 있다.


728x90
블로그 이미지

Link2Me

,
728x90

특정 디렉토리 읽기쓰기 권한 부여 ACL


ACL(Access Control List)은 디렉토리 및 파일에 특정 사용자, 그룹에 특정 권한을 넣어 줄 수 있는 기능이다.


share 라는 노무팀 디렉토리가 있는데, 이 디렉토리는 노무팀원들만 읽고 쓸 수 있다.
여기에 프로젝트팀원 중 한 명에게 share 디렉토리를 읽을 수 있는 권한을 주어야 하는데,
프로젝트팀원을 노무팀 그룹에 넣을 수는 없는 일이다.
타 팀원을 노무팀 그룹에 넣을 경우, share 디렉토리 말고도 노무팀의 다른 소유 디렉토리를 읽을 수 있는 위험이 있고, 여러 가지 혼선이 있을 수 있기 때문이다.

이럴 때 ACL을 사용하면 문제는 해결된다.


setfacl -m <rules> <target directory>
- u:<uid>:<perms>
  사용자에 대한 access ACL을 설정. 사용자명이나 UID를 지정 가능. 사용자는 시스템 상 어느 사용자라도 가능
  허가 (<perms>)는 읽기, 쓰기와 실행을 가리키는 r, w, x 문자를 조합하여 설정
- g:<gid>:<perms>
  그룹에 대한 access ACL을 설정. 그룹명이나 GID를 지정 가능. 그룹은 시스템 상 어느 그룹이라도 가능
  허가 (<perms>)는 읽기, 쓰기와 실행을 가리키는 r, w, x 문자를 조합하여 설정
- o:<perms>
  파일의 그룹에 속한 사용자가 아닌 다른 사용자에 대한 access ACL을 설정
  허가 (<perms>)는 읽기, 쓰기와 실행을 가리키는 r, w, x 문자를 조합하여 설정


디렉토리를 생성하고 난 이후 디렉토리에 부여된 권한이 어떻게 되는지 확인



특정 사용자 jsk005 에게 읽기와 쓰기 권한 부여 하고 난 다음에 권한 확인


setfacl 은 ACL 설정 명령,

getfacl 은 설정된 ACL 확인 명령이다.
ACL은 ACL옵션이 적용된 파티션에만 쓸 수 있다.
mv로 이동하면 ACL설정은 유지되나 cp로 복사하면 ACL설정은 사라진다. cp에 -p 옵션을 붙이면 ACL설정은 유지된다.

setfacl -x <rules> <target directory>
  사용자, 그룹이나 기타 그룹에 대한 모든 권한을 삭제하려면 -x 옵션을 사용


특정 사용자 jsk005 에게 권한 삭제하고 난 다음에 권한 확인


적용된 ACL 명령어를 제거

setfacl -b <target directory>



맨 처음 디렉토리를 만들고 나서 getfacl 로 권한을 확인한 것과 동일한지 확인해보면 알 수 있다.

하위디렉토리까지 설정된 권한을 제거하려면 setfacl -R -b /home/share 로 명령하면 된다.


참고 : http://www.digistory.co.kr/?p=152

참고 : http://blog.pages.kr/277



728x90
블로그 이미지

Link2Me

,
728x90

CentOS 6.X 방화벽 설정


방화벽은 서버와 클라이언트(User)간에 통신하는 포트를 제한하는 관문이다.

서비스마다 사용하는 포트가 다르다. 해당 포트를 막으면 통신을 할 수가 없다. 꼭 필요한 포트만 열어서 보안을 철저하게 해야 한다.

아래 설정은 CentOS 6.5 에서 설정해본 사항이다. 아직도 모르는게 많아서 구글링을 하면서 배우는 중이다.


// 열린 포트 확인
service iptables status

// iptables 설치 확인
rpm -qa | grep iptables


INPUT - 호스트 컴퓨터를 향한 모든 패킷

OUTPUT -  호스트 컴퓨터에서 발생하는 모든 패킷
FORWARD - 호스트 컴퓨터가 목적지가 아닌 모든 패킷, 즉 라우터로 사용되는 호스트 컴퓨터를 통과하는 패킷


포트 80,3306 추가

80 포트는 인터넷 브라우저에서 접속하는 포트이며,

3306 포트는 MySQL 접속 포트이다. 보안을 위해서 다른 포트로 변경하여 사용할 수도 있다.


//방화벽 설정

# vi /etc/sysconfig/iptables


FTP 통신을 위한 포트를 추가하고 싶다면 20번, 21번 두개의 포트를 추가해야 한다.:

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT


네임서버

-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT


POP3

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT


IMAP

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 143 -j ACCEPT


Secure IMAP

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 993 -j ACCEPT


웹서버에 SSL 인증서가 설치되어 https 주소로 서비스하는 경우 TCP 443 추가
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT


# service iptables restart

또는

# /etc/init.d/iptables restart

방화벽 설정 내용을 변경했다면 restart 를 해준다.




방화벽 변경한 정보를 저장하려면 반드시 수정한 방화벽 세팅을 restart 하고 나서

# service iptables save

해줘야 된다.


# service iptables stop

또는

# /etc/init.d/iptables stop

방화벽 끄기


방화벽 설정 파일은 파일접속권한이 0600 이다.

설정파일을 PC에서 수정해서 SFTP 등으로 올렸다면 모드가 어떤 상태인지 확인을 해야 한다.




이것저것 고민하기  싫다면 아래와 같이 해주면 된다.

1. CentOS 6.6을 설치하면 기본적으로 22번 포트만 open 되어 있다.

2. vi /etc/sysconfig/iptables

기본설정정보를 모두 지우고 아래 내용을 복사하여 붙여넣기하고 저장한다.
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:INPUT - [0:0]
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#-A INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT
#-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
-A INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT


3. # /etc/init.d/iptables restart (방화벽 재시작)

4. # service iptables save (변경한 정보 저장)

5. 이걸로 방화벽 세팅 설정 끝.

    22번 포트, Web 포트 80, https 443 포트 이것만 오픈하고 해킹공격 관련된 코드를 추가한 것이라고 보면 된다.


728x90
블로그 이미지

Link2Me

,
728x90

그룹 사용자 추가/삭제/변경


그룹환경파일은 /etc/group, /etc/gshadow 이다.

groupadd 그룹생성

groupdel 그룹삭제

groupmod 그룹정보 변경


사용자 계정을 생성하고 나서 사용자의 그룹을 지정하려면

먼저 그룹을 생성해야 한다.

# groupadd sshgroup

# groupadd -g 20 sshgroup       // GID 20 인 sshgroup 그룹 생성, 특정 GID를 할당하여 그룹을 생성

# gpaswd -A jsk005 sshgroup    // jsk005 계정사용자에게 sshgroup 관리자 권한 부여

# groups {username}               // 사용자가 어떤 그룹에 속해있는지 확인


root(관리자)가 jsk005 계정사용자에게 sshgroup 그룹 관리자 권한을 부여한 경우 jsk005 로 로그인한 다음에

$ gpasswd sshgroup 패스워드    // 그룹 패스워드 지정

$ gpasswd -a user1 sshgroup     // user1 을 sshgroup 그룹에 추가


usermod : 사용자의 정보를 수정하는 명령어

usermod [옵션] 사용자명

- g : 기본 그룹을 변경한다.

- G : 추가 그룹을 변경한다.

- L : 사용자의 패스워드에 LOCK을 걸어 로그인을 막는다.

- U : 사용자의 패스워드에 걸린 LOCK을 푼다.

- d : 홈디렉토리를 변경한다.

# usermod –e 2014-12-05 user1   // user1 계정의 만기일을 2014-12-05 일로 설정


사용자계정을 그룹에 등록

# usermod -g tempgroup jsk005 // tempgroup 그룹에 jsk005  멤버 등록

# usermod -G sshgroup jsk005     // sshgroup 그룹에 jsk005 멤머 등록



jsk005로 로그인후 groups 를 치면 sshgroup 가 나옴

$ usermod -G sshgroup, groupb jsk005    // jsk005 사용자를 sshgroup 그룹, groupb 그룹에 동시 등록


특정 디렉토리 밑에 있는 모든 디렉토리에 그룹 쓰기 권한주기 

# chmod -R g+w


그룹 멤버를 완전히 새로 설정하는 예이다. 

즉, 기존 그룹멤버를 완전히 무시하고 새로운 그룹멤버들을 설정하는 방법이다.

# gpasswd -M baikju sshgroup


여러명의 user를 추가할 때 어떻게 하는지 보자


# grep jsk005 /etc/group      // jsk005 계정 사용자가 속한 그룹 검색



그룹이름 변경

# groupmod -n 변경할그룹이름 기존그룹이름


그룹 삭제

그룹에 사용자가 있다면 삭제가 불가능하다.


그룹에서 사용자계정 삭제

You can also remove a user from secondary group with:

# gpasswd -d username groupname

# gpasswd -d user2 sshgroup     // user2 를 sshgroup 그룹에서 삭제



유저정보 조회

id jsk005  ==> 사용자의 uid,gid, group를 보여준다.

-g : 기본 그룹의 gid를 출력한다.

-G : 사용자가 속한 모든 그룹의 gid를 출력한다.

-u : 사용자의 uid를 출력한다.

-n : 위의 옵션과 함께 사용하여 숫자 대신 이름을 출력한다.


728x90
블로그 이미지

Link2Me

,
728x90

리눅스 권한, 소유권자 하위 디렉토리 까지 바꾸기


chown 명령어를 쓰면 파일 또는 디렉토리의 소유자와 그룹 소유자를 변경하는데 사용한다.
# chown 소유자:소유그룹 파일또는디렉토리이름
# chown -R 소유자:소유그룹 파일또는디렉토리명  // 디렉토리와 디렉토리 하위 전체 파일을 모두 변경


# chgrp  [ 옵션 ]  그룹명  대상파일   //파일이나 디렉토리의 그룹 소유권을 바꾼다.
파일의 소유자나 슈퍼 유저만이 파일의 그룹 소유권을 바꿀 수 있다.

chown 명령어는 소유자와 소유그룹을 한꺼번에 변경할 수 있지만

chgrp로는 특정 파일이나 디렉토리의 소유 그룹만을 변경할 수가 있다.

옵션
-v : 명령의 결과를 자세히 출력한다.
-R : 디렉토리와 그 하위 파일들의 소유권을 모두 바꾼다.

# chmod -Rf 707 디렉토리명  //하위 디렉토리 및 파일들까지 권한 변경


서버작업을 하다보면 특정 디렉토리내의 모든 파일과 디렉토리들을 특정 소유주와 소유그룹으로 변경해야하는 경우가 흔히 발생한다.
웹에서 자료실등의 파일업로드 디렉토리의 소유주와 소유그룹을 nobody와 nobody로 해줘야 할 때가 종종 있을 것이다.
Apache에서 특정 디렉토리로 파일을 저장하려면 읽기, 쓰기 권한이 있어야하는데 디렉토리의 소유주와 소유그룹을 nobody로 설정해 버리면 간단히 해결할 수 있으므로 이런 작업이 필요하다.


이 경우 보안에 문제가 생길 수도 있으므로 ACL(Access Control List) 권한을 부여하여 특정사용자에게 특정 디렉토리에 읽기 쓰기 권한을 부여할 수 있다.


728x90

'리눅스' 카테고리의 다른 글

리눅스 CentOS 6.X 방화벽 설정  (0) 2014.12.26
그룹 사용자 추가/삭제/변경  (0) 2014.11.19
리눅스 su 와 su - 의 차이  (3) 2014.11.10
파일내용 확인 : cat, head, tail, less  (0) 2014.11.07
VI 에디터 사용법 ★★  (0) 2014.11.06
블로그 이미지

Link2Me

,
728x90

리눅스 su 와 su - 의 차이

su는 substitute user 의 약자이다.


특정유저로 접속하면 로긴 스크립트(.bashrc 와 .bash_profile, 그밖의 환경변수 설정들)들을 읽어서 그 유저의 환경변수를 세팅한다.

보안을 위해서는 root 계정으로 로그인하지 못하도록 설정해 두는게 좋다.

설정방법은 SSH 보안설정 방법 http://link2me.tistory.com/491 게시물을 참조하면 된다.


유닉스/리눅스는 윈도우와 달리 root 권한으로 잘못 명령을 내려 rm -rf * 를 하면 모든 데이터가 다 달라가고 복구가 불가능할 수 있다.


su - 하면 root 유저의 홈 디렉토리로 이동하고 root 유저의 환경변수를 완전히 읽어서 세팅해준다.

su - 는 사용자만 바꾸는것이 아니고 새로 로그인 하는 효과를 나타낸다.


하지만 su 를 하면 root 유저의 홈 디렉토리에 있는 /root/.bash_profile 과 /root/.bashrc 의 환경변수를 읽어들이지 않고, 현재 로그인된 유저의 환경설정 변수를 그대로 사용한다.


사용자를 추가해서 환경변수 파일을 한번 살펴보자.


앞에 . 이 붙어있는 것은 숨김파일을 의미한다.

따라서 그냥 아래 처럼 리스트를 조회하면 아무런 것이 나오지 않는다.



사용자 추가를 한 정보는 /etc/passwd 에서 확인할 수 있다.

파일 내용 확인은 # cat /etc/passwd 로 확인할 수 있는데, 여기서는 보안상

# tail -1 /etc/passwd 를 사용하여 확인해 본다.



su - jsk005

su jsk005

를 한 결과를 그림으로 살펴보자.


pwd (현재 디렉토리 경로)가 su 를 한 경우에는 /root 로 되어 있고, su - 를 한 경우에는 유저의 홈디렉토리로 변경된 것을 알 수 있다.

다른 유저로 변경하면서 그 사용자의 환경변수를 읽어들여서 로그인하는 것처럼 하고 싶다면 su - userid 을 해줘야 한다.



su - 를 하면

su - root 를 하는 것과 같은 의미이다.
따라서 root 유저의 환경변수를 온전히 사용하고 싶다면 su - 를 사용해야 한다.

728x90
블로그 이미지

Link2Me

,
728x90

파일내용 확인 : cat, head, tail, less


파일 정보 보기

cat         // 파일의 내용을 터미널에서 간단히 확인하고자 할 때

head       // 파일의 첫부분을 출력하며, 기본은 10줄을 출력

tail          // 파일의 끝부분을 출력하며, 기본은 10줄을 출력

more       // 파일의 내용을 화면 단위로 출력

less        // more 와 동일한데, 다른 점은 방향키를 통해서 스크롤이 가능

|(파이프라인)    // 데이터의 복잡한 연산을 수행할 때 종종 사용한다. 정상 메시지만 뒤에 있는 명령어로 전달

grep         // 파일내에서 "패턴"을 만났을 때, 그 패턴을 가지고 있는 라인을 출력한다.



# cat [ 옵션 ] [ 파일명]    // [ ] 대괄호는 생략가능 하다는 의미

옵션

-n : 각 행을 출력하면서 행 번호를 붙임

-b : 공백 라인을 제외한 모든 라인에 행 번호를 붙임


# cat /etc/fstab

# cat /etc/services

cat 은 문서의 크기가 작을 때는 유용하다. 하지만 grep 와 같이 사용하면 원하는 걸 뽑아낼 수 있다.


# cat -n /etc/services | less +100

그냥 cat -n /etc/services 를 실행하면 엄청나게 많은 행이 화면을 지나가고 만다.

따라서, 파이프라인(|)을 사용하고, less 를 사용해서 100번째 행부터 보겠다는 의미이다.

화살표 방향키를 누르면 한줄 위로 한줄 아래로 움직이는 걸 확인할 수가 있다.

# cat /etc/services | grep --color ftp     // /etc/services 파일에서 ftp 파일이 있는 행만 찾아라.

# cat /etc/services | grep --color ^ftp  // /etc/services 파일에서 행의 처음이 ftp 인 파일을 찾아라.

   ※ 정규식이 적용되어 있는 것임

# cat /etc/passwd | grep --color bash$   // /etc/passwd 파일에서 끝 문자가 bash 로 시작되는 글자를 찾아라.

# grep -i --color http.$ /etc/services     // /etc/services 파일에서 끝 문자가 http가 포함된 행을

                                                       대소문자 구분없이 결과를 보여달라.


# grep --color http.$ /etc/services

   ※ 옵션으로는 -i (대소문자 구별 무시), -v (지정한 패턴을 제외한 문자 출력), -r (하위 디렉토리 전부다)


# head /etc/passwd   '// 기본은 10줄을 보여주며, 처음부터 10줄을 보여달라는 의미

# head -15 /etc/passwd  '// 문서의 처음부터 15줄을 보여달라는 의미

# tail /etc/services   '// 문서의 끝에서 10줄을 보여달라

# tail -15 /etc/services  '// 문서의 끝에서 15줄을 보여달라

# tail -f /var/log/secure  '// 실시간으로 변하는 마지막 10줄을 보여달라


질문 : /etc/passwd 파일의 2번째 행부터 5번째 행까지 모니터 화면에 출력하라.

Answer1 : # head -5 /etc/passwd | tail -4

해설 : 먼저 head 명령어를 사용하여 앞에서부터 5줄을 뽑아내고 파이프(|)를 사용해서

         뽑아낸 것중에서 tail 명령어를 사용해서 하단에서부터 4개를 뽑아낸다.

         그러면, 원하는 2행부터 5행까지 뽑아낼 수가 있다.


Answer2 : # sed -n '2,5p' /etc/passwd


질문 : /etc/passwd 파일에서 ftp, ssh 가 들어있는 라인을 출력하라.

Answer : # grep -e ftp -e ssh /etc/passwd


이제 파일의 내용을 모니터 화면이 아니라 다른 파일로 출력하고 싶다면 어떻게 해야 할까?

리다이렉션 기능을 이용한다.


문법

명령어  > 파일명

명령어  >> 파일명


구 분

>

>>

파일 X

  파일 생성후 결과 저장   파일 생성후 결과 저장

파일 0

  덮어씀   기존 내용에 추가
 

# cp /etc/passwd /root/1.txt       // 파일을 복사

# cat /root/1.txt | tail -15 > /root/2.txt    // 1.txt 파일의 끝부분에서 15줄을 2.txt 파일에 저장하라.



728x90
블로그 이미지

Link2Me

,
728x90

VI 에디터 사용법


VI 에디터는 유닉스에서 공통으로 사용하는 에디터이다.

유닉스용 VI는 상용이라서 리눅스에서는 Free 버전으로 VIM 을 만들었다.

명령어를 vim 파일명 으로 입력해도 되고 vi 파일명으로 입력해도 된다.

alias 로 해서 vi 를 입력하면 vim 으로 자동 인식하도록 해두었기 때문이다.

vi improved 의 약자가 vim 이다.

vi명령어는 어떻게 구성되어 있을까?
vi명령어는 다음과 같이 입력 모드, 명령 모드, 콜론 모드(ex 모드) 크게 세가지로 분리된다.


모드

명령어

동 작

입력모드

i

    현재 커서가 위치한 왼쪽에 글자가 입력됨.( i : Insert)

a

    현재 커서가 위치한 뒤에 글자가 입력됨 ( a : Append)

o

    현재 커서가 있는 줄 아래에 빈줄 삽입 ( o : Open Line)

O

    현재 커서가 있는 줄 위에 빈줄 삽입

R

    덮어쓰기 모드로 전환

명령모드

/se nu

    행번호 보여주기

/se nonu

    행번호 보여주기 취소

/name

    name(찾고자하는 문자열) 찾기

n

    name 의 다음 찾기

N

    역방향으로 name 찾기

:s/변경할문자열/변경문자열

    현재 행의 '변경할 문자열'을 '변경문자열'로 대체

:%s/변경할문자열/변경문자열

    파일 전체 '변경할 문자열'을 '변경문자열'로 대체
    파일 내용의 글자를 변경할 때에는 윈도우 기반 텍스트 에디터를
    이용하는 편이 확인해가면서 작업하기 편할 수 있음

:42,44s/ftp/scp/g

    42 ~ 44행까지 ftp를 scp 로 변경하라. g(global)는 전부

40,50w 11.txt

    40 ~ 50행까지를 11.txt 파일에 저장하라

0(zero) 또는 ^

    현재 커서가 있는 줄의 처음으로 이동

$

    현재 커서가 있는 줄의 끝으로 이동

H

    화면 맨 위로 이동

M

    화면의 중간으로 이동

L

    화면의 맨 아래로 이동

w

    다음 단어의 처음으로 이동

b

    이전 단어의 처음으로 이동

100G

    100행으로 이동

G (shift + g)

    문서의 맨 끝으로 이동

gg

    문서의 맨 앞으로 이동

Shift + 아래방향화살표

    한 페이지 아래(뒤)로 이동

Shift + 윗방향화살표

    한 페이지 위(앞)로 이동

u

    방금 실행했던 삭제 작업을 취소.
    리눅스에서는 무한 undo 가 됨

Ctrl + r

    redo

x

    현재 커서가 있는 위치에서 한 문자 삭제

5x

    현재 커서가 있는 위치에서 5개이 문자를 삭제

dw

    한 단어 삭제

4dw

    현재 커서가 있는 위치에서 4개의 단어가 삭제됨

dd

    한줄 삭제

5dd

    커서가 있는 라인부터 5개의 라인 삭제

:1,5d

    1 ~ 5행 삭제

:10,20d

    10 ~ 20행 삭제

yy

    현재 커서가 있는 줄을 버퍼에 복사

3yy

    현재 커서가 있는 줄부터 3줄을 버퍼에 복사

p

    현재 커서가 있는 뒤에 버퍼에 있는 내용을 붙여넣기

yG

    현재 줄부터 그 파일의 끝까지 버퍼에 복사

y20G

    현재 줄부터 파일의 20번째 줄까지 버퍼에 복사

:! cal

    현재 VI 에디터에서 다른 명령어를 실행할 때 사용

:! cat 11.txt

    11.txt 파일 내용을 화면에 보여주기

:r foo.txt

    r(read), 현재 커서가 위치한 바로 앞에 foo.txt 파일을 삽입한다.

 

ESC키

    입력모드에서 명령모드로 변경됨

EX모드

:q

    저장하지 않고 종료. 파일이 수정되었으면 q 로는 빠져나올 수 없음

:q!

    저장하지 않고 강제 종료

:wq

    저장하고 종료

 

 


728x90
블로그 이미지

Link2Me

,
728x90

리눅스 기본 명령어


리눅스는 계층적인 디렉토리 구조로 파일을 구성한다.

파일의 최상위 디렉토리를 root 디렉토리라고 한다.

현재 작업 디렉토리에 있는 파일과 하위 디렉토리를 표시할 때는 ls 명령어를 사용한다.


디렉토리 구조
/           : 루트 디렉토리
/bin        : 시스템 부팅과 실행에필요한 바이너리(프로그램)들을 포함하고 있다
/boot       : 부트 관련파일
/etc        : 시스템 전반의 환경설정파일이 들어있다
/home       : 사용자 로그인 디렉토리. 각 사용자마다 /home 디렉토리를 갖게 된다.
/proc       : 메모리 내용을 보여주는 가상 디렉토리
/sbin       : 슈퍼 유저가 실행하는 명령
/usr        : 일반 사용자가 사용하는 모든 프로그램과 지원 파일들이 모두 들어있다.
/usr/bin    : 사용중인 리눅스 배포판이 설치된 실행파일
/usr/local  : 관리자 설치파일
/usr/sbin   : 시스템 관리 프로그램이 들어있다
/var/log    : 시스템의 활동을 기록하는 로그파일들이 들어있다.

/var        : 내용이 변경되는 작업파일
/tmp        : 임시파일
             -> 만드는건 누구든지 가능하지만 지울때는 만든 사람만 지울수 있다(stiky bit 설정되어 있다)


경로명
절대경로명 : 경로명의 시작이 / 로 시작되는 경로명
상대경로명 : 경로명의 시작이 / 로 시작되지 "않은" 경로명

    . : 현재 디렉토리

   .. : 상위 디렉토리



명령어 -옵션 명령인자

※ 명렁어만으로 실행되는 경우도 있고, 명령어 -옵션 명령인자 를 다 넣어야 실행되는 경우도 있다.


# pwd                : 작업을 할 때는 항상 현재 디렉토리가 어디인지 확인을 해줘야 한다.
                          이동한 경우에는 항상 pwd 로 현재 작업 디렉토리를 확인해야 한다.
                          잘못하면 엉뚱한 데이터를 몽땅 날릴 수도 있다.


# cd                  : 작업 디렉토리를 홈 디렉토리로 변경한다.

# cd -                : 작업 디렉토리를 이전 작업 디렉토리로 변경

# cd ~username  : username 의 홈 디렉토리로 작업 디렉토리로 변경



주로 많이 사용하는 ls 옵션

ls : 디렉토리 내용 나열하기

옵션 : 명령어 행동에 영향을 끼치는 요소(앞에 - 붙여줌, 결합가능)

 -a    : 모든 파일보기. 숨김파일까지도 표시

 -F    : 디렉토리명이면 끝에 / 를 표시해 줌

 -l     : 좀 더 자세한 정보를 출력

 -d    : l 과 같이 사용되며,

 -r     : 역순으로 표시

 -R    : 전부다 표시


# ls -l

# ls -aF

# ll -F


# cat /etc/passwd | grep ftp    // /passwd 파일을 전부 보여주고 그 중에서 ftp 라는 글자만 찾아서 보여줘라

# grep ftp /etc/passwd    // passwd 파일에서 ftp 라는 단어를 검색해서 보여줘라.








728x90
블로그 이미지

Link2Me

,
728x90

 

FTP 상위디렉토리 접근금지(FTP chroot) 설정

 

리눅스에서 사용하는 FTP서버용 솔루션으로는 proftpd vsftpd가 주로 사용된다.

 

vsftpd proftpd에 비해서 속도와 보안, 성능이 뛰어나며 무엇보다 안정성을 보장할수 있는 훌륭한 ftp서버용 소프트웨어라고 할수 있다. 그리고 vsftpd Linux뿐아니라 Solaris, FreeBSD, HP-UX, IRIX등 거의 모든 유닉스계열의 운영체제에서 사용이 가능하다.

 

FTP 는 기본적으로 root 접속을 못하게 막혀있다.

FTP 로 접속하는 경우에는 네트워크 상에서 ID, Password 정보가 plian text 보여서 네트워크 캡쳐툴에서 감지될 수 있다.

 

FTP 가 설치되어 있는지 여부를 확인하는 방법, 프로세스 기동상태 확인을 한다.

# rpm -qa | grep vsftpd  '// 패키지 설치 확인

# ps -ef | grep vsftpd    '// 프로세스 확인

# netstat -ntlp   '// 포트확인

 

 

FTP 접속시 홈디렉토리 경로 확인 방법은

# cat /etc/passwd

 

# FTP 접속 사용자 등록 및 기본 홈 디렉토리 지정
adduser -d /usr/local/apache/htdocs/abc user계정명

# FTP 접속 사용자의 기본홈 디렉토리 위치 변경
usermod -d /usr/local/apache/htdocs/abc user계정명

chroot 를 설정하고 ON 하면

useradd  명령어로 사용자를 추가하고

/etc/passwd 에 등록된 사용자의 접속경로만 변경해주면 사용자의 최상위 root 폴더는 자동으로 설정된다.

즉, 재부팅 이런거 안해도 된다.

 

환경설정 변경 및 확인

# vi /etc/vsftpd/vsftpd.conf

 

앞에 전부 # 처리가 되어 있다면 상위디렉토리 접근금지 상태 설정이 안된 것임

 

chroot_local_user=YES    '// Yes이면 chroot_list에 적힌계정은 deny가 됨

chroot_list_enable=YES
chroo_list_file=/etc/vsftpd/chroot_list

설명

특정 사용자들에 대해 자신의 홈 디렉터리를 루트 디렉터리로 인식하도록 하는 기능
chroot_list_enable=YES로 설정하고 
chroot_list_file=/etc/vsftpd/chroot_list 파일에 등록된 사용자들에 한해서 
chroot() 기능이 적용되어 자기 자신의 홈디렉터리 상위디렉터리 이동이 제한

 

 

chroot_local_user=YES  '// 전체 사용자를 대상으로 자기 자신 홈 디렉터리 상위 디렉터리로 이동하지 못하도록 하는 설정
chroot_local_user=YES와
chroot_list_enable=YES가 둘다 YES 이면, 
/etc/vsftpd/chroot_list 파일에 등록된 사용자는 상위 디렉토리 이동 제한 없고, 등록 리스트에 없는 사용자는 상위디렉터리 이동 제한됨

 



위 그림처럼 설정되어 있다면 접근을 막을 ID를 등록해준다.

 

# vi /etc/vsftpd/chroot_list

접근을 막을 ID를 써준다. (한줄에 하나씩)
chroot_list 파일이 없다면 새로 생성하면 된다.
 
# /etc/init.d/vsftpd restart    '// vsftp 데몬을 재시작
 

 


 

설정이 잘 되었는지 반드시 테스트를 해봐야 한다.
상위 디렉토리로 접근 불가능하게 설정한 ID 가 FTP를 통해서 접속할 경우 상위 디렉토리로 더이상 이동이 안되는가? SFTP 접속 프로그램으로는 접속이 가능한가?
상위 디렉토리로 접근을 못하게 막겠다고 했는데 22번 포트를 사용하는 SFTP, SCP 로 접속이 가능하다면 설정한 의미가 하나도 없게 된다.
이런 부분까지 감안해서 보안설정을 해줘야 한다.

 

# chkconfig vsftpd on    '// 부팅시 자동 실행
# chkconfig vsftpd off   '// 부팅시 자동 실행 중지

 

ftp chroot 접속 경로를 변경하려면 vi /etc/passwd 로 접속해서 해당 user id 의 기본 경로명을 변경하기만 하면 된다.

SSH 로도 root 접속을 못하게 하고 싶다면 http://link2me.tistory.com/449 게시물을 보고 설정을 하면 된다.

SSH 22번 포트 상위 디렉토리 이동 제한 설정방법은 https://link2me.tistory.com/1039 를 참조하거나 구글에서 SSH chroot 를 검색하면 해결할 수 있다.

728x90

'리눅스' 카테고리의 다른 글

VI 에디터 사용법 ★★  (0) 2014.11.06
리눅스 기본과 기본명령어  (0) 2014.11.05
리눅스 shell 접속프로그램 허용 불가  (0) 2014.10.22
phpMyAdmin 설치 방법  (0) 2014.10.21
Virtual Host 설정  (0) 2014.10.11
블로그 이미지

Link2Me

,
728x90

shell 접속프로그램 허용 불가



리눅스에서 파일을 직접 수정하려면 VI 에디터로 접속를 한다.

VI로 접속된 곳에서 I 를 누르면 Insert 모드로 변경된다.

화살표로 움직여서 원하는 곳에서 지우고자 하면 백스페이스화살표키를 누르면 글자가 한글자씩 지워진다.

원하는 글자가 다 지워졌으면 Esc 키를 누르면 Insert 모드에서 해제가 된다.

수정된 것을 저장하려면 :wq 를 누르면 저장완료하고 빠져나온다.


FTP 사용자 계정을 추가하고 vi /etc/passwd 로 접속해서 확인하면 추가된 ID와 접속경로를 확인할 수가 있다.


계정에서 /bin/noshell 은 vsFTP 접속은 허용하고 SSH 접속은 불허 하겠다는 의미



/bin/bash 는 vsFTP 접속과 SSH, SFTP 접속도 허용하겠다는 의미


/home 은 상위접속폴더를 home 디렉토리로 지정하여 보이도록 하겠다는 의미





728x90

'리눅스' 카테고리의 다른 글

리눅스 기본과 기본명령어  (0) 2014.11.05
FTP 상위디렉토리 접근금지 (vsFTPd) - ftp chroot  (2) 2014.10.23
phpMyAdmin 설치 방법  (0) 2014.10.21
Virtual Host 설정  (0) 2014.10.11
IP주소를 알아내는 nslookup 명령어  (0) 2014.10.05
블로그 이미지

Link2Me

,

phpMyAdmin 설치 방법

리눅스 2014. 10. 21. 01:00
728x90

phpMyAdmin 설치 방법


몇번의 삽질 끝에 아 이런거구나 하고 이제서야 조금 알게되었다.


phpMyAdmin 을 설치해서 이용하면 MySQL DB 다루는 것이 매우 편리하다.


1. 프로그램 다운로드 : http://www.phpmyadmin.net/ 에서 최신 버전을 다운로드


2. 프로그램 설치

   - 다운로드 받으면 zip 으로 압축된 파일

   - FTP 또는 SFTP 를 이용하여 리눅스 서버로 업로드

   - Unzip phpmyadmin 파일명 해서 압축 해제

   - 설치할 폴더와 다른 곳에서 압축을 풀었다면 원하는 곳으로 mv (이동) 시킴


3. phpMyAdmin 설치를 위한 기초지식

   - 보안을 위해서 폴더명을 다른 이름으로 변경하여 사용할 것을 권장

   - 하위 폴더에 setup 폴더가 있는데 이 폴더를 지정하여 실행하면

     설정한 파일 정보가 config 폴더 밑에 config.inc.php 로 저장됨

   - 따라서, 먼저 mkdir config 로 폴더를 생성시켜 줘야 함


4. phpMyAdmin 설치를 위한 방법 안내

   - phpMyAdmin 이 설치된 폴더에서

   - # mkdir config   '// config 폴더 생성

   - # chmod o+rw config   '// 권한 부여

   - # cp config.sample.inc.php ./config/config.inc.php

   - # chmod o+w config/config.inc.php

   - # cd examples   '// examples 폴더로 이동


이제 ls -al 을 입력해서 create_tables.sql 파일이 존재하는지 확인하고 나서

# mysql -u root -p < create_tables.sql

password :       '// MySQL root 패스워드 입력

하면 MySQL DB에 phpmyadmin 이라는 DB가 생성된다.



5. 이제 setup (환경설정)을 해준다.

  - http://사이트URL/phpMyAdmin/setup/ 이라고 입력

하면 환경설정하는 화면이 나온다.





저장(save) 하면 환경설정 정보가 /config/config.inc.php 파일에 저장된다.


이제 환경설정 파일을 phpMyAdmin 이 설치된 폴더로 이동시킨다.

# cd ..

# cp config/config.inc.php ./


6. 이제 보안설정을 위해서 해줘야 할 일은 setup 폴더 전체 삭제, config 폴더를 삭제해준다.

# rm -rf config/

# rm -rf setup/



7. 이제 환경설정 저장한 정보를 적용하기 위해서 아파치를 재기동한다.

   # service httpd restart


8. phpMyAdmin 로그인 화면


GO 하단에 이상한 글씨가 보인다면 이것은 config.sample.inc.php 파일을 삭제하지 않아서 생기는 현상이므로 이 파일을 삭제해주면 된다.


---------------------------------------

버전이 좀 낮은 것이 사용하는데 편해서 낮은 버전을 구해서 사용하고 있다.

윈도우에서 해당 폴더에 압축을 풀어서 사용할 경우에는

http://localhost/myadmin/

이라고 입력하면 phpMyAdmin 창이 나온다. 여기에서 myadmin 이란 건 설치한 폴더명을 의미한다.


첨부된 파일은 낮은 버전의 phpMyAdmin 인데 압축된 폴더명은 myadmin 으로 되어 있다.

일일이 입력하기 귀찮아서 폴더명을 변경했다.


myadmin.zip




728x90
블로그 이미지

Link2Me

,

Virtual Host 설정

리눅스 2014. 10. 11. 06:57
728x90

가상호스트(Virtual Host)란?

웹 서버에는 기본적으로 존재하는 호스트가 있는데  이를 주호스트(main host)라고 하나의 웹 서버에는 주호스트 외에 별도의 홈 디렉토리를 가진 여러 개의 호스트를 설정하여 운용할 수 있다. 주로 웹 호스팅 서비스에 사용되며 주호스트 외에 나머지 호스트들을 모두 가상호스트 (virtual host)라고 한다.

가상 호스트 종류

   ● 이름기반의 가상호스트(Name-based virtual host)

   ● 주소기반의 가상호스트(IP-based virtual host)

   ● 포트기반의 가상호스트(Port-based virtual host)

   ● 기본 가상호스트(Default virtual host)

위의 네가지 경우 모두 하나의 물리적인 서버에서 운용된다는 것과 다수개의 가상호스트를 운용한다는 것을 전제로 한다.

이름기반의 가상호스트는 하나의 IP Address에 여러개의 가상호스트를 운용하는 것이며, 주소기반의 가상호스트는 가상호스트 각각에 하나씩의 IP Address를 할당하여 운용하는 것이고 포트기반의 가상호스트는 하나의 동일한 호스트에 포트만 다르게 지정하여 운용하는 것이다.

그리고 마지막 기본 가상호스트는 설정되어있는 어떤 호스트도 해당사항이 없는 호스트의 로딩요구를 받았을때 기본으로 응답하게될 호스트를 지정하게 된다

name-based virtual hosting

  • 하나의 웹 서버에서 한 개의 IP주소를 가지고 여러 호스트에 대해서 웹 서비스 제공.
  • 현재 웹 호스팅 업체에서 주로 사용
  • 네임 서버에서 각각의 가상 호스트에 대해서 CNAME으로 반드시 지정해야 함



IP-based virtual hosting

  • 웹 서버에 여러 개의 IP주소가 할당되어야 가능
  • IP 주소의 고갈 문제가 대두되기 전의 초창기 웹 호스팅 업체에서 많이 사용되었다.
  • 한 대의 웹 서버와 하나의 이더넷 카드에 여러 개의 IP주소를 할당하는 IP alias을 사용하여 할당  
  • IP alias 방법
     ifconfig eth0:순번 xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx up
     … …



많은 IP 주소가 필요한 단점이 있지만, 이름기반의 가상호스트보다도 더 안정적이고, 더 효율적이며 관리하기도 편한 것이 주소기반의 가상 호스트이다.

Port-based virtual hosting

  • 하나의 웹 서버에서 기본포트 80번은 주호스트로 설정하고 여러 개의 다른 포트를 지정하여 원하는 만큼의 가상서버를 운용하는 방법
  • 즉 80번은 주호스트로 사용하고 8080번, 8081번 그리고 8082번 등등 포트를 지정하여 같은 가상 호스트로 사용하는 것이다.

728x90
블로그 이미지

Link2Me

,
728x90

IP주소를 알아내는 nslookup 명령어


도메인의 IP주소를 알아내고 싶을 때 사용하는 명령어

nslookup 을 치고 나면 ....

도메인 주소를 입력하면 결과로 IP address 주소 값을 알려준다.



도메인 주소 연결이 제대로 잘 되었는지 확인할 때 유용하다.

이 명령어는 리눅스가 아닌 윈도우 에서도 사용 가능하다.



728x90

'리눅스' 카테고리의 다른 글

phpMyAdmin 설치 방법  (0) 2014.10.21
Virtual Host 설정  (0) 2014.10.11
리눅스에서 디렉토리, 파일 용량 확인  (0) 2014.09.28
리눅스 관리자 비밀번호 변경  (0) 2014.09.27
리눅스에서 파일 찾기 (파일명 검색)  (0) 2014.09.07
블로그 이미지

Link2Me

,
728x90

리눅스에서 디렉토리, 파일 용량 확인


디렉토리 용량 확인하기
# du -hs 폴더이름



디렉토리 내 하위폴더별 용량확인하기
# du -hs 폴더이름/*



파일 용량 확인하기
# du -h 파일이름


폴더 경로 설정을 일일이 입력하지 않고 한두글자 입력하고 탭키만 누르면 해당 폴더가 있으면 알아서 자동완성시켜 주는 기능을 이용하면 폴더명 지정하는 것이 매우 편하다.

728x90
블로그 이미지

Link2Me

,
728x90

리눅스 관리자 비밀번호 변경


관리자 비밀번호 변경은 

#passwd

이다.

너무 패스워드가 짧으면 짧다고 다시 입력하라고 나오니 길게 입력하는게 좋다.




728x90
블로그 이미지

Link2Me

,