루트로 로그인했는데도 다른 사용자의 디렉터리에 CD로 들어갈 수 없습니다. (권한 거부됨)

루트로 로그인했는데도 다른 사용자의 디렉터리에 CD로 들어갈 수 없습니다. (권한 거부됨)

Centos7 서버에 루트로 로그인했지만 다른 사용자의 특정 디렉터리로 CD를 이동할 수 없습니다. "권한 거부" 오류가 계속 발생합니다.

이 디렉토리에 루트로 액세스할 수 있는 방법이 있습니까? "chmod"를 사용하여 권한을 변경하려고 시도했지만 "작업이 허용되지 않음" 오류가 발생했습니다.

감사해요.

findmnt편집: 이것은 명령의 출력입니다.

TARGET                                SOURCE      FSTYPE     OPTIONS
/                                     /dev/mapper/centos-root
                                                  xfs        rw,relatime,seclabel,attr2,inode64,sunit=512,sw
├─/sys                                sysfs       sysfs      rw,nosuid,nodev,noexec,relatime,seclabel
│ ├─/sys/kernel/security              securityfs  securityfs rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/cgroup                    tmpfs       tmpfs      ro,nosuid,nodev,noexec,seclabel,mode=755
│ │ ├─/sys/fs/cgroup/systemd          cgroup      cgroup     rw,nosuid,nodev,noexec,relatime,xattr,release_a
│ │ ├─/sys/fs/cgroup/devices          cgroup      cgroup     rw,nosuid,nodev,noexec,relatime,devices
│ │ ├─/sys/fs/cgroup/cpu,cpuacct      cgroup      cgroup     rw,nosuid,nodev,noexec,relatime,cpuacct,cpu
│ │ ├─/sys/fs/cgroup/net_cls,net_prio cgroup      cgroup     rw,nosuid,nodev,noexec,relatime,net_prio,net_cl
│ │ ├─/sys/fs/cgroup/blkio            cgroup      cgroup     rw,nosuid,nodev,noexec,relatime,blkio
│ │ ├─/sys/fs/cgroup/cpuset           cgroup      cgroup     rw,nosuid,nodev,noexec,relatime,cpuset
│ │ ├─/sys/fs/cgroup/hugetlb          cgroup      cgroup     rw,nosuid,nodev,noexec,relatime,hugetlb
│ │ ├─/sys/fs/cgroup/pids             cgroup      cgroup     rw,nosuid,nodev,noexec,relatime,pids
│ │ ├─/sys/fs/cgroup/memory           cgroup      cgroup     rw,nosuid,nodev,noexec,relatime,memory
│ │ ├─/sys/fs/cgroup/perf_event       cgroup      cgroup     rw,nosuid,nodev,noexec,relatime,perf_event
│ │ └─/sys/fs/cgroup/freezer          cgroup      cgroup     rw,nosuid,nodev,noexec,relatime,freezer
│ ├─/sys/fs/pstore                    pstore      pstore     rw,nosuid,nodev,noexec,relatime
│ ├─/sys/firmware/efi/efivars         efivarfs    efivarfs   rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/selinux                   selinuxfs   selinuxfs  rw,relatime
│ ├─/sys/kernel/debug                 debugfs     debugfs    rw,relatime
│ └─/sys/kernel/config                configfs    configfs   rw,relatime
├─/proc                               proc        proc       rw,nosuid,nodev,noexec,relatime
│ ├─/proc/sys/fs/binfmt_misc          systemd-1   autofs     rw,relatime,fd=31,pgrp=1,timeout=0,minproto=5,m
│ │ └─/proc/sys/fs/binfmt_misc        binfmt_misc binfmt_mis rw,relatime
│ └─/proc/fs/nfsd                     nfsd        nfsd       rw,relatime
├─/dev                                devtmpfs    devtmpfs   rw,nosuid,seclabel,size=16200576k,nr_inodes=405
│ ├─/dev/shm                          tmpfs       tmpfs      rw,nosuid,nodev,seclabel
│ ├─/dev/pts                          devpts      devpts     rw,nosuid,noexec,relatime,seclabel,gid=5,mode=6
│ ├─/dev/hugepages                    hugetlbfs   hugetlbfs  rw,relatime,seclabel
│ └─/dev/mqueue                       mqueue      mqueue     rw,relatime,seclabel
├─/run                                tmpfs       tmpfs      rw,nosuid,nodev,seclabel,mode=755
│ ├─/run/user/10155                   tmpfs       tmpfs      rw,nosuid,nodev,relatime,seclabel,size=3243272k
│ ├─/run/user/0                       tmpfs       tmpfs      rw,nosuid,nodev,relatime,seclabel,size=3243272k
│ ├─/run/user/10143                   tmpfs       tmpfs      rw,nosuid,nodev,relatime,seclabel,size=3243272k
│ ├─/run/user/10000                   tmpfs       tmpfs      rw,nosuid,nodev,relatime,seclabel,size=3243272k
│ └─/run/user/42                      tmpfs       tmpfs      rw,nosuid,nodev,relatime,seclabel,size=3243272k
├─/boot                               /dev/sda2   xfs        rw,relatime,seclabel,attr2,inode64,sunit=512,sw
│ └─/boot/efi                         /dev/sda1   vfat       rw,relatime,fmask=0077,dmask=0077,codepage=437,
├─/home                               /dev/mapper/centos-home
                                                  xfs        rw,relatime,seclabel,attr2,inode64,sunit=512,sw
