Linux
我的文件是用錯誤的所有者創建的
在我的情況下,當我以使用者 ludow 創建文件或文件夾時,文件或文件夾的所有者是 root
例子
❯ whoami ludow
❯ touch test ❯ ls -al | grep test -rwxrwxrwx 1 root root 0 30 oct. 21:02 test
chown 不工作
❯ chown -v ludow:ludow test membership of 'test' changed from root:root to ludow:ludow
主人不變
❯ ls -al | grep test -rwxrwxrwx 1 root root 0 30 oct. 21:02 test
我所有的文件都歸 root 所有,即使是那些不應該的
這是有關我的環境的一些資訊
❯ neofetch ' ludow@Spiron 'o' ------------ 'ooo' OS: Artix Linux x86_64 'ooxoo' Host: Inspiron 15 5510 'ooxxxoo' Kernel: 6.0.5-x64v1-xanmod1 'oookkxxoo' Uptime: 54 mins 'oiioxkkxxoo' Packages: 1252 (pacman), 5 (flatpak) ':;:iiiioxxxoo' Shell: zsh 5.9 `'.;::ioxxoo' Resolution: 1920x1080, 1920x1080 '-. `':;jiooo' DE: Plasma 5.26.2 'oooio-.. `'i:io' WM: KWin 'ooooxxxxoio:,. `'-;' Theme: Artix-dark [Plasma], Artix-dark [GTK2/3] 'ooooxxxxxkkxoooIi:-. `' Icons: [Plasma], Colloid-nord-dark [GTK2/3] 'ooooxxxxxkkkkxoiiiiiji' Terminal: alacritty 'ooooxxxxxkxxoiiii:'` .i' CPU: 11th Gen Intel i5-11320H (8) @ 4.500GHz 'ooooxxxxxoi:::'` .;ioxo' GPU: Intel TigerLake-LP GT2 [Iris Xe Graphics] 'ooooxooi::'` .:iiixkxxo' Memory: 3500MiB / 7696MiB 'ooooi:'` `'';ioxxo' 'i:'` '':io' '` `'
在不重新安裝作業系統的情況下恢復預設行為的解決方案是什麼?
/etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass> UUID=5895-EEC1 /boot/efi vfat umask=0077 0 2 UUID=04cddafd-0517-4528-a181-d4592f483992 / xfs defaults,noatime 0 1 UUID=9cfe2ed5-6cc5-4a67-8bf8-bad85c9a3f3d swap swap defaults,noatime 0 0 UUID=05F56DAC5B0B310A /home ntfs defaults,noatime 0 2 tmpfs /tmp tmpfs defaults,noatime,mode=1777
您的主目錄是一個 NTFS 分區(來自 Microsoft Windows)。NTFS 具有與 Linux 非常不同的權限模型,因此使用者不能直接映射到開箱即用的 Linux。
您看到的行為是預設行為,分區中的所有文件都被自動解釋為歸
root
.我相信現在有一種方法可以將 NTFS 使用者映射到 Linux 使用者,您可能需要花一些時間在 google 上找出方法。這裡有一些參考:https ://man.archlinux.org/man/extra/ntfs-3g/ntfsusermap.8.en
作為一般規則,讓您的 Windows 主目錄與您的 Linux 主目錄完全相同並不是一個好主意。應用程序將嘗試使用配置和記憶體等將文件儲存在主目錄的根目錄中。如果您碰巧在兩個作業系統上安裝了相同的應用程序,您可能會發現記憶體或配置差異足以使應用程序在一個作業系統或另一個作業系統中混淆.
通常最好共享一個子目錄(甚至
~/Documents
可能),但根目錄~
是分開的。