
當嘗試將我的用戶添加到一個新群組來運行應用程式(Kismet)時,我不小心將其設置為我的用戶所在的唯一群組groups
。群組,但是當我登入時退出並重新登入以保存我的更改,其他群組都消失了。
我有 root 存取權限,但我的 bash 歷史記錄不顯示輸出。
我如何知道我屬於哪些組別?我知道如何將自己添加回其中,但不知道如何弄清楚它們是什麼。
答案1
我之前已經搜尋過,但剛剛找到了這個答案,它基本上解決了我的需求:Ubuntu 中使用者的預設群組?
以 root 身分登入(因為我已從 sudoers 群組中刪除):
su - root
列出建立我的使用者的設定日誌
grep user-setup /var/log/installer/syslog
然後我運行命令(使用上述命令中的群組列表)
usermod -a -G adm,cdrom,lpadmin,sudo,sambashare,dip username
登出並重新登錄,完成!
答案2
如果您仍然在任何地方登錄,則可以執行該命令groups
來列出正在運行的進程所在的群組。在某處運行,您可以列出該進程的群組,ps -o rgroup,supgrp 1234
其中1234
是進程 ID(對於 Linux,語法在其他 Unix 變體上可能有所不同)。
每當您更改帳戶的某些內容時,最好保持登入狀態並嘗試登入另一個終端以驗證變更!
如果您使用vigr
或某些足夠相容的工具,它會在/etc/group-
.這並不適用於所有工具,例如addgroup
Debian 上的命令不會備份。再次編輯檔案之前,請先複製備份,否則它將被覆蓋。
經常備份/etc
.我建議使用等等管理員(在大多數 Linux 發行版上可用)在版本控制下保留完整的歷史記錄(etckeeper 在安裝軟體包之前和之後自動進行,但無論如何您都應該使用有意義的日誌訊息手動提交所有更改)。