│ └─/home/MAINUSERDIR                   IP-address-here:/home/MAINUSERDIR
                                                  nfs4       rw,relatime,vers=4.1,rsize=1048576,wsize=104857
├─/var/lib/nfs/rpc_pipefs             sunrpc      rpc_pipefs rw,relatime
├─/var/lib/snapd/snap/snapd/7264      /dev/loop0  squashfs   ro,nodev,relatime,context=system_u:object_r:sna
├─/var/lib/snapd/snap/core18/1754     /dev/loop1  squashfs   ro,nodev,relatime,context=system_u:object_r:sna
└─/var/lib/snapd/snap/snapd/7777      /dev/loop3  squashfs   ro,nodev,relatime,context=system_u:object_r:sna

답변1

루트 사용자가 사용자 홈 디렉터리를 사용하도록 해야 한다면 /etc/exportsNFS 서버를 확인하고 옵션을 추가 하겠습니다 no_root_squash.

더 나은 해결책은 NFS 서버에 로그인하고 루트로 공유로 이동한 다음 NFS 마운트를 통하지 않고 서버 자체에서 필요한 변경을 수행하는 것입니다.

추가 정보:
사용자 홈 디렉터리가 10.22.99.51의 NFS 공유에 마운트된 것 같습니다.

│ └─/home/MAINUSERDIR  IP-address-here:/home/MAINUSERDIR nfs4 rw,relatime,vers=4.1,rsize=1048576,wsize=104857

기본적으로 루트(UID 0)를 익명 사용자(UID 65534)로 변경하는 옵션을 사용합니다 root_squash. man 5 exports자세한 내용은 다음을 통해 확인 하실 수 있습니다 .https://linux.die.net/man/5/exports

nfsd각 NFS RPC 요청에 제공된 uid 및 gid를 기반으로 서버 컴퓨터의 파일에 대한 액세스 제어를 수행합니다. 사용자가 기대하는 일반적인 동작은 일반 파일 시스템처럼 서버의 파일에 액세스할 수 있다는 것입니다. 이를 위해서는 클라이언트와 서버 시스템에서 동일한 uid 및 gid를 사용해야 합니다. 이는 항상 옳은 것도 아니고 항상 바람직한 것도 아닙니다.

일반적으로 NFS 서버의 파일에 액세스할 때 클라이언트 시스템의 루트 사용자가 루트로 간주되는 것을 원하지 않습니다. 이러한 이유로 uid 0은 일반적으로 소위 익명 또는 인간 uid라는 다른 ID에 매핑됩니다. 이 작동 모드("루트 압축"이라고 함)는 기본 모드이며 끌 수 있습니다 no_root_squash.

관련 정보