본문 바로가기
프로그래밍/리눅스

리눅스 Linux 사용자관리 명령어 useradd passwd su usermod userdel passwd chage chpasswd groupadd groupmod groupdel gpasswd users who whoami w logname id groupslslogins write wall mesg mail chmod chown chgrp umask

by 참외롭다 2023. 4. 19.
반응형

 


리눅스 사용자는 크게 root 사용자일반 사용자로 구분된다. 일반 사용자는 로그인이 가능한 일반 계정과 시스템의 필요에 의해 생성된 시스템 계정으로 나뉜다.


리눅스 시스템은 사용자를 숫자값 UID로 구분한다. root는 0번이 할당된다.

 

리눅스 사용자 정보는 /etc/passwd 파일에 기록된다. 리눅스는 파일 이나 프로세스 생성시에 반드시 소유자를 명시하도록 되어있고 소유자가 권한을 승계하는 형태로 운영된다.

 

root 계정 관리를 위해 유의해야할 사항은 다음과 같다.

 

- root 이외의 다른 계정에 UID 0 번이 할당 됐는지 점검한다. 

- 원격 로그인 서비스를 통해 root 유저에 로그인하는 것을 막는다.

 - root 계정에 직접 로그인하지말고 root 권한을 사용해야할때는 su 명령어를 이용한다.

- 환경변수 TMOUT을 이용해 장시간 로그인을 방지한다.

- 일반 사용자에게 특정 명령의 권한만 할당해줄 겅우 su(사용자 전환) 보다는 sudo(사용자의 권한 빌리기)를 사용한다.


useradd 명령어는 계정에 필요한 사용자 ID를 생성하는 명령어이다. root 권한자가 root 이외의 사용자를 생성할때 사용한다.

 

# useradd [option] userid

# posein 이라는 계정을 생성한다.
$ useradd posein

# marine 계정을 생성하면서  
# /home/terran/marine 을 홈디렉터리로 지정하고 terran 그룹으로 지정한다.
# /home/terran 디렉터리와 terran 그룹은 미리 생성되어있어야한다.
$ useradd marine -d /home/terran/marine -g terran

# 사용자 생성시 기본적으로 생성되는 정보를 확인한다.
$ useradd -D

passwd 명령어는 등록된 사용자의 암호를 생성하거나 변경하는 명령어이다. useradd로 계정을 생성한 후 암호를 생성하지 않으면 로그인이 되지않는다.

 

 

# passwd [userid]

# 현재 로그인한 사용자의 암호를 반경한다.
$ passwd

# 지정 사용자의 암호를 변경한다.
$ passwd margine

su 명령어는 시스템에 로그인 된 상태에서 다른 사용자가 셸을 사용할 수 있도록 전환하는 명령이다.

 

# su [option] [사용자명]

# root 사용자로 사용자를 전환한다. root로 권한자만 바꾸지만 환경 변수 등은 기존 사용자인 posein의 환경으로 적용되어 실제 root 권한을 수행하기에는 제약이 따른다.
$ su

# root 사용자로 전환한다. 실제 root로 로그인한 것처럼 권한, 환경 변수 등 모든 환경이 root의 상태가 된다.
$ su -

# 사용자를 전환하지 않고 일회적으로 명령을 내릴 때 -c 옵션을 사용한다.
$ su root -c "tail /etc/shadow"

사용자 계정 정보는 파일로 저장되고 사용자를 생성할 때도 관련 파일에서 정보를 가져온다.

 

useradd 명령어를 실행하면 /etc/default/useradd 에서 정보를 가져오고, /etc/skel 에 들어있는 파일 및 디렉터리를 사용자에게 제공한다. 생성된 사용자의 정보는 /etc/passwd 와 /etc/shadow 에 기록된다.


또한 '/home/userId' 에 홈 디렉터리를 부여받아 파일을 생성/삭제 할 수 있고 '/var/spool/mail/userId' 에 메일 파일을 생성해준다.

 

/etc/passwd 파일은 시스템에 로그인하여 자원을 이용할 수 있는 사용자의 목록을 저장하고 있다.

이 파일에 저장된 사용자 정보는 그 사용자가 로그인하고 로그아웃할 때까지 항상 시스템이 사용자를 감시하기위한 근거가 된다.

# 기본구조
# 사용자명:비밀번호:사용자ID:그룹ID:(추가정보):홈디렉토리:로그인시 사용할 셸
username:password:UID:GID:fullname:home-directory:shell

