Linux 계정 및 권한 관리

사용자 계정 및 그룹 계정 개요

1. 계정 소개

  • 사용자 계정
  1. 슈퍼 사용자 : 루트 사용자는 Linux 운영 체제의 기본 슈퍼 사용자 계정이며 호스트에서 가장 높은 권한을 갖습니다. 수퍼 유저는 시스템에서 유일한 사용자입니다.
    2. 일반 사용자 : 루트 사용자 또는 다른 관리자가 만든 사용자의 권한은 제한되며 일반적으로 사용자의 홈 디렉토리에서 전체 권한 만 갖습니다.
    3. 프로그램 사용자 : Linux 운영 체제 및 일부 응용 프로그램을 설치할 때 권한이 낮은 특정 사용자 계정이 추가됩니다. 이러한 사용자는 일반적으로 시스템에 로그인 할 수 없으며 시스템의 정상적인 작동을 유지하는 데만 사용됩니다. bin, Daemon, ftp, mail 등과 같은 프로그램
  • 그룹 계정

기본 그룹 (개인 그룹) : 기본 그룹 계정은 하나만 있으며 일반적으로 사용자를 만들 때 지정된 그룹입니다.
/ etc / passwd 파일에 기록 된 네 번째 필드는 사용자의 기본 그룹 GID 번호입니다.
추가 그룹 (공개 그룹) : 기본 그룹에 추가하여 사용자가 지정된 그룹을 추가합니다.

2. UID 및 GID

  • UID 및 GID

UID (사용자 ID, 사용자 식별 번호)
GID (그룹 ID, 그룹 식별 번호)
루트 사용자 계정의 UID 및 GID 번호는 고정 값입니다 .0
프로그램 사용자 계정의 UID 및 GID 번호 기본값은 1 ~입니다.
일반 사용자 계정의 499 UID 및 UID GID 번호의 기본값은 500 ~ 60000입니다.

3. 사용자 계정 파일 / etc / passwd

  • 사용자 이름, 홈 디렉토리, 로그인 쉘 등과 같은 기본 정보를 저장합니다.
    파일 위치 : / etc / passwd
    각 행은 사용자의 계정 레코드에 해당합니다.
    [root @ localhost ~] # head -2 / etc / passwd
    root : x : 0 : 0 : root : / root : / bin / bash
    bin : x : 1 : 1 : bin : / bin : / sbin / nologin
  • 사용자 계정 파일 / etc / passwd는
    시스템 운영 및 관리 요구 사항을 기반으로합니다. 모든 사용자는 passwd 파일의 내용에 액세스 할 수 있지만 루트 사용자 만 변경할 수 있습니다.
    초기 UNIX 운영 체제에서는 사용자 계정의 암호 정보가 passwd 파일에 저장되며, 부도덕 한 사용자는 쉽게 암호 문자열을 얻고 무차별 대입 크래킹을 수행 할 수 있으므로 특정 보안 위험이 있습니다. 개선 후 암호는 특수 섀도우 파일로 전송되었으며 암호 자리 표시 자 "x"만 passwd 파일에 보관되었습니다.
    여기에 사진 설명 삽입

root : x0 : 0 : root : / root / : / bin / bash
필드 1 : 사용자 계정의 이름
필드 2 : 사용자 암호 자리 표시 자 "x"
필드 3 : 사용자 계정의 UID 번호
필드 4 : 계정 소속 된 기본 그룹의 GID 번호
필드 5 : 사용자의 전체 이름
필드 6 : 호스트 디렉토리
필드 7 : 로그인 쉘 정보 (/ bin / bash는 로그인 시스템, / sbin / nologin 및 / bin / false는 금지 된 사용자 시스템에 로그인)

