Purple Bobblehead Bunny

Server/Linux

Linux 사용자 계정 권한 Useradd, chmod, chown

준영어린이 2022. 4. 8. 11:20
Permission - 허가권. 특정 디렉토리나 파일에 대한 접근 제어를 할 수 있다.
chmod (change mode) - 허가권을 변경하는 명령어 
chown (change owner) - 권한을 부여하는 명령어 

 

허가권 변경

Symbolic
File Directory
r - 읽기 cat, head, tail, more ... r - 목록보기 ls ...
w - 쓰기 > (redirection) w - 생성, 이름변경, 삭제 mv, touch, mkdir, rm, mkdir...
x - 실행 파일 실행 x - 진입 권한  cd ...

 

8비트로 표기

Numeric
r 2^2 = 4
2^1 = 2
x 2^0 = 1
4 + 2 + 1 =7 -> 8Bit

rw-r-xr-- -> 6 4 5               //  7 5 5 -> rwxr-xr-x

rwxr--r-x -> 7 4 5               //  6 4 4 -> rw-r--r--

r--rwxr-- -> 4 7 4               //  7 0 1 -> rw------x

 

 

Numeric ex) chmod 461 file/directory

   4 -  소유자에게 읽는 권한 부여

   6 -  그룹에게 읽거나 쓰는 권한 부여

   1 -  나머지에게 실행 및 접근 권한 부여

Sysbolic ex) chmod g+w file/directory 

   그룹에게 쓰는 권한 부여

            ex) chmod o-x file/directory

   나머지에게 접근 권한 미부여

 

계정 생성

useradd - 사용자 계정 생성 명령어
특징
1. user10 사용자 계정 생성 시 user10 그룹계정생성이 된다.
2. user10 사용자계정 생성 시 /home/user10 개별 홈 디렉토리 생성
3. /home/user10 안의 프로필 파일은 /etc/skel로 부터 복사를 해온다
옵션 설명
-u UID 지정
-g 주 그룹 지정
-G 보조 그룹 지정
-c 주석, 설명
-d 홈 디렉토리 경로 지정
-m  메뉴얼 참조(man useradd)
-k skel directory 경로 지정
-s 쉘 지정
-mk skel 경로

 

UID 지정

 

useradd -u 510 test

 

그룹 지정

 

useradd -g test1 test3

useradd -G heath test4

- 그룹을 지정하지 않으면 uid 와 동일한 gid의 그룹이 생성된다.

 

홈 디렉토리 생성

 

useradd -d /export/home/test test

useradd -d /export/home test1

useradd -d /export/home/heath test2

주의1. 홈 디렉토리 경로 변경 시 해당 되는 홈 디렉토리를 먼저 생성해야 한다.

주의2. 홈 디렉토리 경로 지정 시 경로 끝에 계정명과 동일한 홈 디렉토리명 까지 기재할 것.

 

mkdir -p /export/home

useradd -d /export/home/user60 user60

--> 설정 후 다른 user60으로 로그인 후 pwd 하면 경로가 바뀐 것을 확인 할 수 있다.

 

스컬 경로 지정

useradd -m -k /skeltest test7

- skel 디렉토리 홈 디렉토리를 구성하는 뼈대, 계정 생성 시 한번만 복사한다

 

쉘 지정

useradd -s /bin/ljy test10

 

예제

 

1. TEST10 계정 생성 시 UID 값 1800으로 지정

2. TEST20 계정 생성 시 주 그룹을 TEST10으로 지정

3. TEST30 계정 생성 시 보조그룹 TEST10 추가

4. TEST40 계정 생성 시 홈 디렉토리 경로를 /export/test40으로 지정

5. TEST50 계정 생성 시 스컬경로를 /skel2 로 하고 TEST50 홈 디렉토리에 TEST50 파일이 생성되도록 하기

6. TEST60 계정 생성 시 쉘을 /bin/ljy로 설정

 

정답!

 

더보기

정답

1. useradd -u 1800 test10

2. useradd -g test10 test20

3. useradd -G test10 test30

4. mkdir /export

   useradd -d /export/test40 test40

5. cp -r /etc/skel /skel2

   cd /skel2

   touch test50

   useradd -mk /skel2 test50

   중간에 ls -al로 계속 확인해보기.

6. useradd -s /bin/ljy user60

 

 

유저 생성 시 한번에 설정하고 싶으면

useradd -u 3000 -g user10 -G user50 -s 
                         /bin/ksh -d /41 -mk /skeltest user200 

--> 이런식으로도 가능하다!

 

권한 부여

 

useradd user10 (계정 생성)

passwd user10 (비밀번호 생성)

mkdir /chown

 

chown user10:user10 /chown --> 소유자와 소유그룹을 변경

chown  user10 /chown --> 소유자만 변경

chown :user10 /chown --> 소유그룹만 변경

chown -R user10:user10 /chown --> user10의 하위까지 변경

 

예제

1. /perm 디렉토리 생성

2. /perm 소유자 계정 user30, 소유그룹 계정 user20으로 소유권 변경

3. /perm 디렉토리에 user10은 접근가능,목록보기가능, 파일생성불가 허가권 부여

4. /perm 디렉토리에 user20은 접근가능,목록보기불가,파일생성가능 허가권 부여

5. /perm 디렉토리에 user30은 접근불가,목록보기불가,파일생성불가 허가권 부여

 

정답!

더보기

정답

1. 

useradd user10

useradd user20

useradd user30

passwd user10 // password 1

passwd user20 // password 1

passwd user30 // password 1

 

2.

chown user30:user20 /perm

ls -ld /perm

 

3. 3,4,5번 문제는 한줄로 요약 가능(Numeric으로 허가권 부여)

chmod 035 /perm

'Server > Linux' 카테고리의 다른 글

Linux 파일&디렉토리 출력, 생성  (0) 2022.04.06
Linux 기본 명령어, 경로  (0) 2022.04.06