userX
Centos7 시스템에 사용자가 있습니다 . 이 사용자에 대한 모든 그룹을 삭제했으며 이제 해당 사용자는 이 그룹에만 할당되었습니다 userX
. 그러나 나는 sudo su
여전히 root
.
명령 순서:
1. SSH
일반 사용자로 로그인합니다 sriram
.
2.받는 사람 : .sudo
3. 루트가 됩니다. . 이는 허용되며 비밀번호 등은 필요하지 않습니다. 이상적인 동작은 루트가 되는 것을 허용하지 않는 것입니다.userX
sudo su - userX
sudo su
userX
달리기: sudo -lU userX
:
[sudo] password for sriram:
Matching Defaults entries for userX on this host:
requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS",
env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT
LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS
_XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin, timestamp_timeout=0
User userX may run the following commands on this host:
(ALL) NOPASSWD: ALL
(ALL) NOPASSWD: ALL
내가 어디에서 잘못되었을 수 있습니까? 어떤 추가 정보를 제공해야 합니까?
답변1
sudo
액세스 문제를 해결할 때 sudo -l
매우 유용합니다 . sudo -l
귀하의 권한을 인쇄 sudo
하고 sudo -lU user
해당 사용자의 sudo
권한을 인쇄합니다(모든 권한이 있는 경우).
$ sudo -l
User muru may run the following commands on laptop:
(ALL) ALL
sudo
일치 기준이 아닌 부여된 권한을 지정하여 일치하는 각 규칙에 대해 한 줄을 인쇄합니다.
예를 들어, 세 개의 서로 다른 파일에서 다음 세 가지 규칙을 사용합니다.
%wheel ALL = (ALL) ALL
muru ALL = (ALL:ALL) ALL
%muru ALL = (ALL) ALL
출력은 다음과 같습니다.
# sudo -lU muru
User muru may run the following commands on laptop:
(ALL) ALL
(ALL) ALL
(ALL : ALL) ALL
당신이 할 수 있는 일은 이러한 권한을 부여하는 규칙을 찾고 대상 사용자가 이를 어떻게 일치하는지 확인하는 것입니다. 각 줄은 해당 사용자와 일치하는 규칙에 해당해야 하므로 sudo
세 줄이 있으면 세 가지 규칙이 있어야 합니다( sudo
구성이 이상하거나 동일한 파일을 두 번 읽는 경우 제외).