4. 사용자 계정 파일 / etc / shadow

  • 사용자 암호, 계정 유효 기간 및 기타 정보를 저장합니다.
    파일 위치 : / etc / shadow
    각 줄은 사용자의 암호 레코드에 해당합니다.
    [root @ localhost ~] # head -2 / etc / shadow
    root : $ 1 $ 55HB4pbx $ acHqk4IZiHTZ9cw0ZJe8f0 : 14374 : 0 : 99999 : 7 :… bin : * : 14374 : 0 : 99999 : 7 :.
    [root @ localhost ~] # tail -1 / etc / shadow
    teacher : $ 1 $ BT7teaYX $ s2sr6uFUwKhtU.8 / 8VpzB1 : 14374 : 0 : 99999 : 7 :… :
  • 사용자 계정 파일 / etc / shadow는
    기본적으로 루트 사용자 만 섀도우 파일의 내용을 읽을 수 있으며 파일의 내용을 직접 편집 할 수 없습니다.
    여기에 사진 설명 삽입
    root :: 18665 : 0 : 99999 : 7 :::

필드 1 : 사용자 계정의 이름
필드 2 : Mos가 암호화 한 비밀번호 문자열 정보 "*"또는 "!!"인 경우 사용자가 시스템에 로그인 할 수 없음을 의미합니다. 필드가 비어있는 경우 사용자는 시스템에 로그인 할 때 암호가 필요하지 않습니다
. 필드 3 : 1970 년 1 월 1 일부터 마지막으로 수정 된 암호까지 날짜를 표시하기 위해 마지막으로 암호를 수정 한 시간
필드 4 : 암호 최소 유효 일수 이번에 비밀번호를 변경 한 후 비밀번호를 다시 변경할 수 있으려면이 일수 이상이 경과해야합니다. 기본값은 0으로 제한이 없음을 의미합니다.
필드 5 : 비밀번호가 유효한 최대 일수입니다. 이번에 비밀번호를 변경 한 후이 일수 이후에 비밀번호를 다시 변경해야합니다. 기본값은 9999이며 제한이 없음을 의미합니다.
필드 6 : 암호가 만료 될 것이라는 경고를 사용자에게 미리 알리는 일 수, 기본값은 7입니다.
필드 7 :이 사용자를 비활성화하기 위해 암호가 만료 된 후 며칠 동안
필드 8 : 계정 만료 시간,이 필드는 무효화 할 사용자를 지정합니다. 일 수 (1970 년 1 월 1 일부터 계산), 기본값은 비어 있으며 계정을 영구적으로 사용할 수 있음을 나타냅니다.
필드 9 : 예약 된 필드 (사용되지 않음)

5. 사용자 계정 -useradd 명령 추가

  • useradd 명령
    useradd [옵션] ... 사용자 이름
  • 일반적인 옵션

-u, -d, -e, -g, -G, -M, -s
-u : 다른 사용자가 UID 번호를 사용하지 않도록 요구하는 사용자의 UID 번호를 지정합니다.
-d : 사용자의 홈 디렉토리 위치를 지정합니다 (-M과 함께 사용하면 적용되지 않음). 디렉토리 지정에는 절대 경로 만 사용할 수 있습니다
. -e : 사용자의 계정 만료 시간을 지정하고 YYYY-MM-DD의 날짜 형식을 사용할 수 있습니다.
-g : 사용자의 기본 그룹 이름을 지정 (또는 GID 번호 사용), 해당 그룹 이름이 이미 존재해야합니다.
-G : 사용자의 추가 그룹 이름을 지정 (또는 GID 번호 사용), 해당 그룹 이름이 이미 존재해야합니다.
-M : 호스트 디렉토리를 생성하지 않습니다.
-s : 사용자의 로그인 셸을 지정합니다 (예 : / bin / bash는 로그인 시스템이고 / sbin / nologin 및 / bin / false는 사용자가 시스템에 로그인 할 수 없음).

  • 축소
    useradd -d / ftphome / mike -g mike -G ftpuser -s / sbin / nologin mike
    useradd -d / admin -g wheel -G root admin1
    useradd -e 2020-12-31 -s / sbin / nologin admin2
  • 사용자 계정 useradd 또는 adduser를
    추가하여 / etc / passwd 파일 및 / etc / shadow 파일 끝에 사용자 계정의 레코드 추가하십시오.
    사용자의 홈 디렉터리를 명시 적으로 지정하지 않으면 사용자 계정과 동일한 이름의 홈 디렉터리가 / home 디렉터리에 자동으로 생성되고 사용자의 다양한 초기 구성 파일이이 디렉터리에 생성됩니다. 사용자가 속한 그룹이 명확하게 지정되지 않은 경우 사용자 계정과 동일한 이름의 기본 그룹 계정이 자동으로 생성되고 그룹 계정의 기록 정보는 / etc / group 및 / etc /에 저장됩니다. gshadow 파일.

