Hi,
請問一下,甚麼情況下可能出現以下的 owner, group 的狀況
在一個 terminal 上 (我是 817.100)
[email protected]:/mnt/sdc1_vfat$ id
uid=817(cuello) gid=100(users) groups=100(users)
[email protected]:/mnt/sdc1_vfat$ ls -ldn .
drwxr-xr-x 16 817 100 4096 Jan 1 1970 .
(這個資料夾是 817.100 的)
[email protected]:/mnt/sdc1_vfat$ ls -CF
(很多東西省略了)
但是在另一個 termninal 上卻是 (我還是 817.100)
[email protected]:/mnt/sdc1_vfat$ id
uid=817(cuello) gid=100(users) groups=100(users)
[email protected]:/mnt/sdc1_vfat$ ls -ldn .
drwxr-xr-x 2 817 0 4096 Oct 15 22:33 .
(這個資料夾是 817.0 的!!!)
[email protected]:/mnt/sdc1_vfat$ ls -CF
(門都沒有)
好吧,那就給它...
[email protected]:/mnt/sdc1_vfat$ sudo chown 817.100 .
[email protected]:/mnt/sdc1_vfat$ ls -ldn .
drwxr-xr-x 2 817 100 4096 Oct 15 22:33 .
("817.100" 總這樣總該可以了吧... 但是)
[email protected]:/mnt/sdc1_vfat$ ls -CF
(還是甚麼都沒有)
事情是這樣子的: 我一直都在用自己寫的 automounter。
就是去勾在 udev, 當插入 USB 隨身碟,或是 SD 卡的時候,
自動檢查裡面的 filesystem,
然後用我的 X11 的 id 自動開一個 X-terminal。
前者,那個"第一個"就是我的 automounter 開的。
但是我常常從另一個 X-terminal 工作,這就是"另一個"。
許多年來,相安無事,直到最近,從別的 terminal "沒有 access"!
因為最近一波勤於 compile 更新 kernels,就趕快 boot 一下別的核心,
試過了 4.14.75 3.16.58 4.9.130 卻都是同樣的狀況....
剛才,查了一下 logfile,是 (我省略了一些 opts)
sudo mount -o nosuid,uid=817,gid=100,users -t vfat /dev/sdc1 /mnt/sdc1_vfat/
從外面試,也都如預期.
因為情況有點複雜,所以選擇由以上角度切入,
看看會不會有甚麼線索。
如果需要提供進一步細節,請不吝指教。
===============================================================
[後記: 1539625745]
剛才在 mount 前面加了 sudo chown 817.100 /mnt/sdc1_vfat/
先前只有 "chown 817",現在從其它 terminals 看,
雖然資料夾是 817.100 的,但是一樣,從其它 terminals 看,
裡面甚麼也沒有。
這個 "automounter" 是儘可能 portable 的 #!/bin/sh shell-script。
用一個 hook (/etc/udev/rules.d/99-udsh.rules) 攔截所有 udev-events
之後,用 su 變換為 user 權限,叫出下一步的 wrapper script,
這個 wrapper 再用 setsid(1) 叫 automounter 並 detach,
所以沒有被 systemd-udev 追殺的問題。
是個常用的自用程式,例如,插入 USB 隨身碟,
聲響,自動 mount,有幾個 partition 就自動開幾個窗子,
每關掉一個窗子(^D),那個 partition 就自動 umount。
如此而以。一直都在正常使用,是甚麼時候開始這樣,
我也搞不清楚,最近都是緊緊跟著 kernel 4.14.x