Linux에서 루트가 아닌 다른 사용자에게 사용자를 종속시킬 수 있습니까? 마찬가지로 해당 사용자 암호를 입력하지

Linux에서 다른 사용자의 부하 직원을 만들고 싶습니다. 이 말은 상위 사용자가 두 가지 방식으로 하위 사용자와 관련되기를 바랍니다.

  • 상위 사용자는 동일한 권한을 가진 하위 사용자의 모든 파일에 액세스 할 수 있어야합니다.
  • 상위 사용자는
    로그인 쉘이있는 사용자가 루트 권한을 가질 수있는 것과 마찬가지로 해당 사용자 암호를 입력하지 않고su 이러한 하위 사용자
    가 할 수 있어야합니다su

이것이 가능한가? 그렇다면 어떻게? 나는 그룹으로 첫 번째 것을 관리 할 수 ​​있지만 두 번째 그룹은 실제로 더 중요한 그룹입니다.

나는 해결책을 찾기 위해 조금 둘러 봤지만 찾을 수 없었다. 나는 그것이 할 수 없다는 것을 의미하는지 / 정말로 모호한 것인지 아니면 단지 그것에 넣기에 적합한 단어가없는 것인지 확실하지 않습니다.



답변

첫 번째 부분 인 파일 액세스는 일반 Linux에서는 일반적으로 불가능합니다. 그룹이나 파일 ACL로 몇 가지 작업을 수행 할 수 있지만 파일 소유자가 chmod자신의 파일을 비공개로 설정하는 것을 막을 수있는 방법은 없습니다 .

없다 같은 것은 “리눅스에서 X의 종속 root때문에 root의 파일에 액세스 할 수는 X“.
대신 root는 단순히 “모든 권한 검사를 무시”권한 (cap_dac_override)을가집니다. 그게 다야.

그러나 SELinux 또는 SMACK이 사용하는 모듈의 종류 인 LSM을 작성하는 것이 가능할 수도 있습니다. 또는 단순히 su <subordinate_user>파일을 사용 하고 읽을 수 있습니다.


두 번째 부분은 사용자 정의 sudo규칙이나 특수 PAM 구성을 작성하여 가능 합니다 su(불행히도 도움이 될 기존 PAM 모듈은 알지 못함).

예를 들어, 사용자 X가 실행되도록 허용하려면 다음 sudo -u Z -s과 같은 su Z규칙을 사용합니다.

X    ALL=(Z) ALL

%groupnameUnix 그룹을 지정하는 데 사용할 수도 있습니다 .

superiorguy    ALL=(%subordinates) ALL