6. 사용자 암호 passwd 설정 / 변경

  • passwd 명령
    passwd [옵션] ... 사용자 이름
  • 일반적인 옵션

.-d, -l, -S, u,
-d : 지정된 사용자의 암호를 지우고 사용자 이름 만 사용하여 시스템에 로그인합니다.
-l : 사용자 계정을 잠그십시오. 잠긴 사용자 계정은 더 이상 시스템에 로그인 할 수 없습니다.
-S : 사용자 계정의 상태 (잠김 여부)를 봅니다.
-u : 사용자 계정을 잠금 해제합니다.
루트 사용자는 지정된 계정의 비밀번호를 관리하기위한 매개 변수로 사용자 이름을 지정할 수 있습니다. 사용자 이름이 지정되지 않은 경우 현재 계정의 비밀번호를 수정하십시오. 일반 사용자는 단일 "passwd"명령 만 실행하여 암호를 변경할 수 있습니다.

  • 사용자 암호 방법 2 설정 : echo "password"l passwd --stdin 사용자 이름

7, 사용자 계정 usermod의 속성 수정

  • usermod 명령
    usermod [옵션] ... 사용자 이름
  • 일반적인 옵션

-l, -L, -U (다음 옵션은 useradd 명령과 동일한 의미)
-u, -d, -e, -g, -G, -s
-u : 사용자의 UID 번호를 수정합니다.
-d : 사용자의 홈 디렉토리 위치를 수정합니다.
-e : 사용자 계정 만료 시간을 수정하고 날짜 형식 YYYY-MM-DD를 사용할 수 있습니다.
-g : 사용자의 기본 그룹 이름을 수정합니다 (또는 GID 번호 사용).
-G : 사용자의 추가 그룹 이름을 수정합니다 (또는 GID 번호 사용).
-s : 사용자의 로그인 쉘을 지정합니다.
-l : 사용자 계정의 로그인 이름을 변경합니다.
-L : 사용자 계정을 잠급니다.
-U : 사용자 계정을 잠금 해제합니다.


  • zhangsan 사용자의 로그인 이름을 zhangsan1
    usermod -l zhangsan1 zhangsan으로 변경합니다.

8. 사용자 계정 userdel 삭제

  • userdel 명령
    userdel [-r] username (-r 옵션이 추가되면 사용자의 홈 디렉토리에 연결하고 삭제함을 의미 함)

  • [root @ localhost ~] # useradd zs
    [root @ localhost ~] # Is -ld / home / zs /
    drwx ------ 2 stu01 stu01 4096 09-09 12:38 / home / zs /
    [root @ localhost ~] # userdel -r zs (계정 zs 삭제)
    [root @ localhost ~] # Is -ld / home / zs /
    ls : / homelstuo1 / : 해당 파일 또는 디렉토리 없음

9. 사용자 계정의 초기 구성 파일

  • 파일 소스
    ouseradd 명령은 새 사용자 계정을 추가하고 사용자의 홈 디렉토리에 몇 가지 초기 구성 파일을 만듭니다.
    이러한 파일은 계정 템플릿 디렉토리 / etc / skell에서 가져 오며 기본적으로 숨겨진 파일입니다.
  • 기본 사용자 초기 구성 파일

사용자 홈 디렉토리의 초기 구성 파일은 현재 사용자에게만 유효합니다
~ / .bash_profile #
이 파일의 명령은 사용자가 로그인 할 때마다 실행됩니다. 일부 환경 변수를 설정하고 사용자의 ~ / .bashrc를 호출합니다. file
~ / .bashrc #
이 파일의 명령은 새 bash 쉘 (로그인 시스템 포함)이 열릴 때마다 실행되며 / etc / bashrc 파일은
~ / .bash_logout 이라고 합니다. #
이 파일의 명령 은 사용자가 로그 아웃하거나 bash 셸을 종료 할 때마다 실행

  • 전역 구성 파일은 모든 사용자에게 유효합니다.

