사용자가 한 번에 하나의 그룹에만 추가되는 이유는 무엇입니까?


1

나는 리눅스 시스템에 대한 제한된 지식을 가지고 있으므로 나와 함께 맨손으로 :) adminCentOS에서 Apache와 동일한 그룹에 호출 된 사용자를 추가하려고합니다 . 실행 id admin하면 그룹 1000 (apache) 및 그룹 1002 (admin)가 표시되고, 실행 id apache하면 그룹 1000 (apache) 및 1003 (access)이 표시됩니다.

둘 다 1000 그룹 (apache)의 멤버 인 것을 알지만을 통해 1003 (액세스) 그룹에 관리자를 추가하려고 usermod -G access admin하면 어떤 이유로 든 아파치 그룹에서 관리자가 삭제됩니다 (따라서 실행할 때 'id admin'그룹 1002 및 1003을 얻지 만 더 이상 1000의 일부로 표시되지 않습니다).

사용자가 회원이 될 수있는 그룹 수에 제한이 있습니까? 그렇지 않다면 어떻게 같은 그룹에 넣습니까?

내 문제는 권한 문제로 인해-예를 들어 새 디렉토리를 만들거나 관리자와 파일을 업로드하려고 할 때 'admin'이 소유 한 특정 폴더에 있습니다. 그러나 아파치 사용자를 사용하여 그렇게하려고하면 할 수 없습니다.

편집 : getfacl의 출력 :

getfacl: Removing leading '/' from absolute path names
# file: home/admin/domains/xxx/public_html/xxx/xxx
# owner: apache
# group: apache
user::rwx
user:apache:rwx
group::rwx
mask::rwx
other::r-x
default:user::rwx
default:user:apache:rwx
default:group::rwx
default:mask::rwx
default:other::r-x

4 월 14 일 편집 :

getfacl: Removing leading '/' from absolute path names
# file: home/admin/domains/public_html/xxx/xxx
# owner: apache
# group: apache
user::rwx
user:admin:rwx
group::rwx
mask::rwx
other::r-x
default:user::rwx
default:user:admin:rwx
default:group::rwx
default:mask::rwx
default:other::r-x

답변:


3

3 월, 나는 항상 이전 질문에 대답 했으므로 POSIX ACL이 그러한 문제를 해결하기에 충분하기 때문에 특정 폴더와 하위 폴더의 파일에 액세스하기 위해 그룹에 사용자를 추가 할 필요가 없습니다.

아래 명령을 사용하십시오 :

setfacl -Rm d:u:apache:rwX,u:apache:rwX /path/to/your/folder

이제부터 사용자 아파치 (및 관리자)는이 폴더에서 원하는 모든 작업을 수행 할 수 있으며 하위 폴더이지만 다른 사람은 없습니다.

-rm R ecursively m odify의 ACL

U : 아파치 : RWX ACL 설정 사용자를위한 아파치 기존 파일과 시작의 (하위) 폴더에 대한 폴더

d : u : apache : rwX 새로 작성된 파일 및 (하위) 폴더에 대한 사용자 아파치에 대한 ACL 설정

다음을 사용하여 언제든지 모든 추가 ACL을 제거 할 수 있습니다

setfacl -Rb /path/to/your/folder

ACL을 지원하는 파일 시스템은 무엇입니까? 매뉴얼 페이지에 지원되지 않는 FS에 권한 비트가있는 "피들 링"이 표시되고, 완전히 "적합"하지 않으면 오류가 발생합니다.
Xen2050

테스트하고 ext4에 사용하고 있습니다.
Oleg Bolden

@OlegBolden 도움을 주셔서 감사합니다. 그러나이 명령을 시도한 후에도 사용자 admin으로 DirectAdmin에 로그인 할 때 해당 특정 폴더 내에 폴더를 만들 수 없습니다 ...?
MAR

나에게의 출력 표시getfacl /your_folder
올렉 볼든

1
setfacl -Rb /your/folder명령을 사용 하여 모든 ACL을 제거하고 관리자 액세스를 위해이 명령을 입력하십시오. setfacl -Rm d:u:admin:rwX,u:admin:rwX /path/to/your/folder또한이 폴더의 아파치 그룹에 대한 속성을 작성할 필요가 없습니다. 을 사용하여 설정을 해제하십시오 chmod g-w /your/folder.
Oleg Bolden

4

액세스 그룹에 관리자를 추가하면 아파치 그룹에서 관리자가 삭제됩니다.

usermod -G access admin

usermod올바르게 사용 하고 있지 않습니다 .

사용자가 현재 목록에없는 그룹의 구성원 인 경우 사용자가 그룹에서 제거됩니다 . 이 동작은 사용자를 현재 보충 그룹 목록에 추가하는 -a 옵션을 통해 변경할 수 있습니다.

다음 명령을 사용하십시오.

usermod -G access, apache admin

또는:

usermod -a -G access admin

usermod (8)-리눅스 매뉴얼 페이지

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
           A list of supplementary groups which the user is also a member
           of. Each group is separated from the next by a comma, with no
           intervening whitespace. The groups are subject to the same
           restrictions as the group given with the -g option.

           If the user is currently a member of a group which is not listed,
           the user will be removed from the group. This behaviour can be
           changed via the -a option, which appends the user to the current
           supplementary group list.

소스 usermod (8)-Linux 매뉴얼 페이지


usermod -a -G access admin트릭을했다. 감사!
MAR

이것은 일반적인 의견입니다. 사용자 그룹을 수정하는 경우 구성원이되기 원하는 모든 그룹을 나열해야합니다. 그렇지 않으면 명령이 사용자 그룹을 변경한다고 가정합니다. 이것이 명령의 매뉴얼 페이지와 명령 구문이이를 수행하는 이유를 설명하는 이유입니다. 나는 그 대답이 그 모든 것이 예상되는 행동이라고 지적 할 가치가 있다고 생각한다는 것을 알고 있습니다.
Ramhound
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.