/etc
→ 시스템의 부팅, 종료 시에 필요한 파일들과 시스템의 전반에 걸친 설정 파일들 및 초기 스크립트 파일들이 존재
/etc/passwd
→ 사용자에 대한 정보를 포함하고 있는 문서 파일
/etc/skel
→ skeleton을 의미
→ 사용자를 처음 생성할 때 해당 계정의 홈dir에 기본으로 들어가는 파일을 지정한다.
groupadd
→새로운 그룹을 추가하기 위한 명령어
→ 여러 사용자들을 하나의 그룹으로 구분하기 위함
groups
# 현재 사용자의 그룹 확인
groups name
# name사용자의 그룹 확인
cat /etc/group
# 모든 그룹 조회
# 그랩으로 필터링
groupadd 그룹명
# 해당 그룹명으로 그룹을 생성
# 이미 존재시 오류 발생
# 루트권한으로 사용
groupadd -g num name
# num값에 해당하는 GID를 지정할수있다.
# -o 옵션을 주면 중복을 허용한다.
groupmod
→ 그룹에 대해서 정보를 변경할 때 사용
groupmod -n 바꿀이름 기존그룹이름
# name option
groupmod -g num 그룹이름
# 그룹gid 변경시 사용
# -o 옵션을 주면 중복을 허용한다.
groupdel
→ 그룹을 삭제
useradd
→ 사용자 계정을 추가하는 명령
useradd -D
# 신규 사용자를 추가할 때 반영되는 기본 사항들을 확인하는 명령어
=================================================
root@dilab-B150M-DS3H:~# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
=================================================
useradd name
# name의 사용자를 추가한다.
# tail -1 /etc/passwd를 사용하여 확인 가능
=================================================
root@dilab-B150M-DS3H:~# tail -1 /etc/passwd
jeongjihong:x:1002:1003::/home/jeongjihong:/bin/sh
=================================================
위에 표시되는 것들은 각각 콜론(:)으로 구분한다.
각각의 필드는...
사용자명 : 비밀번호 : uid : gid : 사용자 계정 설명 : 홈 디렉터리 : 설정한 셸
useradd -d PATH name
# PATH에 해당되는 것을 홈 디렉터리로 설정하여 사용자 계정 추가
# 별도로 지정안하면 /etc/default/useradd에 설정의 HOME에 맞게 생성
useradd -d PATH -m name
# m옵션은 지정한 디렉터리를 동시에 생성
=================================================
root@dilab-B150M-DS3H:~# useradd -d /home/jjh/down jjh
root@dilab-B150M-DS3H:~# tail -1 /etc/passwd
jjh:x:1003:1004::/home/jjh/down:/bin/sh
=================================================
useradd -g num name
# 사용자 생성시 사용자가 소속될 그룹을 지정한다.
# 입력받은 num을 gid로 지정
# 옵션 생략시 아이디와 동일한 그룹에 포함
useradd -u num name
# 사용자 생성시 uid를 지정
useradd -c text name
# 사용자 생성시 text에 해당되는 내용을 사용자 계정 설명에 ㅊ추가함
# 띄어쓰기가 필요하면 ' '로 묶어준다.
=================================================
root@dilab-B150M-DS3H:~# useradd -g 1004 -u 2020 -c '정지홍의 테스트' jeongjihong2
root@dilab-B150M-DS3H:~# tail -1 /etc/passwd
jeongjihong2:x:2020:1004:정지홍의 테스트:/home/jeongjihong2:/bin/sh
=================================================
useradd -e DATE name
# 계정의 만기일을 설정한다.
# 마지막 필드가 만기일이며 1970년1월1일부터 19907일째 되는 날이 2024-07-04이다.
=================================================
root@dilab-B150M-DS3H:~# useradd -e '2024-07-03' jjhjjh
root@dilab-B150M-DS3H:~# cat /etc/passwd | grep jjhjjh
jjhjjh:x:2021:2021::/home/jjhjjh:/bin/sh
root@dilab-B150M-DS3H:~#
root@dilab-B150M-DS3H:~# cat /etc/shadow | grep jjhjjh
jjhjjh:!:19906:0:99999:7::19907:
=================================================
useradd -f DAY
# day일 뒤에 계정의 패스워드를 만기 시킨다.
useradd -s shell
# 사용자의 셸을 지정한다.
usermod
→ 사용자 계정의 정보를 변경하는 명령
usermod -d PATH name
# 사용자의 홈 디렉터리를 변경
==========================================================
root@dilab-B150M-DS3H:~# cat /etc/passwd | grep jeongjihong
jeongjihong2:x:2020:1004:정지홍의 테스트:/home/jeongjihong2:/bin/sh
root@dilab-B150M-DS3H:~# usermod -d /home/jjh jeongjihong2
root@dilab-B150M-DS3H:~# cat /etc/passwd | grep jeongjihong
jeongjihong2:x:2020:1004:정지홍의 테스트:/home/jjh:/bin/sh
==========================================================
usermod -m -d PATH name
# 사용자의 홈 디렉터리를 변경시 사용하던 홈 디렉터리의 dir,file도 같이 옮김
==========================================================
root@dilab-B150M-DS3H:~# usermod -m -d /home/jjjh jeongjihong2
root@dilab-B150M-DS3H:~# cat /etc/passwd | grep jeongjihong
jeongjihong2:x:2020:1004:정지홍의 테스트:/home/jjjh:/bin/sh
==========================================================
usermod -g gid name
# 사용자의 그룹을 변경
==========================================================
root@dilab-B150M-DS3H:~# usermod -g 1003 jeongjihong2
root@dilab-B150M-DS3H:~# cat /etc/passwd | grep jeongjihong
jeongjihong2:x:2020:1003:정지홍의 테스트:/home/jjjh:/bin/sh
==========================================================
usermod -s name
# 사용자의 셀을 변경
usermod -u name
# 사용자의 uid를 변경
usermod -e name
# 사용자의 계정 만기일 변경
usermod -c name
# 사용자의 설명 변경
==========================================================
root@dilab-B150M-DS3H:~# usermod -c 'hihihihihi' jeongjihong2
root@dilab-B150M-DS3H:~# cat /etc/passwd | grep jeongjihong
jeongjihong2:x:2020:1003:hihihihihi:/home/jjjh:/bin/sh
==========================================================
userdel
→ 사용자 계정을 삭제
userdel name
# 홈 디렉터리 및 임시 파일은 남기고 계정 삭제
userdel -r name
# 계정의 모든 것들을 삭제
/etc/sudoers
→ 사용자에게 sudo권한과 root권한을 부여하기 위해서는 해당 파일을 수정해야 함
→ 수정을 한다면 visudo를 통해서 수정.
student1 ALL=(ALL:ALL) ALL
# student1은 사용자 이름을 의미
# ALL은 모든 호스트
# (ALL:ALL)은 모든 사용자 및 그룹으로 실행 가능
# ALL은 모든 명령을 실행 가능을 의미
# 즉, student1에게 모든 호스트에서 모든 사용자 및 그릅으로 모든 명령을 실행할수있게 함
jeong ALL=(ALL) ALL
# jeong은 사용자 이름을 의미
# ALL은 모든 호스트
# (ALL)은 모든 사용자로 실행 가능
# ALL은 모든 명령을 실행 가능을 의미
jeong ALL=(ALL) /usr/bin/apt-get
# jeong은 사용자 이름을 의미
# ALL은 모든 호스트
# (ALL)은 모든 사용자로 실행 가능
# /usr/bin/apt-get 명령만 루트 권한으로 실행할 수 있음
%admin ALL=(ALL) ALL
# %admin은 그룹 이름을 의미(admin이라는 그룹)
# ALL은 모든 호스트
# (ALL)은 모든 사용자로 실행 가능
# ALL은 모든 명령을 실행 가능을 의미
%admin ALL=(ALL) /usr/bin/apt-get
# %admin은 그룹 이름을 의미(admin이라는 그룹)
# ALL은 모든 호스트
# (ALL)은 모든 사용자로 실행 가능
# /usr/bin/apt-get 명령만 루트 권한으로 실행할 수 있음'리눅스' 카테고리의 다른 글
| /etc/hosts (0) | 2024.07.21 |
|---|---|
| 디렉토리 , sh , bash , zch , vi/vim , ls , touch , cat , mkdir , mv , rm ,chmod , chown , ln , df , du (0) | 2024.07.21 |
| http요청.. wget,curl (0) | 2024.07.18 |
| 압축 tar gzip gunzip zip unzip (0) | 2024.07.18 |
| 정규표현식 패턴. regular expression (0) | 2024.07.10 |