/ etc / profile #이
파일은 시스템 전역 변수에 대한 구성 파일입니다. 프로필 파일은 시스템을 다시 시작하거나 source / etc / profile 명령을 실행하여 읽을 수 있습니다.
/etc/profile.d/
이 파일은 실제로 / etc /입니다. profile 서브 디렉토리는 일부 애플리케이션에 필요한 시작 스크립트를 저장합니다.
/ etc / bashrc #bash
쉘을 실행하는 모든 사용자가이 파일을 실행하고 bash 명령
vi / etc를 실행하여 새 bash 쉘이 열릴 때 bashrc 파일을 읽을 수 있습니다. / bashrc에의
별칭 myls = '/ 빈 / LS가 -lhr'
bash는
형 myls

  • PATH 변경은 실행 프로그램의 기본 검색 경로를 설정하는 데 가장 많이 사용됩니다. PATH가 적용되는 원칙은 다음과 같습니다.

시스템이 시작될 때마다 명령이 초기화되고 / etc / profile 및 ~ /, bash_profile이 실행됩니다. / etc / profile은 / usr / local / bin, / usr / bin, / usr / local / sbin 및 / usr / sbin 경로를 PATH에 추가합니다. 그런 다음 /etc/profile.d 디렉토리에서 스크립트를 호출하십시오.

10. 그룹 계정 파일

  • 사용자 계정 파일과 유사합니다.
    / etc / group : 그룹 계정의 기본 정보를 저장합니다.
    / etc / gshadow : 그룹 계정의 비밀번호 정보를 저장합니다.
    grep "postfix"/ etc / group
    여기에 사진 설명 삽입

mail : x : 12 : postfix (그룹 계정 이름)
(그룹 구성원 목록) postfix : x : 89 :
필드 1 : 그룹 계정 이름
필드 2 : 자리 표시 자 "x"
필드 3 : 그룹 계정의 GID 번호
필드 4 : 그룹 계정에 포함 된 사용자 구성원 (일반적으로 기본 그룹에 해당하는 사용자 계정 제외), 여러 구성원은 쉼표 ","로 구분됩니다.

11. 그룹 계정 추가 groupadd

  • groupadd 명령
    groupadd [-g GID] 그룹 계정 이름
    -g : GID 번호 지정
    groupadd -g 1000 market

  • [root @ localhost ~] # groupadd -g 1000 market (그룹 계정 시장 추가)
    [root @ localhost ~] # tail -1 / etc / group
    market : x : 1000 :

12. 그룹 구성원 추가 및 삭제 gpasswd

  • gpasswd 명령
    그룹 계정 암호 설정 (드물게 사용됨), 그룹 구성원 추가 / 제거 gpasswd [옵션] ... 그룹 계정 이름
  • 일반적인 옵션

-a, -d, -M
-a : 그룹에 사용자 구성원 추가
-d : 그룹 에서 사용자 구성원 삭제
-M : 쉼표로 구분 된 그룹 구성원 목록 정의

13, 그룹 계정 groupdel 삭제

  • groupdel 명령
    groupdel 그룹 계정 이름

  • 그룹 계정 삭제 market
    [root @ localhost ~] # groupdel market
    [root @ localhost ~] # grep "market"/ etc / group

14. 계정 정보 조회

  • groups 명령
    사용자가
    그룹 [사용자 이름]에 속한 그룹을 쿼리합니다 .
  • id 명령
    사용자 식별
    id [사용자 이름] 쿼리

  • 사용자 계정의 로그인 속성 쿼리하는 finger 명령 (참고 : 먼저 finger 소프트웨어 패키지를 설치해야 함)
    yum install -y finger
    finger [사용자 이름]
  • w, who, users 명령
    은 호스트에 로그인 한 사용자 의 정보 쿼리합니다.

