Skip to content

Commit b6ba8b0

Browse files
committed
fix: 解决设置快速登录后,切换用户失败的问题
lightdm的state_user文件安全整改后,改为lightdm用户组 但是dde-system-daemon设置快速登录也会修改该文件,通过g_key_file_save_to_file会创建新文件并覆盖旧文件,会将其权限改成root,导致切换用户时修改文件无权限. Log: 解决切换用户失败的问题 PMS: BUG-339935 Influence: quicklogin
1 parent ed70ec0 commit b6ba8b0

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

accounts1/users/display_manager.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ package users
77
import (
88
"fmt"
99
"os"
10+
"os/user"
1011
"path"
1112
"path/filepath"
1213
"strconv"
@@ -277,7 +278,16 @@ func SetQuickLogin(username string, enabled bool) error {
277278
// 创建目录失败
278279
return err
279280
}
280-
281+
defer func() {
282+
// 保持文件所有权为 root:lightdm
283+
lightdmUser, err := user.Lookup("lightdm")
284+
if err == nil {
285+
lightdmGID, err := strconv.Atoi(lightdmUser.Gid)
286+
if err == nil {
287+
_ = os.Chown(GreeterStateFile, 0, lightdmGID)
288+
}
289+
}
290+
}()
281291
return setIniStringList(GreeterStateFile, greeterStateGroup,
282292
greeterStateKeyQuickLoginUsers, usernames)
283293
}

0 commit comments

Comments
 (0)