차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판이전 판다음 판 | 이전 판 | ||
tech:linux_user [2021/08/01 23:17] – 이전 판으로 되돌림 (2016/06/08 22:41) 172.70.122.53 | tech:linux_user [2021/08/03 05:59] (현재) – 이전 판으로 되돌림 (2016/09/17 22:25) 172.70.122.99 | ||
---|---|---|---|
줄 1: | 줄 1: | ||
+ | {{tag> | ||
- | ====== 리눅스 사용자 관리 | + | ====== 리눅스 사용자 관리 ====== |
시스템에 사용자가 많건 적건, 이것은 리눅스 하에서 사용자를 관리하는 형태를 이해하는 것은 중요하다. 심지어 당신이 유일한 사용자라 할지라도, | 시스템에 사용자가 많건 적건, 이것은 리눅스 하에서 사용자를 관리하는 형태를 이해하는 것은 중요하다. 심지어 당신이 유일한 사용자라 할지라도, | ||
- | 어떤 사용자는 시스템에 하나의 계정만을 가지고 있거나, 몇 사람이 하나의 계정을 공유하는 좋지 않는 경우도 있다. 보안에 관한 문제 뿐만 아니라 계정이 시스템에 하나만 사용되는 것도 좋지 않으며, 또한 root는 누가 무엇을 하고 있는지 알 필요가 있기 때문이다. | + | =====개념===== |
- | + | ||
- | + | ||
- | + | ||
- | =====사용자 관리의 | + | |
사용자 관리에 필요한 몇가지 용어들을 먼저 알아보자. | 사용자 관리에 필요한 몇가지 용어들을 먼저 알아보자. | ||
- | |||
===username=== | ===username=== | ||
username은 시스템의 모든 사용자에게 주어지는 단일 이름이다. 예를 들어, username은 soonshin, gildong2, jspark 등의 문자나 숫자도 사용될 수 있으며, " | username은 시스템의 모든 사용자에게 주어지는 단일 이름이다. 예를 들어, username은 soonshin, gildong2, jspark 등의 문자나 숫자도 사용될 수 있으며, " | ||
- | |||
===user ID=== | ===user ID=== | ||
User ID 또는 UID는 시스템의 모든 사용자에게 주어지는 단일 번호이다. 시스템은 username이 아닌 UID 정보로써 사용자를 관리한다. | User ID 또는 UID는 시스템의 모든 사용자에게 주어지는 단일 번호이다. 시스템은 username이 아닌 UID 정보로써 사용자를 관리한다. | ||
- | |||
===group ID=== | ===group ID=== | ||
- | Group ID또는 GID는 사용자의 디폴트 그룹의 ID이다. 각 사용자는 시스템 관리자에 의해 하나나 그 이상의 그룹에 속할 수 있다. | + | Group ID또는 GID는 사용자의 디폴트 그룹의 ID이다. 각 사용자는 시스템 관리자에 의해 하나나 그 이상의 그룹에 속할 수 있다. |
===password=== | ===password=== | ||
시스템은 또한 사용자의 암호화된 패스워드를 저장하고 있다. 명령어 passwd는 사용자의 패스워드를 설정하거나 변경할 때 사용된다. | 시스템은 또한 사용자의 암호화된 패스워드를 저장하고 있다. 명령어 passwd는 사용자의 패스워드를 설정하거나 변경할 때 사용된다. | ||
- | |||
===full name=== | ===full name=== | ||
- | 사용자의 "real name" 또는 "full name" | + | 사용자의 "real name" 또는 "full name" |
- | + | ||
- | + | ||
===home directory=== | ===home directory=== | ||
Home directory는 사용자가 login했을 때 처음으로 있게 되는 디렉토리이다. 모든 사용자는 반드시 그 자신의 home directory는 가지며, 보통 /home 하위에 위치하게 된다. | Home directory는 사용자가 login했을 때 처음으로 있게 되는 디렉토리이다. 모든 사용자는 반드시 그 자신의 home directory는 가지며, 보통 /home 하위에 위치하게 된다. | ||
- | |||
===login shell=== | ===login shell=== | ||
줄 50: | 줄 37: | ||
- | 사용자 관리는 /etc/passwd 파일에 의해서 관리 된다. 이 파일은 사용자에 대한 정보를 담고 있으며, 그 형식은 아래와 같다. | ||
- | username: | ||
+ | ===/ | ||
+ | 사용자에 대한 정보는 /etc/passwd 파일에 담고 있으며, 그 형식은 아래와 같다. | ||
+ | |||
+ | username: | ||
예를 보이면, | 예를 보이면, | ||
줄 59: | 줄 48: | ||
foo: | foo: | ||
- | 위에서 볼 수 있는 것처럼 첫번째 필드 ‘kiwi’는 username이며, | + | 사용자명 : 패스워드 |
- | 어떤 시스템은 | + | 위에서 볼 수 있는 것처럼 첫번째 필드 foo는 username이며, |
- | 3번째 필드 “102”는 UID이다. 이것은 각각의 사용자에게 하나씩 있어야 한다. 4번째 필드 “100”은 GID이다. 이 사용자는 그룹 번호 100에 속해 있다. 그룹 | + | 어떤 시스템은 패스워드 정보를 /etc/shadow 파일에 위임하는 shadow password 를 사용한다. /etc/passwd는 읽혀질 수 있고, |
- | + | ||
- | 다섯 번째 필드는 사용자의 full name “Laura Poole”이다. 마지막으로 두개의 필드는 사용자 홈 디렉토리(/home/foo)와 login shell(/bin/bash)이다. 디렉토리는 username 과 같이 따로 요구되는 것은 아니며, 단지 디렉토리를 알리는 데 도움이 될 뿐이다. | + | |
+ | 3번째 필드 102 는 UID이다. 이것은 각각의 사용자에게 하나씩 있어야 한다. 4번째 필드 100은 GID이다. 이 사용자는 그룹 번호 100에 속해 있다. 그룹 정보는 / | ||
+ | 다섯 번째 필드는 사용자의 full name Laura Poole이다. | ||
+ | 마지막으로 두개의 필드는 사용자 홈 디렉토리(/ | ||
=====사용자 추가===== | =====사용자 추가===== | ||
- | 사용자를 추가할 때는 해야 할 여러 단계가 있다. 먼저, /etc/passwd 안에 단일 username과 UID를 포함한 사용자가 주어져야 한다. GID 나 fullname은 반드시 표기되어야 한다. 또한, 추가된 사용자를 위한 홈 디렉토리를 만들어 주어야 하며, 그 디렉토리를 사용할 수 있도록 그의 디렉토리 사용 허가 또한 반드시 설정해 주어야 한다. 그리고, 시스템을 활용할 수 있게 하는 Shell 초기화 파일이 사용자 홈 디렉토리 안에 있어야 하며, X나 seyon 등과 같은 응용 프로그램을 위한 시스템 사양파일이 있어야 한다. | ||
- | 사용자를 손수 추가하는 것이 어렵지 않더라도, | + | useradd |
- | 예를 보이면, | + | |
- | | + | -m / |
- | %%#%% passwd foo | + | |
+ | ===암호 설정=== | ||
- | 이후에 패스워드를 입력하면 된다. | + | passwd test |
- | 위와 같이 입력하면, | + | ===사용자 |
+ | | ||
+ | ===기존 사용자를 기존 그룹에 추가=== | ||
+ | | ||
+ | ===그룹의 사용자 제거=== | ||
+ | deluser 사용자 그룹 | ||
+ | ===사용자 암호 보기=== | ||
- | =====사용자 제거===== | + | /etc/passwd에 저장되며 |
- | 유사하게, | + | |
- | 만일 | + | 각 사용자의 암호와 소속 |
- | foo: | + | cat /etc/passwd |
+ | | ||
- | 사용자 제거의 예를 보이면 아래와 같다. | ||
- | %%#%% userdel foobar | + | ===모둠 (group) 보기=== |
- | + | / | |
- | =====사용자 속성 설정===== | + | cat /etc/group |
- | 사용자를 생성한 후에, 홈 디렉토리나 패스워드 같은 사용자의 속성을 바꿀 필요가 있을 때, 가장 쉬운 방법은 | + | |
- | %%#%% passwd larry | + | group: |
- | + | ||
- | 이것은 | + | |
- | + | ||
- | 어떤 시스템에서는 ‘chfn’ 이나 ‘chsh’ 명령어를 사용하여, | + | |
줄 110: | 줄 100: | ||
=====그룹===== | =====그룹===== | ||
그룹은 사용자들을 집단으로 묶는 것이며, 이렇게 함으로써 그 그룹에 속한 사용자들의 파일을 특정 그룹에 속하는 사용자 모두가 공유할 수 있게 해준다. 또한, 사용자는 복수의 그룹에 속할 수 있다. | 그룹은 사용자들을 집단으로 묶는 것이며, 이렇게 함으로써 그 그룹에 속한 사용자들의 파일을 특정 그룹에 속하는 사용자 모두가 공유할 수 있게 해준다. 또한, 사용자는 복수의 그룹에 속할 수 있다. | ||
- | 일반적인 그룹 이외에 시스템에 정의되는 bin, mail, sys 같은 몇 개의 특수한 그룹이 있다. 이런 그룹 중에는 사용자가 어느 곳에도 속할 수 없으며, 그것들은 시스템 파일 사용 허가에 사용된다. | + | 일반적인 그룹 이외에 시스템에 정의되는 bin, mail, sys 같은 몇 개의 특수한 그룹이 있다. 이런 그룹 중에는 사용자가 어느 곳에도 속할 수 없으며, 그것들은 시스템 파일 사용 허가에 사용된다. |
- | / | + | / |
group name: | group name: | ||
- | |||
이 파일의 예를 보인다. | 이 파일의 예를 보인다. | ||
줄 124: | 줄 113: | ||
other:: | other:: | ||
+ | 첫 번째 그룹 root는 root 계정을 위해 예약된 특별한 시스템 그룹이다. 다음 그룹 users는 일반 사용자들을 위한 것이다. 현재 이것은 GID 100을 갖으며, 사용자 mdw와 larry 는 이 그룹을 액세스 할 수 있다. 어쨌든, 사용자는 / | ||
- | 첫 번째 그룹 root는 root 계정을 위해 예약된 특별한 시스템 그룹이다. 다음 그룹 users는 일반 사용자들을 위한 것이다. 현재 이것은 GID 100을 갖으며, 사용자 mdw와 larry 는 이 그룹을 액세스 할 수 있다. 어쨌든, 사용자는 / | + | 3번째 그룹 guest는 손님 사용자를 위한 것이며, 다른 것은 “other” 그룹들이다. 사용자 kiwi는 이 그룹을 액세스 할 수 있다. 여기서, / |
- | + | ||
- | 3번째 그룹 guest는 손님 사용자를 위한 것이며, 다른 것은 “other” 그룹들이다. 사용자 kiwi는 이 그룹을 액세스 할 수 있다. 여기서, / | + | |
명령어 ‘addgroup’나 ‘groupadd’ 는 시스템에 그룹을 추가할 때 사용된다. 일반적으로, | 명령어 ‘addgroup’나 ‘groupadd’ 는 시스템에 그룹을 추가할 때 사용된다. 일반적으로, | ||
- | |||
- | {{tag> |