티스토리 뷰
User를 추가하거나 제거하는건 필요불가결합니다.(꼭 필요하다는 뜻)
리눅스 커널은 사용자번호(uid)로 사용자를 식별합니다.
사용자를 추가하기위해서는 사용자의 정보, home directory가 필요합니다.
2. Related File
2.1 /etc/passwd, /ect/shadow
리눅스 시스템에 있는 사용자의 계정정보를 담고있습니다.
누구나 읽을 수 있습니다만 root만이 쓸 수 있습니다.
gdhong:x:500:100:Gildong Hong:/home/gdhong:/bin/bash
Username:passwd:uid:gid:comment:home:shell
비밀번호는 암호화하여 에 보관합니다. root만이 읽을 수 있습니다.
UID는 unsinged 32-bit 정수이고 root는 uid가 0입니다.
GID는 unsinged 32-bit 정수이고 /etc/group에 정의되어 있습니다. gid 0은 root의 그룹입니다. gid 1 = bin, gid 2 = daemon
홈 디렉토리
로그인시에 사용자의 시작 디렉토리
사용자는 각각 자신의 홈 디렉토리를 가집니다. ex) /home/gdhong
sandbox
로그인 Shell
사용자의 로그인시에 shell을 만듭니다.
보통 command interpreter지만 어떤프로그램이든 될 수 있습니다.
bash가 기본값이며 /etc/passwd가 로그인 shell을 지정하지 않는 경우에도 사용됩니다.
2.2 /etc/group, /ect/gshadow
그룹의 이름과 멤버에대한 정보를 담고있습니다.
GroupName:GroupPasswd:GID:Members
ex) student:x:200:gdhong
3. Adding User
$ useradd
커맨드를 사용하면새로운 사용자 계정을 만듭니다.
system files에 추가하고 홈디렉토리를 만들고 initial files를 복사합니다.
사용자의 그룹을 만듭니다.
$ useradd gdhong
GUI로 system-config-users가 있습니다.
$ sudo yum install system-config-users
$ sudo system-config-users
4. Initial Environment Setup
System boot -> user login -> setup an initial environment for a user
initialization files:
Global:모든 유저의 설정
Local:각 유저의 대한 환경
Global | Local |
---|---|
/etc/profile | ~/.bash_profile |
/etc/bashrc | ~/.bashrc |
4.1 Login Shell
콘솔로 로그인시에 로그인 쉘이 시작됩니다.
/etc/profile -> /etc/profile.d/*.sh
~/.bash_profile -> ~/.bashrc -> /etc/bashrc
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
4.2 Non-Login Shell
새로운 터미널을 열어서 로그인시에는
~/.bashrc 만 실행됩니다.
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases
alias l='less'
alias mv='mv -i'
alias cp='cp -i'
alias ls='ls -ap --color==auto'
4.3 Initialization file for a user environment setup: /etc/skel
시스템 관리자는 사용자를 위한 기본 환경인 /etc/skel파일을 만듭니다.
새 사용자의 홈 디렉터리가 만들어질 때, /etc/skel디렉터리의 파일로 초기화됩니다.
'OSS' 카테고리의 다른 글
Linux File System (0) | 2018.12.05 |
---|---|
Linux Command (0) | 2018.11.20 |
Linux System Administration(Boot/Shutdown) (0) | 2018.11.20 |
Linux Introduction (0) | 2018.11.20 |
OSS 정리2 (0) | 2018.11.20 |