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

関連情報