Linux에서 사용자 및 사용자 그룹 파일의 응용 시스템 설정
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Web.xml 파일을 열려면 다음 방법을 사용할 수 있습니다. 텍스트 편집기 (예 : 메모장 또는 문자 메시지)를 사용하여 통합 개발 환경 (예 : Eclipse 또는 NetBeans)을 사용하여 명령을 편집하십시오 (Windows : Notepad Web.xml; Mac/Linux : Open -A Texted web.xml).

언어의 멀티 스레딩은 프로그램 효율성을 크게 향상시킬 수 있습니다. C 언어에서 멀티 스레딩을 구현하는 4 가지 주요 방법이 있습니다. 독립 프로세스 생성 : 여러 독립적으로 실행되는 프로세스 생성, 각 프로세스에는 자체 메모리 공간이 있습니다. 의사-다일리트 레딩 : 동일한 메모리 공간을 공유하고 교대로 실행하는 프로세스에서 여러 실행 스트림을 만듭니다. 멀티 스레드 라이브러리 : PTHREADS와 같은 멀티 스레드 라이브러리를 사용하여 스레드를 만들고 관리하여 풍부한 스레드 작동 기능을 제공합니다. COROUTINE : 작업을 작은 하위 작업으로 나누고 차례로 실행하는 가벼운 다중 스레드 구현.

Linux는 서버 관리, 임베디드 시스템 및 데스크탑 환경으로 사용되는 것이 가장 좋습니다. 1) 서버 관리에서 Linux는 웹 사이트, 데이터베이스 및 응용 프로그램을 호스팅하는 데 사용되어 안정성과 안정성을 제공합니다. 2) 임베디드 시스템에서 Linux는 유연성과 안정성으로 인해 스마트 홈 및 자동차 전자 시스템에서 널리 사용됩니다. 3) 데스크탑 환경에서 Linux는 풍부한 응용 프로그램과 효율적인 성능을 제공합니다.

Debianlinux는 안정성과 보안으로 유명하며 서버, 개발 및 데스크탑 환경에서 널리 사용됩니다. 현재 Debian 및 Hadoop과 직접 호환성에 대한 공식 지침이 부족하지만이 기사에서는 Debian 시스템에 Hadoop를 배포하는 방법을 안내합니다. 데비안 시스템 요구 사항 : Hadoop 구성을 시작하기 전에 Debian 시스템이 Hadoop의 최소 작동 요구 사항을 충족하는지 확인하십시오. 여기에는 필요한 JAVA 런타임 환경 (JRE) 및 Hadoop 패키지 설치가 포함됩니다. Hadoop 배포 단계 : 다운로드 및 unzip hadoop : 공식 Apachehadoop 웹 사이트에서 필요한 Hadoop 버전을 다운로드하여 해결하십시오.

GO를 사용하여 Oracle 데이터베이스에 연결할 때 Oracle 클라이언트를 설치해야합니까? GO에서 개발할 때 Oracle 데이터베이스에 연결하는 것이 일반적인 요구 사항입니다 ...

"Debiantrings"는 표준 용어가 아니며 구체적인 의미는 여전히 불분명합니다. 이 기사는 브라우저 호환성에 직접 언급 할 수 없습니다. 그러나 "Debiantrings"가 Debian 시스템에서 실행되는 웹 응용 프로그램을 지칭하는 경우 브라우저 호환성은 응용 프로그램 자체의 기술 아키텍처에 따라 다릅니다. 대부분의 최신 웹 응용 프로그램은 크로스 브라우저 호환성에 전념합니다. 이는 웹 표준에 따라 웹 표준과 잘 호환 가능한 프론트 엔드 기술 (예 : HTML, CSS, JavaScript) 및 백엔드 기술 (PHP, Python, Node.js 등)을 사용하는 데 의존합니다. 응용 프로그램이 여러 브라우저와 호환되도록 개발자는 종종 브라우저 크로스 테스트를 수행하고 응답 성을 사용해야합니다.

Root로 MySQL에 로그인 할 수없는 주된 이유는 권한 문제, 구성 파일 오류, 암호 일관성이 없음, 소켓 파일 문제 또는 방화벽 차단입니다. 솔루션에는 다음이 포함됩니다. 구성 파일의 BAND-ADDRESS 매개 변수가 올바르게 구성되어 있는지 확인하십시오. 루트 사용자 권한이 수정 또는 삭제되어 재설정되었는지 확인하십시오. 케이스 및 특수 문자를 포함하여 비밀번호가 정확한지 확인하십시오. 소켓 파일 권한 설정 및 경로를 확인하십시오. 방화벽이 MySQL 서버에 연결되는지 확인하십시오.

Lua-Libuv라는 프로젝트를 개발했으며 내 경험을 공유하게되어 기쁩니다. 이 프로젝트의 원래 의도는 Libuv (C로 작성된 비동기 I/O 라이브러리)를 사용하여 C 언어를 심층적으로 배울 필요없이 간단한 HTTP 서버를 구축하는 방법을 탐색하는 것입니다. Chatgpt의 도움으로 Http.c의 기본 코드를 완료했습니다. 지속적인 연결을 다룰 때 적절한 시간에 연결을 닫고 리소스를 자유롭게하는 것을 성공적으로 구현했습니다. 처음에는 연결을 닫아 기본 프로그램을 종료 한 간단한 서버를 만들려고했지만 문제가있었습니다. 스트리밍을 사용하여 데이터 블록을 전송하려고 시도했지만 작동하는 동안 메인 스레드가 차단됩니다. 결국, 나는 내 목표가 C 언어를 깊이 배우는 것이 아니기 때문에이 접근법을 포기하기로 결정했습니다. 마지막으로, 나는
