mount -t cifs は root としてのみマウントされ、uid と gid をサポートしなくなりました。

mount -t cifs は root としてのみマウントされ、uid と gid をサポートしなくなりました。

有効なユーザーのuidとgidを使用しても、リモートcifs共有はrootとしてのみマウントできます。

これした長年の作業の後でも、fstabは同じままです。私は継続的にパッチを適用しているので(openSUSE Leap 15.3)、何か問題があるか、もう使用されていないかどうか疑問に思います。明確な答えがなければ、この問題を最もよく解決する方法は何ですか?

# whoami
root

# uname -a
Linux my_user7 5.3.18-59.40-preempt #1 SMP PREEMPT Mon Jan 3 18:43:20 UTC 2022 (34edd9c) x86_64 x86_64 x86_64 GNU/Linux

# ls -lah /external/
total 0
drwxr-xr-x 1 root   root   76 Apr 13  2021 .
drwxr-xr-x 1 root   root  422 Sep  4 14:26 ..
drwxr-xr-x 1 my_user users   0 Jul 28  2018 Data1
drwxr-xr-x 1 my_user users   0 Nov 26  2019 Data2
drwxr-xr-x 1 my_user users   0 Jul 27  2018 Data3
drwxr-xr-x 1 my_user users   0 Jul 27  2018 Data4
drwxr-xr-x 1 my_user users   0 Jul 27  2018 Data5
drwxr-xr-x 1 my_user users   0 Apr 13  2021 Data6

# mount -v -t cifs -o username=my_user,password=my_pass,vers=1.0,uid=my_user,gid=users //192.168.1.1/Data5 /external/Data5
mount.cifs kernel mount options: ip=192.168.1.1,unc=\\192.168.1.1\Data5,vers=1.0,uid=1000,gid=100,user=my_user,pass=********

# ls -lah /external/
total 0
drwxr-xr-x 1 root   root   76 Apr 13  2021 .
drwxr-xr-x 1 root   root  422 Sep  4 14:26 ..
drwxr-xr-x 1 my_user users   0 Jul 28  2018 Data1
drwxr-xr-x 1 my_user users   0 Nov 26  2019 Data2
drwxr-xr-x 1 my_user users   0 Jul 27  2018 Data3
drwxr-xr-x 1 my_user users   0 Jul 27  2018 Data4
drwxrwxrwx 1 root   root     0 Jul 27 14:14 Data5
drwxr-xr-x 1 my_user users   0 Apr 13  2021 Data6

# id my_user
uid=1000(my_user) gid=100(users) groups=491(cdrom),463(vboxusers),100(users)

私は何を見逃していますか?

よろしくお願いします。

編集:追加情報...

mount cifs は root としてのみ実行できます。

# whoami
my_user

# mount -v -t cifs -o username=my_user,password=my_pass,vers=1.0,uid=my_user,gid=users //192.168.1.1/Data5 /external/Data5
This program is not installed setuid root -  "user" CIFS mounts not supported.

sudoはうまくいきます。

# sudo mount -v -t cifs -o username=my_user,password=my_pass,vers=1.0,uid=my_user,gid=users //192.168.1.1/Data5 /external/Data5
mount.cifs kernel mount options: ip=192.168.1.1,unc=\\192.168.1.1\Data5,vers=1.0,uid=1000,gid=100,user=my_user,pass=********

しかし、最終結果は同じです。ルートとしてマウントします。

# ls -lah /external/
total 0
drwxr-xr-x 1 root   root   76 Apr 13  2021 .
drwxr-xr-x 1 root   root  422 Sep  4 14:26 ..
drwxr-xr-x 1 my_user users   0 Jul 28  2018 Data1
drwxr-xr-x 1 my_user users   0 Nov 26  2019 Data2
drwxr-xr-x 1 my_user users   0 Jul 27  2018 Data3
drwxr-xr-x 1 my_user users   0 Jul 27  2018 Data4
drwxrwxrwx 1 root   root     0 Jul 27 14:14 Data5
drwxr-xr-x 1 my_user users   0 Apr 13  2021 Data6

私のfstabは次のようになります

# cat /etc/fstab | grep Data5
//192.168.1.1/Data5                       /external/Data5            cifs   user,nofail,x-systemd.device-timeout=10,x-systemd.automount,x-systemd.idle-timeout=60,uid=my_user,gid=users,username=my_user,password=my_pass,vers=1.0 0  0

どちらが正常に実行されますか?

# sudo mount -a

しかし、まだrootとしてインストールされています