/etc/shadow 파일은 사용자의 패스워드 부분을 암호화하여 관리한다.

총 9개의 필드로 구성되어있고 패드워드 만기일, 계정 만기일 등을 설정할 수 있다. 이 파일은 오직 root만 접근할 수 있다.

# 기본구조
# 사용자명:암호화된비밀번호:최근변경일:필수최소사용기간:필수최대사용기간:만료전경고기간:만료후유예기간:사용불가일:공백 
username:password:last:may:must:warn:expire:diable:reserved

/etc/default/useradd 파일은 계정 생성시 기본적으로 적용되는 설정이 들어가 있는 파일이다.

$ useradd -D
# 사용자 생성시게 기본적으로 속하게 되는 그룹을 지정한다. default 는 GID가 100인 users라는 그룹에 속하게 된다.
GROUP=100
# 홈 디렉터리의 위치가 /home/사용자명 이 된다.
HOME=/home
# 패스워드의 사용기간을 설정한다. 3이라면 설정하면 패스워드 유효 기간이 지난 후 3일내에는 로그인이 가능하다.
INACTIVE=-1
# 계정 유효 기간을 지정하는 부분이다. 날짜로 지정한다.
EXPIRE=
# 사용자 생성 시에 할당되는 셀을 의미한다
SHELL=/bin/bash
# 사용자 생성 시에 제공되는 파일 및 디렉터리가 들어있는 디렉터리이다.
SKEL=/etc/skel
# 메일파일을 지정할지 설정한다.
CRATE_MAIL_SPOOL=yes

# 사용자 홈 디렉터리가 생성되는 디렉터리를 /home2로 바꾸고 , 기본 셸은 /bin/csh 로 지정한다. 변하 딘 내용은 /etc/default/useradd 파일에 기록된다.
$ useradd -D -b /home2 -s /bin/cs

# 계정 만기일을 2015년 12월 31일로 지정한다.
$ useradd -D -e 2015-12-13

/etc/login.defs 파일에는 메일 디렉터리, 패스워드 관련 설정, UID의 최소/대 값, 홈 디렉터리 생성 여부, 기본 UMASK 값, 패스워드에 적용하는 암호화 알고리즘 등이 정의되어있다.

 

/etc/skel 디렉터리는 사용자 생성 시에 기본적으로 제공되는 파이이나 디렉터리가 위치한다. 사용자 생성 시에 www 나 bin 같은 디렉터리를 기본적으로 제공하려면 이 디렉터리안에 생성하면된다.

  # 사용자를 추가하며 www라는 디렉터리도 제공된다.
  $ mkdir /etc/skel/www

usermod 명령어는 사용자의 셸, 홈 디렉터리, 그룹, UID. GID 등을 변경하는 명령어다.

 

# usermod [option] 사용자계정
# 홈 디렉터리를 /Home2/poseind으로 변경학 내용도 새로운 위치로 옮겨준다.

 $ usermod -d /home2/posein -m posein

  # drone 이라는 사용자의 그룹을 terran으로 변경한다
  $ usermod -g terran drone

  # 존재하지 않는 셸로 변경하여 일시적으로 사용자의 로그인을 막는다.
  $ usermod -s /bin/false posein

  # 계정만기일을 2020-12-22로 변경한다.
  $ usermod -e 2020-12-22 jalin

  # Posein이라는 사용자를 IHD라는 그룹에 추가로 속하게 한다.
  $ usermod -G IHD posein

  # posein 이라는 아이디를 yuloje로 변경한다.
  $ usermod -l yuloje posein
  # posein 이라는 아이디를 yuloje로 변경gkrh 홈디럭터리도 바꾸고 내용도 옮긴다.
  $ usermod -l yuloje -d /home/yuloje -m posein

userdel 명령어는 사용자 계정을 삭제하는 명령어이다.

 

# userdel [option] 사용자계정
# 사용자의 계정뿐 아니라 사용하던 홈 디렉터리와 홈 디렉터리 안의 모든 파일 및 디렉터리, 메일 관련 파일을 제거한다.
rm -rf /home/posein

passwd 명령어는 패스워드를 부여하거나 패스워드를 변경하는 명령이다.

계정을 사용하지 못하게 하거나 패스워드 만기일 및 유효 기간을 설정할 수 있다.

 

# passwd [option] 사용자계정

