카테고리 없음

리눅스(우분투)2

tp134679 2024. 12. 23. 17:55

<목차>

1. 계정과 권한 에 대한 이해 

2. 사용자 타입 과 그룹

3. 파일의 접근 권한 설정하기

 

 

1. 계정과 권한 에 대한 이해

 

window 에서 사용자 명을 지정하여 컴퓨터를 사용하는 것 처럼 우분투 에서도 사용자의 계정을 만들어서 사용이 가능하다.  최상위에는 root 계정이 존재하며 그밑에 사용자가 필요한 계정을 만들어서 사용한다.

 

- root 계정 

모든 시스템 파일 수정하거나 삭제할 수 있는 권한이 있습니다. 

=> 컴퓨터의 중요한 설정을 바꾼다거나 그런 것

 

-사용자 계정

일반 사용자 계정은 루트 계정보다는 적은 권한을 가지고 있습니다.

사용자가 컴퓨터를 일상적으로 사용하는 계정이므로, 꼭 필요한 권한만을 가집니다. 

 

유저를 만드는 명령어

 

최상위 계정인 root 에서 명령어 adduser (사용할 유저네임) 을 사용합니다.  

해당사용자의 id와 동일한 이름의 디렉토리가 생성됩니다. 

root 권한을 가진 계정에서 userkim 이라는 유저를 만듬

 아이디 생성시  생성된 새로운 비밀번호를 설정해달라는 문구가 뜬다. 

home  에들어가서 ls 를 확인하면 userkim 이라는 아이디가 생성이 되있다. 

 

사용자 관련 명령어

 

id : 현재 사용자의 아이디와 사용자가 속한 그룹의 아이디를 포함한 아이디 관련 정보를 보여줌

id-u :현재 사용자의 아이디를 출력

id -un: 현재 사용자의 이름을 출력

whoami 현재 사용자의 이름을 조회

users: 현재 로그인 되어있는 전체 사용자의 정보를 조회함

 

2. 사용자 타입 과 그룹

 

아이디를 생성하고 아이디를 확인해보면 UID(유저 아이디) GID(그룹 아이디) 가 같이 만들어지게 된다.

 

이때 사용자의 타입은

- 루트 사용자 -UID 0

- 시스템 사용자 -UIDs 1~999

- 일반 사용자 -UIDs 1000~

의 값을 지정받아서 생성이된다.

 

UID 

리눅스가 커널 속에서 사용자를 위한 프로세스 진행 시 사용자 계정을 사용하기 위해서 사용 uid는 리눅스 시스템이 사용하는 신분증 개념 반대로 사용자의 계정은 리눅스의 관리자가 사용하는 ID로 생각 할 수 있다.  따라서  리눅스 내부에서의 프로세스나 파일관리는 관리자의 계정이 아니라 시스템 사용자의 UID를 사용한다.

 

GID

GID는 그룹의 신분을 의미하며 시스탬 내의 사용자가 속한 그룹의 신분증으로 사용된다. 리눅스는 이 정수를 사용자 계정의 기본 그룹을 설정할 때 사용하게 된다. 하나의 그룹에는 한사람 이상이 꼭 들어가 있어야하며 그룹 제거시 한사람이라도 그룹에 속해있다면 삭제 또한 불가능 하다. 

 

루트권한을 가진 mls 라는 아이디는 

0이라는 유저 아이디와 0이라는 기본 그룹아이디 0 즉 root 사용자임을 알 수 있다.

임의로 만든 유저1이라는 사용자는 일반 사용자 이기에 1000 이상의 번호를 받은 것을 확인 할 수있다.

gid 라는 그룹아이디가 있으나 groups가 또 있는것을 알수 있는데 후자의 groups 는 임의로 포함한 그룹의 번호를 나타낸다 지금은 임의로 포함된 그룹이 없기에 그룹 아이디와 같이 1001 이라는 값을 가진다. 

 

맨 마지막에 users 라는건 사용자 아이디가 생성시 기본적으로 users 라는 그룹에 묶이기 때문이다.

앞서 만든 유저kim의 경우도 일반사용자이기에 1000이상의 번호와 100(users)라는 기본그룹에 포함된것을 알 수 있다.

 

3. 파일의 접근 권한 설정하기

 

파일의 경로에서 ls -al 를 사용하면 자신의 하위에 있는 폴더와 디렉토리를 확인할 수 있는데

 

d로 시작하는건 디렉토리(폴더)라는 뜻이고 

-로 시작하면 파일 타입 이라는 것을  뜻합니다.

1. - : normal file 일반파일
2. d : directory
3. link : 파일 바로가기와 비슷
4. p : named pipe
5. s : socket
6. c : chracter device
7. b : block device

 

ls: 해당 디렉토리 내에 있는 리스트 목록을 확인합니다.

ls -al : 숨김 폴더 까지 전부 리스트로 확인해서 그 폴더나 파일에대한  권한과 함께 보여줍니다.

해당 루트 계정의 홈에서 ls -al 명령어를 쓰면 그 하위폴더의 디렉토리와 파일이 출력된다.

 

- 나 d 뒤에 r, w, x 알파벳을 확인할 수 있는데 이는 각각

 

r (read): 읽기 (4)

w (write) : 쓰기(2)

x (execute): 실행(1)

을 뜻합니다. 

 

맨 앞의 d 나 - 파일의 타입을 나타내는 기호를 제외하고 총 길이가 9자가 되는데 위의 디렉토리 폴더를 예시로 설명을 하자면

앞의 3자리  rwx 는 사용자가 사용할수 있는 권한 (읽기, 쓰기, 실행) 이 모두 가능하다는 것을 뜻합니다.

 

중열의 3자리  r-x 는 같은 그룹에 소속된 사용자가 사용할 수 있는 권한으로서 (읽기,실행)이 가능하나 쓰기 즉 수정은 불가능하다 라는것을 뜻 합니다.

 

마지막 3자리  r-x 는 사용자와 그룹에 소속된 사람이아닌 모든사용자가 사용할 수 있는 권한을 뜻함으로서 (읽기,실행)이 가능합다는 것을 뜻합니다.

권한 수정

 

chmod :권한을 수정하는 명령어

chmod 명령어가 권한을 수정하려면 점수가 필요하다. 

 

r (read): 읽기 (4)

w (write) : 쓰기(2)

x (execute): 실행(1)

위에있던 디렉토리로 예시를 들자면 

사용자의 점수는 r(4) w(2) x(1) 의 모든 권한을 가지고있기에 이를 합한 값인 

7이된다. 

따라서 해당파일은 

chmod 755 의 권한을 가지고 있는 디렉토리라고 볼 수 있다. 

해당디렉토리를 chmod를 사용해서 

사용자 외의 모든 권한을 주고싶지 않을떄 

chmod 700 (./해당 파일 이나 인덱스) 를 사용하면

 

사용자 외의 모든 권한이 사라지게 만들 수 있다.