# ls -lah /external/
total 16K
drwxr-xr-x 1 root   root    76 Apr 13  2021 .
drwxr-xr-x 1 root   root   422 Sep  4 14:26 ..
drwxr-xr-x 1 my_user users  12K Nov  4 14:14 Data1
drwxr-xr-x 8 my_user users  170 May  6  2021 Data2
drwxr-xr-x 2 my_user users 4.0K Oct  4 10:04 Data3
drwxr-xr-x 5 my_user users  110 Nov 19 12:02 Data4
drwxrwxrwx 1 root   root      0 Jul 27 14:14 Data5
drwxr-xr-x 1 my_user users    0 Apr 13  2021 Data6

まだ混乱しています!

編集2 ...

部分的な解決策。

forceuidとforcegid固定所有権を追加しましたが、file_modeとdir_modeを使用してもモードを設定できませんでした。

# mount -v -t cifs -o username=my_user,password=my_pass,uid=my_user,gid=users,forceuid,forcegid,file_mode=0755,dir_mode=0755,vers=1.0 //192.168.1.1/Data5 /external/Data5
mount.cifs kernel mount options: ip=192.168.1.1,unc=\\192.168.1.1\Data5,forceuid,forcegid,file_mode=0755,dir_mode=0755,vers=1.0,uid=1000,gid=100,user=my_user,pass=********

# ls -lah /external/
total 0
drwxr-xr-x 1 root   root   76 Jan 25 14:20 .
drwxr-xr-x 1 root   root  422 Sep  4 14:26 ..
drwxr-xr-x 1 my_user users   0 Jul 28  2018 Data1
drwxr-xr-x 1 my_user users   0 Nov 26  2019 Data2
drwxr-xr-x 1 my_user users   0 Jul 27  2018 Data3
drwxr-xr-x 1 my_user users   0 Jul 27  2018 Data4
drwxrwxrwx 1 my_user users   0 Jul 27 14:14 Data5
drwxr-xr-x 1 my_user users   0 Apr 13  2021 Data6

これでパターンだけを把握すればいいのに…

答え1

(a)共有にアクセスする唯一の人であり、(b)とにかくモード変更がCIFSファイルシステムに書き戻されないため、モードが777か755かは重要ではないと思いました。したがって、次の方法で問題を解決します。

# mount -v -t cifs -o username=my_user,password=my_pass,uid=my_user,gid=users,forceuid,forcegid,vers=1.0 //192.168.1.1/Data5 /external/Data5
mount.cifs kernel mount options: ip=192.168.1.1,unc=\\192.168.1.1\Data5,forceuid,forcegid,file_mode=0755,dir_mode=0755,vers=1.0,uid=1000,gid=100,user=my_user,pass=********

# ls -lah /external/
total 0
drwxr-xr-x 1 root   root   76 Jan 25 14:20 .
drwxr-xr-x 1 root   root  422 Sep  4 14:26 ..
drwxr-xr-x 1 my_user users   0 Jul 28  2018 Data1
drwxr-xr-x 1 my_user users   0 Nov 26  2019 Data2
drwxr-xr-x 1 my_user users   0 Jul 27  2018 Data3
drwxr-xr-x 1 my_user users   0 Jul 27  2018 Data4
drwxrwxrwx 1 my_user users   0 Jul 27 14:14 Data5
drwxr-xr-x 1 my_user users   0 Apr 13  2021 Data6

そしてfstabに対応する内容は次のとおりです。

# cat /etc/fstab | grep Data5
//192.168.1.1/Data5 /external/Data5 cifs user,nofail,x-systemd.device-timeout=10,x-systemd.automount,x-systemd.idle-timeout=60,uid=my_user,gid=users,credentials=/root/.data5cred,vers=1.0,forceuid,forcegid 0  0

これが誰かに役立つことを願っています。

注1:権利を修正する解決策を知っている人がいれば、学習の観点からまだ興味があります。

注2:突然forceuidとforcegidを指定する理由を知っている人がいる場合は、そうします。非常に聞きたいのなら!

みんな乾杯してください!

答え2

あなたのコメントによると、mount.cifsSUIDではないため、root以外のユーザーとしてインストールを実行することはできません。/bin/mountただし、にリストされているパスのみを使用できます/etc/fstab

これが以前に動作していた場合、誰かがSUIDビットを設定した可能性が高く、/sbin/mount.cifsこれは人々が怒ってしまうでしょう。

/etc/fstab制限されたファイルに含まれるログインの詳細とともに詳細を入力することをお勧めします。詳細についてはに記載されていますが、man mount.cifs次のようになります。

//192.168.1.1/Data5 /external/Data5 cifs username=my_user,credentials=<some file>,user 0 0

これには、some fileユーザー名、パスワード、ドメインを含める必要があります。詳しくはマニュアルページをご覧ください。

答え3

個人情報を使用して接続するには、誰もが見ることができるように、パブリックサーバーで個人情報を交換する必要があります。

sudo touch cred.txt
echo "USER hangbroktim PASS CreepyPoniesInTheNight34767248932654678497632785468932458769823584" >> cred.txt
mount -v -t cifs -o passloader cred.txt

関連情報