$ passwd -S root
# root 의 패스워드 정보를 출력한다. 
# PS 는 패스워드가 세팅되었다는 것을 의미하고 순서대로 최근 변경일, 최소 보유일, 최대 보유일, 만기일 전 경고일, 유예기간을 의미한다.
root PS 2023-03-15 0 99999 7 -1 (Password set, MD5 crtpt )

# 패스워드를 최대 200일간 사용할 수 있고,
# 최소 3일은 변경후 보존해야하며, 만료 5일 전부터 경고를 보여주고 만료후 10일의 유예기간을 부여한다.
$ passwd -n 3 -x 200 -w 5 -i 10 yuloje

chage 명령어는 사용자의 패스워드에 대한 정보를 출력하고 설정하는 명령어이다.

$ chage [option] 사용자계정

chpasswd 명령어는 사용자의 패스워드를 변경하는 명령어로 보통 여러 사용자의 패스워드를 한 번에 변경할때 사용한다.

chpasswd [option] [< 파일]

그룹 은 서버에 존재하는 많은 사용자 중에 특정 사용자 끼리 파일을 공유할때 사용된다.

 

리눅스에서 모든 사용자는 반드시 하나 이상의 그룹에 속해있어야 하고 계정 생성시 별도로 그룹을 설정하지 않으면 GID가 100인 users 그룹에 속하도록 한다.

 

/etc/group 파일은 리눅스에 등록된 그룹의 목록이 저장되어있다. 그룹을 추가하면 이 파일에 등록되고 삭제하면 제거된다.

 

GroupName:Password:GID:Member_List

 

/etc/gshadow 은 그룹의 암호를 관리하는 파일이다.

GroupName:Password:Admin:Member_List

 

/etc/group 파일은 리눅스에 등록된 그룹의 목록이 저장되어있다. 그룹을 추가하면 이 파일에 등록되고 삭제하면 제거된다.

GroupName:Password:GID:Member_List

groupadd 명령어는 그룹을 생성하는 명령으로 root만 사용 가능한 명령어이다.

# groupadd [option] 그룹명
$ groupadd terran

 

groupmod 명령어는 그룹명이나 GID를 변경할 때 사용한다.

# groupmod [option] 그룹명

# 그룹이름을 ihd 에서 kait로 변경한다.
$ groupmod -n ihd kait

# ihd 라는 그룹의 GID를 555로 바꾼다
$ groupmod -g 555 ihd

 

groupdel 명령어는 그룹을 삭제하는 명령이다. 삭제할 그룹에 속한 사용자가 없어야한다. 2차 그룹으로 속한 사용자는 상관없다.

# groupdel [option] 그룹명

$ groupdel ihd

 

gpasswd 그룹의 패스워드를 설정하거나 관리자를 지정하는 명령이다.

 

관리자는 해당 그룹에 속하지 않아도 된다. 그룹 관리자는 다른 사용자의 2차 그룹으로 자신의 그룹을 지정할 수 있고 그룹의 패스워드를 설정할 수 있다.


그룹 패스워드가 설정되면, 해당 그룹에 속하지 않은 사용자들이 newgrp 명령을 이용해 그룹 패스워드 입력 후 일시적으로 1차 그룹을 변경할 수 있다.

# gpasswd [option] group

 

users 명령어는 시스템에 로그인되어 있는 사용자의 아이디를 출력해주는 명령이다.

# users

 

who 명령어는 시스템에 로그인되어 있는 사용자를 출력해주는 명령이다

 

# who [option]
# 현재 사용 중인 표준 입력관 연관된 호스트명과 사용명을 출력한다.

$ who -m

 

whoami 명령어는 실질적으로 사용 중인 권한자를 출력해주는 명령이다.

# whoami

 

w 명령어는 시스템에 로그인되어 있는 사용자와 사용자가 수행중인 작업을 출력해주는 명령이다.

 

# w [option] user

# HEADER
# USER : 시스템에 로그인한 사용자의 아이디를 나타낸다.
# TTY : 터미널 타입
# FROM : 접속한 위치를 나타낸다.
# LOGIN@ : 시스템에 로그인한 시간을 나타낸다.
# IDLE : 최종 명령 수행후 대기 시간을 나타낸다.
# JCPU : 시스템 로그인 후 CPU 사용시간을 나타낸다.
# PCPU : Process CPU 시간을 뜻하고 WHAT 컬럼에 표시된 작업에 의해 사용된 프로세스 시간이다.
# WHAT : 현재 사용 중인 셀이나 작업등이 표시된다.

