Linux

debian (?) - 根據現有使用者創建新使用者(複製配置、應用程序等)

  • February 14, 2022

我想要達到的目標:

使用已建立的使用者創建多個新使用者,每個新使用者都具有相同的啟動設置、相同的應用程序(例如 Slack)、相同的配置(例如安裝的 conda 和定義的核心)等,而無需再次進入並執行整個設置過程。

我試過的:

1:我讀了這個問題 Clone Linux user (copy user, based on another)並找到了這個答案https://unix.stackexchange.com/a/268405,我嘗試了這個問題,同時它創建了具有正確權限的新使用者和一切,它並沒有像我希望的那樣複製一切。

2:我讀過很多其他的東西,要麼是在一些第三方部落格上複製粘貼的問題和答案,要麼是類似於“是的,linux 本身不支持”的內容(因此上面的腳本答案)。

是否可以在將帳戶設置為所需狀態後“複製”使用者,以便不必從頭開始設置新使用者?

是的,這是可能的。非常古老/etc/skel的就是為此而設計的!但這不是關於“複製”,而是更多關於“為新使用者定義模板”。

當您用於adduser創建使用者時,它將從/etc/skel. 通常這只是.bashrcand .profile,但它可以包含您喜歡的任何內容。

如果您有一個非常簡單的使用者設置(即新創建和設置您喜歡的方式,沒有任何個人內容),那麼您只需將主目錄複製到/etc/skel/. 當您使用 創建新使用者時adduser,這些文件將被複製到新使用者的主目錄。

對於您的具體要點:

  • 開始設置。特定於使用者的服務位於~/.config/systemd/user. 自動啟動桌麵條目位於~/.config/autostart. 通過將現有的主目錄複製給/etc/skel您,可以保留這些內容。

  • 應用程序(例如 Slack)。debian 上的應用程序(或至少應該)安裝在系統範圍內。如果您使用sudo apt install slack,即使它來自第三方儲存庫,它也會在系統範圍內安裝。我不太確定snapd包裹。如果您只關心現有機器上的新使用者,那麼是的,應用程序(例如 slack)也都為該新使用者安裝。

  • 相同的配置(例如安裝的 conda 和定義的核心)等。這有點寬泛。

    • 相同的配置 是的。這可能包括深色主題、瀏覽器首頁、瀏覽器書籤和 bash 別名等等。這些都儲存在您的主目錄中,因此將主目錄複製到/etc/skel將保留它。
    • 核心定義,核心是系統範圍的。同一系統上的所有使用者都將執行相同的核心。
    • conda:是的,所有應用程序都安裝在系統範圍內(根據前一點)。我看到那conda是一個包管理器。如果它在系統範圍內安裝東西,那麼所有使用者都將擁有它,即使對/etc/skel. 如果它將東西安裝到主目錄,則需要將這些東西放入/etc/skel新使用者的主目錄。

/home/exampleuser簡單複製到之前的一些註釋/etc/skel。確保您使用新的、無菌的使用者帳戶執行此操作。ssh private 和 authorized_keys 之類的東西也在主目錄中。你可能不希望那些被複製。個人數據也可能存在於此處,因此請確保在需要時清除所有這些數據。

此外,您的使用者在主目錄之外的權限也不會被複製。通常,您的使用者應該只在他們自己的目錄中擁有東西。

如果您對權限有任何特殊要求,那麼確保這些要求由組處理可能是個好主意。例如,如果您希望您的使用者可以使用 訪問某些命令,請確保為組sudo定義這些權限/etc/sudoers,然後確保新使用者在創建時屬於該組。

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