피드 구독하기: 글 (Atom)

2007-01-11

리눅스 chmod 명령어 사용법 x 퍼미션 변경하기

1. 기능

파일이나 디렉토리의 퍼미션(허가권)을 변경하거나 지정

2. 문법

chmod [옵션] (u|g|o|a)(+|-)(r|w|x) files directory...

3. 사용방법 및 정보

파일 퍼미션은 파일이나 디렉토리의 사용을 허가하거나 제한하는 데 사용하는 허가권을 말한다.

소유자(user), 그룹(group), 다른 사용자(others)에 대한 각각의 허가권은 읽기 권한(r), 쓰기 권한(w), 실행 권한(x)으로 구성되며 해당 권한이 주어지지 않으면, - 로 나타난다.

                       -rwxrwxrwx
                    user┛  ┃  ┗ other
                             group

$ls  -l  test.sh
_rwx--x--x   1  tester   testgroup  45   Nov 06   17:03   test.sh

해당  파일 (test.sh)에 대하여 파일 소유자 tester는 읽고, 쓰고, 실행할 수  있으며, 그룹 testgroup에 속한 사용자와 그 외의 다른 사용자들은 해당 파일을 실행만 할 수 있다.

파일 및 디렉토리에 대한 퍼미션을 변경할 때는, 문자열을 이용한 상대 모드와 8진수 체계를 이용한 절대 모드 방법을 이용할 수 있다.

  • 상대모드

    ACCESS CLASS

    u : user의 퍼미션
    g : group의 퍼미션
    o : other의 퍼미션
    a : user + group + other

    OPERATOR

    + : 퍼미션 추가
    _ : 퍼미션 삭제
    = : 퍼미션을 일치시킴

    ACCESS TYPE

    r : 읽기 퍼미션
    w : 쓰기 퍼미션
    x : 실행 퍼미션 (디렉토리는 탐색 퍼미션)
    s : SUID, SGID
    t : sticky bit
  • 절대모드

    각각의 퍼미션 설정을 아래와 같은 값의 합계로 지정한다.

    400 : owner의 읽기
    200 : owner의 쓰기
    100 : owner의 실행
    40 : group의 읽기
    20 : group의 쓰기
    10 : group의 실행
    4 : other의 읽기
    2 : other의 쓰기
    1 : other의 실행

    퍼미션 설정이 _rwx--x_x 인 파일의 경우를 절대모드로 나타내면 아래와 같다.

    rwx : 600
    --x : 10
    --x : 1

    따라서, 퍼미션은 711로 표시한다.

Ex)

[root@ls ]# ls -l miscellaneous
-rw-rw-r--  1 linuxone root 41747 Mar  8 22:34 miscellaneous
[root@ls ]# chmod g-w miscellaneous

miscellaneous 파일의 소유 그룹에서 쓰기(write) 퍼미션을 제거한다.

[root@ls ]# chmod u+x,g-w miscellaneous
[root@ls ]# ls -l miscellaneous
-rwxr--r--  1 linuxone root 41747 Mar  8 22:34 miscellaneous

miscellaneous 파일의 소유자에게는 실행(execute) 퍼미션을 추가, 소유 그룹에게서는 쓰기(write) 퍼미션을 제거해준다.


리눅스 chgrp 명령어 사용법

1. 기능

파일의 그룹 소유권을 바꾼다.

2. 문법

# chgrp  [ 옵션 ]  그룹명  대상파일

3. 옵션

-v : 명령의 결과를 자세히 출력한다.
-R : 디렉토리와 그 하위 파일들의 소유권을 모두 바꾼다.
Ex) # chgrp  education  /usr/sensitive/*
이것은 /usr/sensitive의 모든 파일들의 소유권을 education 그룹으로 바꾼다.

4. 사용방법 및 정보

파일의 소유자나 슈퍼 유저만이 파일의 그룹 소유권을 바꿀 수 있다. chgrp 명령 뒤에 원하는 옵션을 사용한 후 목적하는 그룹의 이름을 명시하고 대상 파일의 이름을 명시한다.

[root@sense ~]# ls -l miscellaneous
-rw-r--r--  1 linuxone root 41747 Mar  8 22:34 miscellaneous
[root@sense ~]# chgrp linuxone miscellaneous
-rw-r--r--  1 linuxone linuxone 41747 Mar  8 22:34 miscellaneous

이 명령은 chown 명령에서 ‘ .’ 과 ‘ : ‘을 이용하여 소유 그룹을 변경하는 것과 동일하다.


리눅스 그룹 관리 명령어 사용법

1. groupadd

1-1. 기능

그룹을 추가할 때 사용하는 명령어

1-2. 문법

groupadd  [ 옵션 ]  group

1-3. 옵션

-g gid : gid를 지정해서 그룹을 생성할 수 있다. 이 옵션을 사용하지 않으면, 500번 이후부터 가장 작은 수부터 적용이 된다.
-f : 강제의 의미를 갖는다. 이미 생성되어 있는 이름으로 그룹을 생성하려고 하면 에러가 발생하는데, -f 옵션을 사용하면 생성할 수 있다.

1-4. 사용방법 및 정보

