使用者 XXXX 不存在 - 使用 root?

使用者 XXXX 不存在 - 使用 root?

在 makefile 中,我使用了「安裝」指令,如下所示

指令:'安裝-o 1010 -g 100 -m 0755 -D 路徑'

我不想檢查使用者名稱和群組名,而是想檢查 uid 和 gid。

考慮以下場景。

步驟1:

系統1:UID 1010對應的用戶為「XXXX」。使用“System 1”建立 RPM 安裝程式。

第2步:

系統 2:UID 1010 對應的使用者是“YYYY” 在安裝 RPM 檔案時,我們收到一則警告訊息:“警告:使用者 XXXX 不存在 – 使用 root”

在此步驟中,我假設登入使用者的 UID 應等於“1010”,RPM 安裝程式才能成功安裝。但實際發生的情況是,RPM 安裝程式希望安裝系統中的使用者名稱相同

答案1

好吧,在不同的機器上,uid/oid/gid 可以有不同的值,除非您使用 LDAP 之類的東西。即使如此,系統上定義的使用者也將擁有自己的 id。無法保證使用者將存在於另一台電腦上。

也許您應該進一步解釋您的用例?

答案2

使用%filesRPM 檔案的部分.spec來設定已安裝系統(問題中的系統 2)上預期的所有權。

您也可以使用%preRPM 檔案的部分.spec來確定已安裝的系統(問題中的系統 2)上是否實際存在預期的使用者和群組。

%files
# Set file permissions and ownership

%pre
# Check if expected user 'myuser' exists. If not, exit with an error.
# Check if expected group 'mygroup' exists. If not, exit with an error

延伸閱讀:rpm.org

相關內容