ID:ChinaUnix2013
1. 사용자 및 사용자 그룹 파일
Linux에서는 사용자 계정, 사용자 비밀번호, 사용자 그룹 정보 및 사용자 그룹 비밀번호가 모두 다른 구성 파일에 저장됩니다.
Linux 시스템에서는 생성된 사용자 계정과 관련 정보(비밀번호 제외)가 /etc/passwd 구성 파일에 저장됩니다. 모든 사용자는 passwd 파일에 대한 읽기 권한을 갖고 있으므로 비밀번호 정보는 파일에 저장되지 않고 /etc/shadow 구성 파일에 저장됩니다.
passwd 파일에서 한 줄은 사용자 계정을 정의합니다. 각 줄은 여러 개의 서로 다른 배열로 구성됩니다. 각 배열은 계정 정보의 특정 측면을 나타냅니다.
새롭게 설치된 Linux 시스템에서는 passwd 구성 파일에 이미 많은 계정 정보가 포함되어 있습니다. 이러한 계정은 Linux 프로세스나 일부 서비스 프로그램의 정상적인 작동에 필요한 계정입니다. is 이 계정의 마지막 배열 값은 일반적으로 /sbin/nologin입니다. 이는 이 계정을 Linux 시스템에 로그인하는 데 사용할 수 없음을 의미합니다.
passwd 구성 파일에서 각 배열의 해당 관계와 의미는 왼쪽에서 오른쪽으로:
passwd는 더 이상 비밀번호 정보를 저장하지 않으므로 x 자리 표시자로 표시됩니다.
사용자 계정이 Linux에 로그인하는 것을 방지하려면 사용자가 사용하는 셸을 /sbin/nologin으로 설정하면 됩니다. 예를 들어, FTP 계정의 경우 일반적으로 FTP 서버에 대한 로그인 및 액세스만 허용되며 Linux 운영 체제에 대한 로그인은 허용되지 않습니다. 사용자가 텔넷 권한을 갖는 것을 방지하려면, 즉 사용자가 텔넷을 통해 원격으로 로그인하고 Linux 운영 체제에 액세스하는 것을 허용하지 않으려면 사용자가 사용하는 셸을 /bin/true로 설정하면 됩니다. 사용자에게 telnet 및 ftp 로그인 권한이 없도록 하려면 사용자의 쉘을 /bin/false로 설정하면 됩니다.
/etc/shells 파일에 /bin/true 또는 /bin/false가 없으면 자동으로 추가해야 합니다.
[root@localhost~]#echo"/bin/false">>/etc/shells
[root@localhost~]#echo"/bin/true">>/etc/shells
2. 사용자 비밀번호 파일
보안상의 이유로 사용자의 실제 비밀번호는 MD5 암호화 알고리즘을 사용하여 암호화되어 /etc/shadow 구성 파일에 저장됩니다. 이 파일은 루트 사용자만 읽을 수 있습니다.
passwd 파일과 마찬가지로 섀도우 파일도 계정 관련 정보를 한 줄씩 정의하고 저장합니다. 첫 번째 배열은 사용자 계정 이름이고 두 번째 배열은 계정 비밀번호입니다.
3.사용자 그룹 계정 파일
사용자 그룹 계정 정보는 /etc/group 구성 파일에 저장됩니다. Linux 시스템 사용자 구성 파일이란 무엇입니까? 모든 사용자가 읽을 수 있습니다. 사용자 그룹의 실제 비밀번호는 /etc/gshadow 구성 파일에 저장됩니다.
그룹에서 첫 번째 배열은 사용자 그룹의 이름, 두 번째 배열은 x, 세 번째 배열은 사용자 그룹의 ID 번호, 네 번째 배열은 사용자 그룹의 사용자 구성원 목록이며 각 사이에는 콜론이 있습니다. 사용자 이름은 별도입니다.
4. 사용자 추가
새 사용자를 생성하거나 추가하려면 useradd 명령을 사용하세요.
사용자추가[옵션]사용자 이름
이 명령에는 다양한 옵션이 있으며 가장 일반적으로 사용되는 옵션은 다음과 같습니다.
-c 댓글 사용자는 계정에 대한 댓글 설명 텍스트를 설정합니다
-d 홈 디렉토리는 기본 /home/username
을 대체할 홈 디렉토리를 지정합니다.-m 홈 디렉터리가 없으면 만듭니다. -r과 -m을 결합하면 시스템 계정의 홈 디렉토리가 생성됩니다
-M은 홈 디렉토리를 생성하지 않습니다
-edate는 계정이 만료되는 날짜를 지정합니다. 날짜 형식은 MM/DD/YY입니다
-fdays 계정은 며칠 만료 후 영구 정지됩니다. -로 지정하면 즉시 정지됩니다. -1로 지정하면 이 기능이 꺼집니다
-g 사용자 그룹은 사용자를 추가할 사용자 그룹을 지정합니다. 사용자 그룹이 존재해야 합니다
-G 사용자 그룹 목록은 사용자가 동시에 가입하는 사용자 그룹 목록을 지정합니다. 각 그룹은 쉼표로 구분됩니다.
-n사용자를 위한 개인 사용자 그룹을 만들지 마세요-sshell은 사용자가 로그인할 때 사용되는 셸을 지정하며 기본값은 /bin/bash
입니다.
-r은 500보다 큰 사용자 ID로 시스템 계정을 생성합니다. 해당 홈 디렉터리는 기본적으로 생성되지 않습니다-uUser ID는 새 사용자의 ID 값을 자동으로 지정합니다. 이 값은 고유해야 하며 499보다 작아야 합니다
-ppassword는 새 사용자의 로그인 비밀번호를 지정합니다. 여기서 비밀번호는 해당 로그인 비밀번호의 MD5 암호화 후 얻은 비밀번호 값으로 실제 비밀번호의 원본 텍스트와 일치하지 않습니다. 따라서 실제 응용 프로그램에서는 이 매개변수 옵션이 거의 사용되지 않으며 일반적으로 passwd 명령만 사용됩니다. 사용자의 로그인 비밀번호를 설정합니다.
예:
babyfish 사용자 그룹의 구성원으로 nisj라는 사용자를 생성하려면 작업 명령은 다음과 같습니다.
[root@localhost~]#useradd-gbabyfishnisj
[root@localhost~]#idnisj
uid=502(nisj)gid=500(아기)그룹=500(아기)
[root@localhost~]#tail-1/etc/passwd
nisj:x:502:500::/home/nisj:/bin/bash
사용자 추가 시 -g 매개변수로 사용자 그룹을 지정하지 않으면 시스템은 기본적으로 사용자 계정과 동일한 이름으로 비공개 사용자 그룹을 수동으로 생성합니다. 이 개인 사용자 그룹을 생성할 필요가 없으면 -n 매개변수를 사용할 수 있습니다.
예를 들어 nsj820이라는 계정을 추가했지만 사용자 그룹을 지정하지 않은 경우 작업 결과는 다음과 같습니다.
[root@localhost~]#useraddnsj820
[root@localhost~]#idnsj820
uid=503(nsj820)gid=503(nsj820)그룹=503(nsj820)
[root@localhost~]#tail-1/etc/passwd
nsj820:x:503:503::/home/nsj820:/bin/bash
[root@localhost~]#tail-2/etc/passwd
nisj:x:502:500::/home/nisj:/bin/bash
nsj820:x:503:503::/home/nsj820:/bin/bash#시스템이 ID 번호 503을 사용하여 nsj820이라는 사용자 그룹을 수동으로 생성했습니다
사용자 계정을 생성할 때 시스템은 사용자에 해당하는 홈 디렉터리를 수동으로 생성합니다. 이 디렉터리는 기본적으로 /home 디렉터리에 위치합니다. 위치를 변경하려면 -d 매개변수를 사용하여 지정할 수 있습니다. 사용자가 로그인하는 데 사용하는 셸의 경우 기본값은 / bin/bash입니다. 수정하려면 -s 매개 변수를 사용하여
를 지정하세요.예를 들어 vodup이라는 계정을 만들고 홈 디렉터리를 /var 디렉터리에 두고 로그인 셸을 /sbin/nologin으로 지정하려는 경우 작업 명령은 다음과 같습니다.
[root@localhost~]#useradd-d/var/vodup-s/sbin/nologinvodup
[root@localhost~]#idvodup
uid=504(vodup)gid=504(vodup)그룹=504(vodup)
[root@localhost~]#tail-1/etc/passwd
vodup:x:504:504::/var/vodup:/sbin/nologin
[root@localhost~]#tail-1/etc/group
vodup:x:504:
5. 계정 속성 설정
이미 생성된 사용자의 경우 usermod 명령을 사용하여 로그인 이름, 홈 디렉터리, 사용자 그룹, 로그인 셸 등을 포함한 계정의 다양한 속성을 변경하고 설정할 수 있습니다. 이 명령의 사용법은 다음과 같습니다.
usermod[옵션]사용자 이름
일부 옵션
(1) 사용자 계정 이름 변경
이를 달성하려면 -l 매개변수를 사용하세요. 명령 사용법은 다음과 같습니다.
usermod-l 새 사용자 이름 원래 사용자 이름
예를 들어 사용자 nsj820의 이름을 nsj0820으로 바꾸려는 경우 작업 명령은 다음과 같습니다.
[root@localhost~]#usermod-lnsj0820nsj820
[root@localhost~]#idnsj0820
uid=503(nsj0820)gid=503(nsj820)그룹=503(nsj820)
[root@localhost~]#tail-1/etc/passwd
nsj0820:x:503:503::/home/nsj820:/bin/bash
출력에서 볼 수 있듯이 사용자 이름이 nsj0820으로 변경되었습니다. 기본 디렉터리는 여전히 원래 /home/nsj820입니다. /home/nsj0820으로 변경하려면Linux 시스템 사용자 구성 파일이 무엇인가요?, 다음 명령을 실행하면 됩니다
[root@localhost~]#usermod-d/home/nsj0820nsj0820
[root@localhost~]#idnsj0820
uid=503(nsj0820)gid=503(nsj820)그룹=503(nsj820)
[root@localhost~]#tail-1/etc/passwd
nsj0820:x:503:503::/home/nsj0820:/bin/bash
[root@localhosthome]#mv/home/nsj820/home/nsj0820
(2) 계정 잠금
사용자의 로그인을 일시적으로 금지하려면 사용자 계정을 잠그면 됩니다. -L 매개변수를 사용하여 계정을 잠글 수 있습니다. 명령 사용법은 다음과 같습니다.
usermod -L 잠글 계정
Linux는 사용자가 잠겨 있음을 나타내기 위해 비밀번호 파일 섀도우의 비밀번호 배열 앞에 "!"를 추가하여 사용자를 잠급니다.
[root@localhosthome]#usermod-Lnsj0820
[root@localhosthome]#tail-1/etc/shadow
nsj0820:!$1$JEW25RtU$X9kIdwJi/HPzSKMVe3EK30:16910:0:99999:7:::
그러나 루트 사용자를 통해 진입한 다음 잠긴 사용자로 su할 수 있습니다.
(3) 계정 잠금 해제
계정을 잠금 해제하려면 -U 매개변수와 함께 usermod 명령을 사용할 수 있습니다.
[root@localhost~]#usermod-Unsj0820
[root@localhost~]#tail-1/etc/shadow
nsj0820:$1$JEW25RtU$X9kIdwJi/HPzSKMVe3EK30:16910:0:99999:7:::
6. 계정 삭제
계정을 삭제하려면 userdel 명령을 사용하면 됩니다.
userdel[-r] 계정 이름
-r은 선택사항입니다. 이 매개변수를 제공하면 계정 삭제와 동시에 해당 계정에 해당하는 홈 디렉터리도 삭제됩니다.
[root@localhost~]#userdel-rnsj0820
모든 사용자 계정 비밀번호의 만료 시간을 설정하려면 /etc/login.defs 구성 파일에서 PASS_MAX_DAYS 구성 항목의 값을 변경하면 됩니다. 기본값은 99999입니다. 즉, 사용자 계정 비밀번호는 절대 만료되지 않습니다. 내쉬다. PASS_MIN_LEN 구성 항목은 계정 비밀번호의 최소 너비를 지정하는 데 사용되며 기본값은 5자입니다.
7. 사용자 로그인 비밀번호 설정
passwd 명령을 사용하여 설정하세요.
passwd[계정 이름]
계정 이름을 지정하면 해당 계정의 로그인 비밀번호가 설정되며 원래 비밀번호는 수동으로 덮어쓰게 됩니다. 루트 사용자만이 특정 계정에 대한 비밀번호를 설정할 수 있는 권한을 갖습니다. 일반적으로 사용자는 매개변수 없이 자신의 계정에 대한 비밀번호만 설정하거나 변경할 수 있습니다.
예를 들어 nisj 계정의 로그인 비밀번호를 설정하려는 경우 작업 명령은 다음과 같습니다.
[root@localhosthome]#passwdnisj
usernisj의 비밀번호를 변경 중입니다.
새 비밀번호:
잘못된 비밀번호:itistooshort
잘못된 비밀번호:istoosimple
새 비밀번호를 다시 입력하세요:
passwd:alauthenticationtoken이 성공적으로 업데이트되었습니다.
계정 로그인 비밀번호를 설정한 후 해당 계정으로 시스템에 로그인할 수 있습니다.
8. 계정 비밀번호 잠금/해제, 비밀번호 상태 확인, 계정 비밀번호 삭제
LINUX에서 디렉터리를 삭제하면 사용자 계정이 잠길 뿐만 아니라 계정 비밀번호도 잠길 수 있습니다. 어느 쪽이든 잠긴 후에는 시스템에 로그인할 수 없습니다. 루트 사용자만이 이 명령을 실행할 수 있습니다. 계정 비밀번호를 잠그려면 -l 옵션과 함께 passwd 명령을 사용하십시오.
passwd-l 계정 이름
passwd-uaccountname#계정 비밀번호 잠금 해제
[root@localhosthome]#passwd-lnisj
사용자의 비밀번호를 잠그는 중입니다.
passwd:성공
[root@localhosthome]#passwd-unisj
사용자의 비밀번호를 잠금 해제하는 중입니다.
passwd:성공
현재 계정의 비밀번호가 잠겨 있는지 확인하려면 -S 매개변수와 함께 passwd 명령을 사용할 수 있습니다.
passwd-S 계정 이름
예를 들어
[root@localhosthome]#passwd-Snisj
위 내용은 Linux에서 사용자 및 사용자 그룹 파일의 응용 시스템 설정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!