已添加具有 root 访问权限的用户/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,无法访问用户文件