가) /etc/group 파일에 그룹에 대한 정보가 저장되므로 그룹에 대한 정보는 이 파일을 통해서 확인한다.

-g 옵션을 통해서 gid를 지정해주지 않으면, 500번 이후의 번호부터 순차적으로 적용된다. 아래 예제는 -g 옵션을 사용하지 않고, 그룹을 생성한 경우와 gid를 지정해서 생성한 경우를 비교한 내용이다.

[root@sense ~]# groupadd dokdo
[root@sense ~]# tail /etc/group
linuxone:x:504:
education:x:505:
sense:x:506:
dokdo:x:507:
[root@sense ~]# groupadd -g 600 ourland
[root@sense ~]# tail /etc/group
linuxone:x:504:
education:x:505:
sense:x:506:
dokdo:x:507:
ourland:x:600:

나) 아래 예제는 기존에 있던 그룹 명으로 강제 생성한 경우이다.

[root@sense ~]# groupadd education
groupadd: group education exists
[root@sense ~]# groupadd -f education

2. groupdel

2-1. 기능

그룹을 삭제할 때 사용하는 명령어
2-2. 문법

groupdel  그룹명
2-3. 사용방법 및 정보

역시 /etc/group 파일에서 삭제 된 내용을 확인할 수 있다.

[root@sense ~]# tail /etc/group
inuxone:x:504:
education:x:505:
sense:x:506:
dokdo:x:507:
ourland:x:600:
[root@sense ~]# groupdel education
[root@sense ~]# tail /etc/group
linuxone:x:504:
sense:x:506:
dokdo:x:507:
ourland:x:600:

리눅스 reboot 명령어 사용법

1. 기 능

시스템을 리부팅 한다.

2. 문 법

reboot [ -q ]

3. 사용방법 및 정보

-q : 현재의 프로세서들을 종료시키지 않고, 부팅 동작만을 수행한다. 이 옵션을 사용하면 더 빠르게 리부팅 할 수 있다. 다시 부팅한 기록은 로그 파일인 /var/adm/wtmp에 기록된다.

4. 사용방법 및 정보

이것은 모든 사용자 프로세서를 종료시키고 디스크로부터 리눅스를 다시 부팅한다. 시스템을 리부팅하기 위해 shutdown 명령의 -r 옵션을 사용할 수도 있다.

리눅스 passwd 명령어 사용법

1. 기 능

패스워드를 지정하는 명령어

2. 문 법

 # passwd  [ user ]

3. 사용방법 및 정보

새로운 유저를 생성하는 경우 패스워드를 지정해줘야 한다.  슈퍼유저의 경우 다른 계정의 패스워드를 지정할 수 있지만, 일반유저의 경우 자기 자신의 패스워드만 지정 또는 변경 가능하다. 인자 값 없이 passwd 명령만 사용한 경우, 현재 로그인한 계정의 패스워드를 변경한다. 암호화 된 패스워드는 /etc/shadow 파일에 저장된다.

[root@sense ~]# passwd linux
Changing password for user linux.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

패스워드 정책
- 패스워드와 아이디를 다르게 사용한다.
- 패스워드는 되도록 길게, 숫자, 문자, 특수문자 조합해서 만드는 것이 좋다.
- 표준 값으로 제공되는 패스워드는 교체한다.
- 가능하면 ‘one-time password' 같은 보안이 강화된 패스워드 시스템을 사용한다.

one-time password : 접속 시마다 passwd 변경, 구현이 어렵다.
- 사무실 전화번호, 호스트명 등 알기 쉬운 것은 금지
- 우랄 알타이어족에서 사용하는 언어를 소리 나는 대로 입력하기+특수문자
=>크랙이 상당히 힘들다. - 보안과 편리성은 반비례한다.

 

리눅스 mv 명령어 사용법

1. 기 능

: 파일의 위치를 이동하거나 파일의 이름을 바꾸어준다.

2. 문 법

  # mv [ 옵션 ] 파일명1 파일명2
  # mv [ 옵션 ] 파일명1 파일명2

3. 옵 션

-f : 같은 이름의 파일이 존재하고 쓰기 권한이 금지되어 있더라도 물어보지 않고 덮어쓰기 한다. 기본적으로 xi 옵션이 설정되어 있어 삭제하기 전에 한 번 질의한다.
-i : 파일을 덮어쓰기 전에 사용자에게 확인한다.

4. source 가 파일이고, destination이 파일인 경우, 파일명을 변경한다. Source가 파일이고 destination이 디렉토리인 경우, source 파일을 destination으로 옮겨준다.

[root@sense ~]# touch lucky
[root@sense ~]# ls -l
-rw-r--r--  1 root     root         0 Mar 16 20:25 lucky
[root@sense ~]# mv lucky seven
[root@sense ~]# ls -l
-rw-r--r--  1 root     root         0 Mar 16 20:25 seven

->현재 디렉토리에 있는 lucky 라는 파일을 seven 이라는 파일명으로 변경한다.

[root@sense ~]# mkdir greatest
[root@sense ~]# mv  ckypsw  sense  seven  greatest/
[root@sense ~]# ls greatest/
ryuichi  sakamoto  seven

->현재 디렉토리에 있는 ckypsw, sense, seven 파일을 grestest 디렉토리로 이동시킨다.