둘째, 파일 디렉토리의 권한과 소유권

1. 접근 권한

  • 액세스 권한
    읽기 r : 파일 내용보기 및 디렉터리 목록 표시
    쓰기 w : 파일 내용 수정 허용, 디렉터리에서 파일 또는 하위 디렉터리 생성, 이동, 삭제
    허용 실행 파일 x : 프로그램 실행 및 디렉터리 전환 허용
  • 소유권 (소유권)
    소유자 :
    파일 또는 디렉터리를 소유 하는 사용자 계정 소유권 그룹 : 파일 또는 디렉터리를 소유하는 그룹 계정

  • [root @ localhost ~]
    #ls -l drwxr-xr-x. 3 root root 101 2 월 6 일 10:30 abrt
    -rw-r--r--. 1 root root 16 February 6 10:34 adjtime
    여기에 사진 설명 삽입

-rw-r--r--는 파일 유형을
나타내고 권한 root는 소유자와 그룹을 나타냅니다.

권한 항목 읽다 쓰다 수행 읽다 쓰다 수행 읽다 쓰다 수행
캐릭터 표현 아르 자형 w 엑스 아르 자형 w 엑스 아르 자형 w 엑스
디지털 표현 4 2 1 4 2 1 4 2 1

권한 할당 | 파일 소유자 | 파일이 속한 그룹 | 다른 사용자
rw- = 4 + 2 + 0 = 6
rx = 4 + 0 + 1 = 5

2. 파일 및 directory-chmod 명령의 권한을 설정합니다.

  • chmod 명령
  • chmod [ugoa] [± =] [rwx] 파일 또는 디렉토리 ...
    u, g, o. a는 소유자, 그룹, 기타 사용자, 모든 사용자
    r, w, x는 각각 읽기, 쓰기 및 실행 권한을 나타냅니다.
    + ,-, = 각각 권한을 추가, 제거 및 설정하는 것을 의미합니다.
  • chmod nnn 파일 또는 디렉토리 ...
    nnn은 3 자리 8 진수를 나타냅니다.

  • 터치 aa
    chmod ugo + x aa
    chmod a + x aa
    chmod -x aa
    여기에 사진 설명 삽입
  • 일반적으로 사용되는 옵션
    -R : 지정된 디렉토리에있는 모든 하위 항목의 권한을 반복적으로 수정합니다.
    aa가 수정되면 aa / bb / cc가 수정됩니다.

3. 파일의 소유권 및 디렉토리 -chown 명령 설정

  • chown 명령
    chown 소유자 파일 또는 디렉토리
    chown : 그룹 파일 또는 디렉토리 (chgrp)
    chown 소유자 : 그룹 파일 또는 디렉토리
    chown 소유자. 그룹 파일 또는 디렉토리
  • 공통 옵션
    -R : 지정된 디렉토리에있는 모든 파일 및 하위 디렉토리의 소유권을 반복적으로 수정합니다.

4. 디렉토리 및 files-umask 명령의 기본 권한 설정

  • umask의 역할은 새로 생성 된 파일 또는 디렉토리의 권한을
    제어
    합니다. 기본 권한은 제거됩니다. umask의 권한은 새로 생성 된 파일 또는 디렉토리의 권한입니다.

  • umask 设置 : umask 022

  • umask 查看 : umask


  • umask를 000으로 설정하고 새 디렉터리 또는 파일을 만들고 권한보기
    umask를 022로 설정하고 새 디렉터리 또는 파일을 만든 다음 권한보기
    여기에 사진 설명 삽입

  • 디렉토리 및 파일의 기본 권한을 설정합니다. umask
    는 새 파일 또는 디렉토리를
    생성 할 때 현재 사용자 권한을 지정합니다. 새 파일 또는 디렉토리에 대한 권한의 기본값은 기본 최대 권한에서 umake를 뺀 값입니다 (일반 파일의 최대 기본 권한은 6이고, 디렉토리의 최대 기본 권한은 0입니다.)

추천

출처blog.csdn.net/s15212790607/article/details/113241223