如何知道哪些使用者/群組可以安全刪除?

如何知道哪些使用者/群組可以安全刪除?

UPDATE:到目前為止,沒有人能夠回答這個問題,我得到的答覆是我預測的,我要求人們不要回覆。當我要求他們提供答案的支持(證明)時…蟋蟀。然後我就投票支持它?嚴重地?你們有誰投了反對票,願意解釋為什麼投反對票嗎?

在另一個人告訴我之前全部該發行版安裝的用戶是必需的請解釋刪除以下任何使用者時哪些服務或功能會中斷或出錯:adm games operator?


我想知道如何確定可以安全刪除哪些使用者和群組。是不是就像沒有進程像它們一樣運行並且沒有它們擁有的檔案一樣簡單?

我使用的是CentOS8。是否有關於每個用戶/群組開箱即用的官方文檔,它們的用途是什麼,哪些只是為了它而存在,哪些是有目的的?

我發現一篇 Redhat 文章列出了「可選用戶」。我認為這意味著不需要並且可以將其刪除。其中之一是用戶nobody。可悲的是,在刪除它之後,我發現核心實際上需要它,我不得不將它放回去。可選的就這麼多。

有許多群組沒有立即分配任何用戶,例如sys mem kmem wheel man。這些可以簡單地刪除嗎?

有些群組disk tape floppy video cdrom用於授予使用者對硬體的存取權限。如果我從不打算將用戶分配給任何這些群組,我可以刪除它們,還是它們與硬體綁定並且如果刪除會破壞東西?

我還發現一些類似的群組utmp utempter ssh_keys slocate postdrop沒有任何用戶,但擁有這些群組所有權的文件。一個檔案怎麼可能被賦予一個沒有使用者可以使用的群組?

我在網上閱讀了有關該主題的盡可能多的內容,我看到的第一個答案是,不要擔心它們,不要打擾它們。這不是我所問問題的答案。我並不是詢問人們的意見是否應該刪除系統不會錯過的使用者或群組。我要求了解如何確定哪些使用者和群組正在使用以及哪些可以在不破壞任何內容的情況下刪除。

答案1

我想知道如何確定可以安全刪除哪些使用者和群組。是不是就像沒有進程像它們一樣運行並且沒有它們擁有的檔案一樣簡單?

在靜態系統上,幾乎 - 您還應該檢查是否沒有服務或 udev 規則引用它們,並且沒有 cron 作業或基於計時器的作業需要它們。

在基於 Fedora 的系統(包括 RHEL 和 CentOS)上,您可以透過執行來檢查保留使用者/群組

cat /usr/share/doc/setup*/uidgid

這會給你一些至少在某些情況下,了解給定使用者和/或群組的用途。特別是,它將列出許多用戶和群組的「所有者」包;如果您不使用相應的軟體包,且使用者和/或群組仍然存在於您的系統上,請隨時將其刪除。

有許多群組沒有立即分配任何用戶,例如sys mem kmem wheel man。這些可以簡單地刪除嗎?

其中一些用於設備,例如 /dev/kmem,並且不應該被刪除。其他的大部分現在都是歷史文物,保存下來是為了避免損壞任何東西;如果您知道不需要它們,則可以將其刪除(但請參見下文)。

有些群組disk tape floppy video cdrom用於授予使用者對硬體的存取權限。如果我從不打算將用戶分配給任何這些群組,我可以刪除它們,還是它們與硬體綁定並且如果刪除會破壞東西?

同樣,其中一些用於設備,因此請先檢查一下。

我還發現一些類似的群組utmp utempter ssh_keys slocate postdrop沒有任何用戶,但擁有這些群組所有權的文件。一個檔案怎麼可能被賦予一個沒有使用者可以使用的群組?

這適用於系統管理員可能希望向使用者授予對這些檔案的存取權限的場景,其粒度比讓他們自己成為系統管理員更細,或者可能適用於守護進程或定期運行的命令,這些命令將在運行時假定相應的組。

同樣,在靜態系統上,請隨意刪除使用者和群組。畢竟,如果它破壞了您的系統,您知道如何修復它;由於您運行的系統沒有簽訂支援合同,因此您不會因此而冒影響您的支援能力的風險。

您可能遇到的主要問題是將來安裝軟體包時:您可能會安裝一個假定存在知名使用者和/或群組的軟體包,如果不存在,則安裝失敗。我不確定這樣的包會是符合政策,或即使仍然存在任何此類軟體包,但這是一種可能性,也是避免刪除用戶和群組的主要原因。

相關內容