Linux에서 CIFS 마운트 Windows 공유 디렉터리의 파일에 대한 권한이 거부되었습니다.

Linux에서 CIFS 마운트 Windows 공유 디렉터리의 파일에 대한 권한이 거부되었습니다.

mount.cifs 및 fstab Entrye를 사용하고 mount -a를 사용하여 Raspberry/Jessie에서 네트워크를 통해 Windows 공유를 성공적으로 마운트할 수 있습니다.

예를 들어sudo mount.cifs //HPSERVER/linux-bup/ /home/maxg/bmsOnSrvr -v -o user=linux,pass=****

그러나 해당 Windows 공유에 쓰려고 하면 권한이 거부되었습니다. 공유된 파일을 읽을 수 있습니다.

이것은 내 Linux 컴퓨터에서 볼 수 있는 것입니다.

# [2018-04-17 21:13] maxg@rpi32 ~/bmsOnSrvr $
la
total 5
drwxr-xr-x 2 root root    0 Apr 17 21:04 .
drwxr-xr-x 8 maxg maxg 4096 Apr 17 19:15 ..
-rwxr-xr-x 1 root root    4 Apr 17 21:04 deleteme.txt
-rwxr-xr-x 1 root root    0 Apr  8 11:50 desktop.ini
drwxr-xr-x 2 root root    0 Apr 17 19:15 rPi32

Windows 공유는 CACLS를 사용하여 표시된 것처럼 사용자 "linux"에 대한 전체 액세스를 허용합니다.

C:\>cacls d:\shares\linux-bup
d:\shares\linux-bup BUILTIN\Administrators:(OI)(CI)F
                CREATOR OWNER:(OI)(CI)(IO)F
                Everyone:(OI)(CI)F
                HPSERVER\linux:(OI)(CI)F
                NT AUTHORITY\SYSTEM:(OI)(CI)F

C:\>cacls d:\shares\linux-bup\rPi32
d:\shares\linux-bup\rPi32 BUILTIN\Administrators:(OI)(CI)F
                      CREATOR OWNER:(OI)(CI)(IO)F
                      Everyone:(OI)(CI)F
                      HPSERVER\linux:(OI)(CI)F
                      NT AUTHORITY\SYSTEM:(OI)(CI)F

D:\shares\linux-bup>echo . >deleteme.txt

D:\shares\linux-bup>cacls d:\shares\linux-bup\deleteme.txt
d:\shares\linux-bup\deleteme.txt BUILTIN\Administrators:F
                             Everyone:F
                             HPSERVER\linux:F
                             NT AUTHORITY\SYSTEM:F

왜 접근이 안되는지 모르겠네요. 액세스 권한을 얻으려면 무엇이 더 필요합니까?

답변1

추가 조사를 통해 nopermmount 명령에 사용할 수 있는 매개변수가 밝혀졌습니다.

sudo mount.cifs //HPSERVER/linux-bup/ /home/maxg/bmsOnSrvr --v -o user=linux,pass=****,noperm

이제 결과는 다음과 같습니다.

# [2018-04-17 21:45] maxg@rpi32 ~/bmsOnSrvr $
la
total 5
drwxr-xr-x 2 root root    0 Apr 17 21:04 .
drwxr-xr-x 8 maxg maxg 4096 Apr 17 19:15 ..
-rwxr-xr-x 1 root root    4 Apr 17 21:04 deleteme.txt
-rwxr-xr-x 1 root root    0 Apr  8 11:50 desktop.ini
drwxr-xr-x 2 root root    0 Apr 17 19:15 rPi32
# [2018-04-17 21:45] maxg@rpi32 ~/bmsOnSrvr $
echo kjskjs>max.txt
# [2018-04-17 21:45] maxg@rpi32 ~/bmsOnSrvr $
rm desktop.ini
# [2018-04-17 21:45] maxg@rpi32 ~/bmsOnSrvr $
la
total 5
drwxr-xr-x 2 root root    0 Apr 17  2018 .
drwxr-xr-x 8 maxg maxg 4096 Apr 17 19:15 ..
-rwxr-xr-x 1 root root    4 Apr 17 21:04 deleteme.txt
-rwxr-xr-x 1 root root    7 Apr 17 21:45 max.txt
drwxr-xr-x 2 root root    0 Apr 17 19:15 rPi32

[편집] 그러나 이것이 올바른 접근 방식인 것 같습니다.

sudo mount.cifs //HPSERVER/linux-bup/ /home/maxg/bmsOnSrvr --v -o user=linux,pass=****,uid=1001,gid=1001

이제 결과는 다음과 같습니다.

# [2018-04-17 21:59] maxg@rpi32 ~/bmsOnSrvr $
la
total 4
drwxr-xr-x 2 maxg maxg    0 Apr 17 21:50 .
drwxr-xr-x 8 maxg maxg 4096 Apr 17 19:15 ..
drwxr-xr-x 2 maxg maxg    0 Apr 17 19:15 rPi32
# [2018-04-17 21:59] maxg@rpi32 ~/bmsOnSrvr $
echo crap>crap.txt
# [2018-04-17 21:59] maxg@rpi32 ~/bmsOnSrvr $
la
total 5
drwxr-xr-x 2 maxg maxg    0 Apr 17 22:00 .
drwxr-xr-x 8 maxg maxg 4096 Apr 17 19:15 ..
-rwxr-xr-x 1 maxg maxg    5 Apr 17 21:59 crap.txt
drwxr-xr-x 2 maxg maxg    0 Apr 17 19:15 rPi32

답변2

설치 후 루트가 드라이브 소유자가 됩니다. 따라서 설치 중에 특정 사용자와 그룹을 할당하려면 uid매개변수를 사용해야 합니다.gid

다음 명령이 작업을 수행해야 합니다.

sudo mount.cifs //HPSERVER/linux-bup/ /home/maxg/bmsOnSrvr --v -o user=linux,pass=****,uid=1001,gid=1001

관련 정보