我不小心從多個群組中刪除了我的用戶,我如何找出他們是什麼?

我不小心從多個群組中刪除了我的用戶,我如何找出他們是什麼?

當嘗試將我的用戶添加到一個新群組來運行應用程式(Kismet)時,我不小心將其設置為我的用戶所在的唯一群組groups。群組,但是當我登入時退出並重新登入以保存我的更改,其他群組都消失了。

我有 root 存取權限,但我的 bash 歷史記錄不顯示輸出。

我如何知道我屬於哪些組別?我知道如何將自己添加回其中,但不知道如何弄清楚它們是什麼。

答案1

我之前已經搜尋過,但剛剛找到了這個答案,它基本上解決了我的需求:Ubuntu 中使用者的預設群組?

  1. 以 root 身分登入(因為我已從 sudoers 群組中刪除):

    su - root

  2. 列出建立我的使用者的設定日誌

    grep user-setup /var/log/installer/syslog

  3. 然後我運行命令(使用上述命令中的群組列表)

    usermod -a -G adm,cdrom,lpadmin,sudo,sambashare,dip username

  4. 登出並重新登錄,完成!

答案2

如果您仍然在任何地方登錄,則可以執行該命令groups來列出正在運行的進程所在的群組。在某處運行,您可以列出該進程的群組,ps -o rgroup,supgrp 1234其中1234是進程 ID(對於 Linux,語法在其他 Unix 變體上可能有所不同)。

每當您更改帳戶的某些內容時,最好保持登入狀態並嘗試登入另一個終端以驗證變更!

如果您使用vigr或某些足夠相容的工具,它會在/etc/group-.這並不適用於所有工具,例如addgroupDebian 上的命令不會備份。再次編輯檔案之前,請先複製備份,否則它將被覆蓋。

經常備份/etc.我建議使用等等管理員(在大多數 Linux 發行版上可用)在版本控制下保留完整的歷史記錄(etckeeper 在安裝軟體包之前和之後自動進行,但無論如何您都應該使用有意義的日誌訊息手動提交所有更改)。

相關內容