debian (?) - 根據現有使用者創建新使用者(複製配置、應用程序等)
我想要達到的目標:
使用已建立的使用者創建多個新使用者,每個新使用者都具有相同的啟動設置、相同的應用程序(例如 Slack)、相同的配置(例如安裝的 conda 和定義的核心)等,而無需再次進入並執行整個設置過程。
我試過的:
1:我讀了這個問題 Clone Linux user (copy user, based on another)並找到了這個答案https://unix.stackexchange.com/a/268405,我嘗試了這個問題,同時它創建了具有正確權限的新使用者和一切,它並沒有像我希望的那樣複製一切。
2:我讀過很多其他的東西,要麼是在一些第三方部落格上複製粘貼的問題和答案,要麼是類似於“是的,linux 本身不支持”的內容(因此上面的腳本答案)。
是否可以在將帳戶設置為所需狀態後“複製”使用者,以便不必從頭開始設置新使用者?
是的,這是可能的。非常古老
/etc/skel
的就是為此而設計的!但這不是關於“複製”,而是更多關於“為新使用者定義模板”。當您用於
adduser
創建使用者時,它將從/etc/skel
. 通常這只是.bashrc
and.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
,然後確保新使用者在創建時屬於該組。