# 사용자의 작업 정보를 헤더없이 출력한다.
$ who -h jalin

 

logname 명령어는 사용자의 로그인 계정을 출력해준다. su 명령으로 사용자 전환했을 경우 최초의 로그인 계정을 출력한다.

# logname
$ logname

 

id 명령어는 시스템에 등록된 아이디에 대한 정보를 출력하는 명령으로 UID, GID, 속한 그룹 정보를 보여준다

# 사용자 정보를 출력한다.
$ id yuloje

# 사용자가 속한 모든 그룹의 이름을 출력한다.
$ id -Gn jalin

 

groups 명령어는 사용자가 속한 그룹명을 출력한다.

 

# groups [user]

# 현제 로그인한 사용자가 속한 그룹명을 출력한다.
$ groups

# 특정 사용자가 속한 그룹의 이름을 출력한다.
$ groups yuloje

 

lslogins 명령어는 시스템 전체 사용자의 정보를 출력해주는 명령으로 /etc/passwdm /etc/shadow 뿐 아니라 로그파일 에서도 관련 정보를 가져와 출력한다.

$ lslogins [option]

 

write 명령어는 로그인한 다른 사용자에게 메시지를 보내는 명령이다.

 

$ write 사용자계정 [ttyname]
# 특정 사용자에게 메시지를 전송한다. 특정 사용자가 여러 곳에서 로그인했을 경우 가장 먼저 로그인한 창에 메시지가 전달된다.
$ write boo

# tty2의 특정 사용자에게 메시지를 전송한다.
$ write boo

 

wall 명령어는 로그인한 모든 사용자의 터미널에 메시지를 보내는 명령이다.

$ wall [메시지]

 

mesg 명령어는 사용자가 write 를 사용해 들어오는 메세지 수진 여부를 확인하고 제어하는 명령이다. 단 root가 보내는 메시지는 거부되지 않는다.

$ mesg [n|y]

 

mail 명령어는 시스템 사용자 간에 홈 디렉터리에 전자우편함을 두어 그 곳을 통해 메시지를 주고받거나 확인하는 명령이다.

 

$ mail [option] [사용자계정]

# 지정 사용자에게 메일을 보냅니다.
$ mail joon
# 제목을 설정한다.
Subject :
Content
# 메세지를 끝낸다
.

# 다수에게 메일을 보낸다.
$ mail foo bar

# 편지 제목을 greetring 이라고 지정하고 특정 사용자에게 메일을 보낸다
$ mail -s "greetring" foo

# 미리 작성된 hello.txt 파일의 내용을 특정사용자에게 보낸다.
$ mail foo < hello.txt

# 미리 작성된 hello.txt. 파일의 내용을 특정 사용자에게 메일로 보낸다.
$ mail foo < hello.txt

# /etc/passwd 라는 파일의 내용을 title이라는 제목으로 특정 사용자에게 보낸다.
$ mail -s "title" foo@naver.com < /etc/passwd

# .old로 끝나는 파일을 찾아 그 해당 파일 목록을 지정한 사용자에게 메일로 보낸다.
$+ find .-name "*.old" | mail -s "old filename" foo@naver.com

리눅스는 하나의 시스템에 다수의 사용자가 동시에 접속해서 사용하도록 설계된 운영체제이다.

 

즉, 동시에 여러 사용자가 동일한 저장 공간인 하드를 공유해서 사용한다. 이러한 구조에서 각각의 사용자들이 생성한 파일과 디렉터리가 다른 사용자에게 노출 될 수 있다.


리눅스에서는 소유권허가권 두 권한을 활용해 파일과 디렉토리의 접근을 제어한다.

$ ls -l lin.txt

# |파일타입(1)|소유자 허가권(3) 그룹 소유자 허가권(3)|기타사용자 허가권(3)|소유권|그룹 소유권|
# r : 파일/디렉터리의 내부 내용을 볼 수 있는 권한
# w : 파일/디렉터리의 내용을 생성 또는 삭제 할 수 있는 권한.
# x : 실행 파일을 실핼시킬 수 있는 권한, 디렉터리 내부로 접근할 수 있는 권한.
# - : 권한 없음
-rw-rw-r--. 1 posein posein 13 Jan 11 11:05 lin.txt

 

리눅스의 권한 체계는 3계층에 3가지 권한을 부여하는 형태로 이루어져 있다. 이외에 일부의 권한 허용을 위한 특별한 권한이 있는데 SET-UID , SET-GID, Sticky-Bit 이다.

 

