>  기사  >  시스템 튜토리얼  >  Linux 시스템의 사용자 그룹을 통해 사용자를 관리하세요!

Linux 시스템의 사용자 그룹을 통해 사용자를 관리하세요!

王林
王林앞으로
2024-02-22 09:07:22837검색

Linux에서는 이것이 완전히 가능합니다. 하지만 먼저 사용자 그룹 및 ACL(액세스 제어 목록)을 통해 사용자를 관리하는 방법을 이해해야 합니다.
간단한 사용자부터 시작하여 복잡한 ACL(액세스 제어 목록)까지 진행해 보겠습니다. 선택한 Linux 배포판에서 필요한 모든 작업을 수행할 수 있습니다. 이 글의 초점은 사용자 그룹이므로 사용자에 대한 기본 지식은 다루지 않습니다.

데모 목적으로 다음과 같이 가정합니다.

다음 두 개의 사용자 이름을 사용하여 두 명의 새로운 사용자를 만들어야 합니다:

  • 올리비아
  • 나단

다음 두 개의 사용자 그룹을 만들어야 합니다:

  • 독자 여러분
  • 편집자

olivia는 편집자 그룹에 속해 있고 nathan은 독자 그룹에 속해 있습니다. 독자 사용자 그룹은 /DATA 디렉터리에 대한 읽기 권한만 갖고, 편집자 사용자 그룹은 /DATA 디렉터리에 대한 읽기 및 쓰기 권한을 모두 갖습니다. 물론 이것은 매우 작은 작업이지만 기본 정보를 제공하고 다른 더 큰 요구 사항에 맞게 이 작업을 확장할 수 있습니다.

Ubuntu 16.04 서버 플랫폼에서 시연할 예정입니다. 이러한 명령은 일반적이며 유일한 차이점은 배포판에서 sudo 명령을 사용하지 않는 경우 이러한 명령을 실행하려면 루트 사용자로 전환해야 한다는 것입니다.

사용자 만들기

가장 먼저 해야 할 일은 실험을 위해 두 명의 사용자를 만드는 것입니다. useradd 명령을 사용하여 사용자를 생성할 수 있습니다. 단순히 사용자를 생성하는 것이 아니라 사용자와 해당 홈 디렉터리를 생성한 다음 해당 사용자에 대한 암호를 설정해야 합니다.

으아악

이제 두 명의 사용자를 생성했는데 /home 디렉터리를 보면 그들의 홈 디렉터리를 찾을 수 있습니다. (-m 옵션을 사용했기 때문에 사용자 생성과 동시에 그들의 홈 디렉터리도 생성할 수 있습니다.

그 후에는 다음 명령을 사용하여 비밀번호를 설정할 수 있습니다.

으아악

이제 우리는 두 명의 사용자를 만들었습니다.

사용자 그룹 생성 및 사용자 추가

이제 독자 및 편집자 사용자 그룹을 생성하고 여기에 사용자를 추가하겠습니다. 사용자 그룹을 생성하는 명령은 다음과 같습니다:

으아악

(LCTT 번역: CentOS 등 일부 Linux 배포판을 사용하는 경우 시스템에 addgroup 명령이 없을 수 있습니다. 동일한 효과를 얻으려면 addgroup 명령을 대체하여 groupadd 명령을 사용하는 것이 좋습니다)
Linux 系统中通过用户组管理用户!

그림 1: 방금 생성한 새 사용자 그룹을 사용할 수 있습니다.

사용자 그룹을 생성한 후 이 두 사용자 그룹에 사용자를 추가해야 합니다. 다음 명령을 사용하여 독자 사용자 그룹에 nathan 사용자를 추가합니다.

으아악

다음 명령을 사용하여 편집자 그룹에 올리비아를 추가하세요:

으아악

이제 사용자 그룹을 통해 사용자를 관리할 수 있습니다.

사용자 그룹에 디렉터리 권한 부여

/READERS 디렉터리가 있고 독자 그룹의 모든 구성원이 이 디렉터리에 액세스하도록 허용한다고 가정합니다. 먼저 다음 명령을 실행하여 디렉터리가 속한 사용자 그룹을 변경합니다.

으아악

다음으로 다음 명령을 실행하여 해당 디렉터리가 속한 사용자 그룹의 쓰기 권한을 취소합니다.

으아악

그런 다음 다음 명령을 실행하여 이 디렉터리에 대한 다른 사용자의 액세스 권한을 취소합니다(독자 그룹에 속하지 않은 사용자가 이 디렉터리의 파일에 액세스하는 것을 방지하기 위해).

으아악

현재는 디렉토리 소유자(루트)와 사용자 그룹 리더에 속한 사용자만 /READES에 있는 파일에 접근할 수 있습니다.

/EDITORS 디렉터리가 있다고 가정합니다. 사용자 그룹 편집자에게 이 디렉터리에 대한 읽기 및 쓰기 권한을 부여해야 합니다. 이 목적을 달성하려면 다음 명령을 실행해야 합니다:

으아악

이때 편집자 사용자 그룹의 모든 구성원은 해당 그룹에 속한 파일에 접근하고 수정할 수 있습니다. 그렇지 않으면 다른 사용자(루트 제외)는 /EDITORS의 파일에 액세스할 수 없습니다.

이 방법의 문제점은 한 번에 하나의 그룹과 하나의 디렉터리만 운영할 수 있다는 것입니다. 여기서 ACL(액세스 제어 목록)이 유용하게 사용됩니다.

액세스 제어 목록(ACL) 사용

现在,让我们把这个问题变得棘手一点。假设你有一个目录 /DATA 并且你想给 readers 用户组的成员读取权限,并同时给 editors 用户组的成员读和写的权限。为此,你必须要用到 setfacl 命令。setfacl 命令可以为文件或文件夹设置一个访问控制表(ACL)。

这个命令的结构如下:

setfacl OPTION X:NAME:Y /DIRECTORY

其中 OPTION 是可选选项,X 可以是 u(用户)或者是 g (用户组),NAME 是用户或者用户组的名字,/DIRECTORY 是要用到的目录。我们将使用 -m 选项进行修改。因此,我们给 readers 用户组添加读取权限的命令是:

sudo setfacl -m g:readers:rx -R /DATA

现在 readers 用户组里面的每一个用户都可以读取 /DATA 目录里的文件了,但是他们不能修改里面的内容。

为了给 editors 用户组里面的用户读写权限,我们执行了以下命令:

sudo setfacl -m g:editors:rwx -R /DATA

上述命令将赋予 editors 用户组中的任何成员读取权限,同时保留 readers 用户组的只读权限。

更多的权限控制

使用访问控制表(ACL),你可以实现你所需的权限控制。你可以添加用户到用户组,并且灵活地控制这些用户组对每个目录的权限以达到你的需求。如果想了解上述工具的更多信息,可以执行下列的命令:

  • man usradd
  • man addgroup
  • man usermod
  • man sefacl
  • man chown
  • man chmod

위 내용은 Linux 시스템의 사용자 그룹을 통해 사용자를 관리하세요!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 linuxprobe.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제