testserver
내 계정 으로 서버 에 로그인 testuser
하고 그룹에 속해 sudo -s
있기 때문에 수행 할 수 sysadm
있습니다.
그룹을 쿼리하면 그룹을 가져 sysadm
오지만 그룹을 직접 쿼리 cat /etc/group
하거나 getent group sysadm
내 로그인이 해당 그룹에 나열되지 않습니다.
왜?
testuser
퍼티 (SSH)를 통해라는 서버 (Ubuntu 14.04)의 터미널 세션에 로그인하는 데 사용할 수 있는 사용자 계정 이 있습니다 testserver
.
groups
명령을 실행하면 내 계정에 대해 다음과 같은 출력이 표시됩니다.
sysadm
좋아, 그래서 나는 sysadm 그룹에 있어야한다. 그런 다음 sysadm 그룹 구성원을 나열합니다.
getent group sysadm
... 다음 결과가 생성됩니다.
sysadm:x:800:
이 시점에서 나는 약간 혼란 스럽습니다. 그룹 출력 끝에 항목이 없기 때문에 I (testuser)가 그룹에 있고 다시 해당 그룹에 속해 있지 않습니다 (시각적으로).
visudo로 sudoer 구성을 살펴 보았습니다. 다음 구성이 있습니다.
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
#%admin ALL=(ALL) ALL
%sysadm ALL=(ALL) ALL
# Allow members of group sudo to execute any command
#%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
그게 그 파일에있는 전부입니다.
sysadm
그룹에 속해 있음을 알게되었습니다.sysadm
그룹은 멤버가 포함되어 있지 않습니다sudo -s
있고 내가 원하는 것을 할 수 있습니다.지금까지 다음 기사를 읽었지만 그 중 어느 것도 내가 sysadm 그룹에 속해 있지만 (시각적으로) 해당 그룹에없는 이유를 찾는 데 도움이되지 않았습니다.
/ etc / passwd에 입력하면 로그인시 그룹 800에 포함됩니까? getent passwd $USER | cut -d: -f4
로그인 그룹이 표시됩니다. 귀하 (또는 누구)가 testuser 계정을 어떻게 만들었습니까?
당신을 변경하려면 group
, 당신은 변경해야합니다 /etc/passwd
(남성 vipw
), 그리고 모든 파일과와 디렉토리에 그룹을 변경 sudo chgrp -R $NewGroup $HOME
, 로그 아웃 한 후 다시에.
"사용자"( "시스템"과 반대) 그룹은 일반적으로에서 시작 1000
하지만 체크인 /etc/login.defs
( UID_MIN
) 할 수 있습니다 .
다시 말하지만, 귀하 (또는 누구)가 testuser
계정을 만들었 습니까?
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다