SET-UID 는 보통 실행 파일에 사용되며 SET-UID 가 부여된 파일 실행 시, 해당 파일을 실행하는 동안 파일 소유자의 권한으로 인식한다. 설정하면 소유자 권한 부분이 s로 표기된다. 실행 권한이 없는 파일에 부여하면 대문자 S로 나타난다.

 

SET-GID 는 파일에 설정되어 있을 경우 해당 파일을 소유한 그룹권한으로 인식한다. 주로 디렉터리에 설정되는데 이 권한이 설정된 디렉터리에서 파일이나 디렉터리를 새로 생성하면 소유 그룹 권한으로 만들어진다. 그룹소유권 부분에서 x자리에 s로 나타나고 실행권한이 없을 경우 대문자 S로 표시된다.

 

Sticky-Bit 는 디렉터리에 주로 설정되어 일종의 공유 디렉토리로 사용된다. 리눅스에서는 /tmp 디렉터리에 설정되어있다. 설정하면 기타사용가 파일을 생성하는데 제한이 없지만, 삭제는 본인이 생성한 파일 이외에는 불가하다. 무조건 other 계층에 설정하도록 되어 있으며 other 계층 권한 부분의 x자리에 t로 표기된다. other 계층에 실행 권한이 없는 경우, 그룹의 공유 모드로 사용한 경우에는 대문자 T로 표기된다.

 


chmod 는 파일이나 디렉터리에 접근할 수 있는 허가권을 설정하는 명령이다. 알파벳 기호를 사용하는 문자모드와 8진수 값을 사용하는 숫자모드로 지정한다.

 

 

$ chmod [option] mode file(s)

option

- R : 하위 디렉터리 포함
- c : 변경정보 출력
- f : 중요 오류아니면 출력 안함
- v : 진행과정 출력

# 문자 모드
# u : 파일 소유자의 접근권한을 지정한다.
# g : 파일 그룹 소유자의 접근권한을 지정한다.
# o : 다른 사용자들에 대한 접근 권한을 지정한다.
# a : 모든 사용자들에 대한 접근 권한을 지정한다.
# + : 권한을 추가한다
# - : 권한을 제거한다.

# 숫자 모드

# 4 : 읽기 권한
# 2 : 쓰기 궎나
# 1 : 실행권한
# 0 : 권한 없음

# 모든 사용자에게 모든 권한을 준다.
$ chmod ugo+rwx aa.txt

# aa.txt 라는 파일에 대해 소유자는 읽기 쓰기 실행, 그룹 및 다른 사용자는 읽기와 실행만 가능
$ chmod 755 aa.txt

# 현재 디랙터리 안의 모든 파일을 다은 사용자가 읽기 및 쓰기 사용을 할 수 없도록 설정한다.
$ chmod o-r,o-w *

# .txt 로 끝나는 파일들에 대해 모든 사용자가 읽을 수 있도록한다.
$ chmod a+r *.txt

# 다른 사용자는 읽을수만 있도록 설정한다. = 기호는 기존 권한을 초기화 한 후에 지정한 권한만 설정할 때 사용한다.
$ chmod o=r /etc/fstab

# 하위 디렉터리를 포함한 모든 디렉터리의 모든 파일에 대해 그룹 및 다른 사용자가 접근할 수 없도록한다.
$ chmod -R go-rwx *

# a.txt 파일에 어떠한 권한도 설정하지 않는다.
$ chmod a= a.txt

# 소유자에게는 어떠한 권한도 설정하지 않고, 그룹 및 다른 사용자에게 읽기 및 쓰기 권한을 부여한다.
$ chmod 66 a.txt

# a.out에 SET-UID를 설정한다.
$ chmod u+s a.out

# a.out에 SET-GIT를 설정한다.
$ chmod g+s a.out

# data 디렉터리에 Sticky-BIT을 설정한다.
$ chmod o+t data/

# /project라는 디렉터리에 SET-GID를 부여하고 Sticky-BIT으로 사용한다.
$ chmod g+s,o+t /project

# /project 라는 디렉터리를 해당 그룹에 속한 사용자들만 접근하고, 파일을 생성/삭제 할 수 있도록 하고 그룹 소유권을 SET-GIT 하고 Sticy-bit 한다(천의자리 3).
$ chmod 3070 /project

 

chown 명령어는 파일이나 디렉터리의 소유자 및 그룹 소유권을 변경한다.

 

