Symlink

更改符號連結的權限

  • July 3, 2018

我有一個具有這些權限的符號連結:

lrwxrwxrwx 1 myuser myuser       38 Aug 18 00:36 npm -> ../lib/node_modules/npm/bin/npm-cli.js*

符號連結位於 .tar.gz 存檔中。現在,當我使用 maven 解壓縮 tar.gz 存檔時,符號連結不再有效。因此,我試圖重建符號連結。首先,我使用ln創建符號連結,但如何設置與原始符號連結相同的權限?

您可以創建一個新的符號連結並將其移動到舊連結的位置。

ln -s <new_location> npm2
mv -f npm2 npm

這將保留連結所有權。或者,您可以使用chown手動設置連結的所有權。

chown -h myuser:myuser npm

在大多數係統上,符號連結權限無關緊要。使用符號連結時,將檢查符號連結目標組件的權限。但是,在某些系統上,它們確實很重要。MacOS 需要對連結的讀取權限readlink,而 NetBSD 的symperm掛載選項會強制對讀取和遍歷進行連結權限檢查。在這些系統(及其相關係統,包括 FreeBSD 和 OpenBSD)上,有一個-hchmod.

chmod -h 777 npm

引用自:https://unix.stackexchange.com/questions/87200