루트 액세스 권한이 있는 사용자가 추가되었지만 /etc/sudoers
명령을 실행할 수 없는 것 같습니다 sudo
.
[root@compute-0-0 ~]# cat /etc/sudoers
root ALL=(ALL) ALL
hduser ALL=(ALL) ALL
[root@compute-0-0 ~]# sudo
usage: sudo -h | -K | -k | -L | -V
usage: sudo -v [-AknS] [-g groupname|#gid] [-p prompt] [-u user name|#uid]
usage: sudo -l[l] [-AknS] [-g groupname|#gid] [-p prompt] [-U user name] [-u user name|#uid] [-g
groupname|#gid] [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C fd] [-g groupname|#gid] [-p prompt] [-u user
name|#uid] [-g groupname|#gid] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C fd] [-g groupname|#gid] [-p prompt] [-u user
name|#uid] file ...
[root@compute-0-0 ~]# su - hduser
[hduser@compute-0-0 ~]$ ls
bio hadoop-2.7.2 hadoop-2.7.2.tar.gz protobuf-2.5.0 protobuf-2.5.0.tar.gz
[hduser@compute-0-0 ~]$ sudo ls
[sudo] password for hduser:
ls: cannot open directory .: Permission denied
[hduser@compute-0-0 ~]$
이유는 무엇입니까?
답변1
귀하가 겪고 있는 문제는 권한 문제 가 아닙니다 sudo
.root
홈 디렉토리가 있는 파일 시스템은 hduser
머신에 로컬이 아니며 root
머신에 권한이 부여되지 않습니다. 따라서 이렇게 하면 su - hduser
자동으로 해당 디렉터리로 변경되므로 다음과 같이 명령을 실행 sudo ls
해 보세요 .ls
root
저것오류의 원인입니다.
이는 문제를 해결하는 데 도움이 될 수 있습니다.sudo, 사용자 파일에 접근할 수 없습니다