$ chown [option] owner[:group] file(s)

# 하위 디렉터리를 포함하여 현재 디렉터리의 모든 파일의 소유자를 Posein으로 변경한다.
$ chown -R posein *

# jalin.txt 파일의 소유자는 posein, 소유 그룹은 yuloje로 설정한다.
$ chown posein:yuloje jalin.txt

# UID 가 500 인 사용자로 설정한다.
$ chown 500 jalin.txt

# 그룹사용자를 yuloe로 설정한다.
$ :yuloe joon.txt

 

chgrp 명령어는 파일이나 디렉터리의 소유그룹을 바꾸는 명령이다.

 

$ chgrp [option] group file(s)

# 하위 디렉터리를 포함하여 현재 디렉터리의 모든 파일의 소유자를 Posein으로 변경한다.
$ chgrp admin alin.jpg

# posein 사용자의 홈 디렉터리를 포함한 모든 파일이나 디렉터리의 그룹소유권을 ihd로 변경한다.
$ chgrp -R ihd ~posein

 

umask 명령어는 파일이나 디렉터리 생성 시 부여되는 기본 허가권 값을 지정하는 명령이다. umask 명령을 실행하면 설정된 umask 값을 확인할 수 있다.


파일 설정시 666, 디렉터리의 경우 777에서 설정한 umask 값을 뺀 기본 허가권으로 지정한다.

 

 

$ umask [option] [값]

# 설정된 umask 값은 0002이다. 이 경우 파일을 생성하면 664, 디렉터리의 경우 775로 설정된다.
$ umask -S

# 값을 022로 변경한다.
$ umask 022

# 문자로도 설정이 가능하다
$ umask u=rwx,g-rw,o,rw

 

리눅스에서 파일이나 디렉터리를 생성하면 I-node라는 번호가 임의로 부여되고, 이 번호를 기준으로 관리된다. 파일 명이 다르더라도 이 번호가 같으면 같은 파일로 인식된다.


이렇게 하나의 파일을 여러 개의 이름으로 관리하거나 디렉터리의 접근 경로를 단축하는 형태를 링크 라고 부른다.


링크는 크게 하드 링크와 심볼릭 링크로 나뉜다. 심볼릭 링크는 소프트 링크 라고도 부른다.

 

 

$ ln [option] 원본 링크명

option

- s : 심볼릭 링크를 만들때 사용되는 옵션이다.
- f : 링크 파일 존재 시에 삭제하고 생성한다.

# 하드링크 파일인 j를 현재 디렉터리에 생성한다.
$ ln joon.txt j

# 심볼릭링크 파일인 j를 현재 디렉터리에 생성한다.
$ ln -s joon.txt j

# 하드링크 파일인 x를 현재 디렉터리에 생성한다.
$ ln -s /etc/xintd.d x

 

하드 링크 는 하나의 동일한 파일을 디스크의 다른 곳에 배치하여 여러이름으로 사용하는 형식이다.
홈 디렉토리 안에 하드링크 파일을 생성해 두면, 다른 사용자에 의해 파일이 삭제되어도 안전하고 보존할 수 있다.

 

- 원본과 링크파일의 i-node 번호가 같다. 

- 원본과 링크파일의 크기가 같다.

- ls -l 명령 시에 링크의 숫자가 올라간다.

- 수정사항이 둘 다 반영된다.

- 원본을 삭제해도 링크파일은 영향을 받지않는다.

- 파일만 설정 가능하고 동일한 파일 시스템에서만 사용가능하다.

- 파티션이나 드라이브를 가로지를 수 없다.

 

심볼릭 링크 는 하나의 파일을 여러 이름으로 가리키게 하는 것으로 원본과 생성된 링크파일은 완전히 다른 파일로 관리된다.
일반적으로 디렉터리의 경로 단축이나 변경에 사용된다.

 

원본과 링크의 I-node 가 다르다.

- 링크파일의 크기가 매우 작다.

- 권한영역 맨 앞쪽에 I 로 표시된다.

- 수정사항이 둘 다 반영된다.

- 원본을 삭제하면 링크는 아무 구실을 하지 못한다.

- 링크의 퍼미션은 777 이지만 원본 파일의 퍼미션과 무관한다.

 


useradd passwd su usermod userdel passwd chage chpasswd groupadd

groupmod groupdel gpasswd users who whoami w logname id groups

lslogins write wall mesg mail chmod chown chgrp umask

반응형