Calamares Install User Group
相關討論
期望的系統
在我期望的系統
執行下面指令
id
應該顯示類似如下
uid=1000(sam) gid=1000(sam) groups=1000(sam),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),106(netdev),112(bluetooth),114(lpadmin),117(scanner)
我的期望
- 讓「uid」保持「1000」
- 讓「gid」保持「1000」
遭遇情境
關於「Calamares Installer」的設定
我是複製「Package: calamares-settings-debian」的內容來修改而成的。
其中有一個模組設定「/etc/calamares/modules/users.conf」,內容如下
---
userGroup: users
defaultGroups:
- cdrom
- floppy
- sudo
- audio
- dip
- video
- plugdev
- netdev
- lpadmin
- scanner
- bluetooth
autologinGroup: autologin
sudoersGroup: sudo
setRootPassword: false
上面有設定兩個「lpadmin
」和「scanner
」這兩個「User Group」,
若是「Live系統」沒有這兩個「User Group」,
當透過「Calamares Installer」安裝時,
就會會自動加入這兩個「User Group」,
這樣會影響到「主要User」的「Group ID」不是「1000」,
解方一
編輯模組「/etc/calamares/modules/users.conf」
刪除或是註解「lpadmin
」和「scanner
」那兩行。
解方二
若不刪除「lpadmin
」和「scanner
」那兩行。
就要在產生「目標系統(Live系統)」時,產生「lpadmin
」和「scanner
」這兩個「Group」。
在安裝一些「Package」時,在「Postinst」階段,就會自動產生這兩個「Group」,
可以參考以下的「探索紀錄」,和我整理的「Package List」
探索紀錄
For Group: lpadmin
執行
grep lpadmin /etc/group
顯示
lpadmin:x:114:user
執行
grep lpadmin /var/lib/dpkg/info/*.postinst -R | grep addgroup | less
顯示
/var/lib/dpkg/info/cups-client.postinst: addgroup --system lpadmin
# /var/lib/dpkg/info/cups-daemon.postinst: addgroup --system lpadmin
For Group: scanner
執行
grep scanner /etc/group
顯示
scanner:x:117:saned,user
執行
grep scanner /var/lib/dpkg/info/*.postinst -R | grep addgroup | less
顯示
/var/lib/dpkg/info/colord.postinst: addgroup --quiet --system scanner
/var/lib/dpkg/info/libsane1:amd64.postinst: addgroup --quiet --system scanner || true
執行
grep scanner /var/lib/dpkg/info/*.postinst -R | less
顯示
/var/lib/dpkg/info/apparmor.postinst: for i in usr.bin.media-hub-server usr.bin.mediascanner-service-2.0 usr.lib.mediascanner-2.0.mediascanner-extractor usr.bin.messaging-app usr.bin.webbrowser-app ; do
/var/lib/dpkg/info/colord.postinst:# create the scanner group if it isn't already there
/var/lib/dpkg/info/colord.postinst: if ! getent group scanner >/dev/null; then
/var/lib/dpkg/info/colord.postinst: addgroup --quiet --system scanner
/var/lib/dpkg/info/libsane1:amd64.postinst: # Add the scanner system group if it doesn't exist
/var/lib/dpkg/info/libsane1:amd64.postinst: if ! getent group | grep -q "^scanner:"; then
/var/lib/dpkg/info/libsane1:amd64.postinst: echo "Adding scanner group..."
/var/lib/dpkg/info/libsane1:amd64.postinst: addgroup --quiet --system scanner || true
/var/lib/dpkg/info/sane-utils.postinst: db_get sane-utils/saned_scanner_group
/var/lib/dpkg/info/sane-utils.postinst: adduser --quiet saned scanner
/var/lib/dpkg/info/sane-utils.postinst: if id saned | grep -q "groups=.*\(scanner\)"; then
/var/lib/dpkg/info/sane-utils.postinst: deluser --quiet saned scanner
連結
- Debian Wiki / SystemGroups
- Debian Wiki / Printing
- Debian Wiki / SystemPrinting