1 Star 0 Fork 2

安易科技(北京)有限公司/chameleon

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
user.go 1.04 KB
一键复制 编辑 原始数据 按行查看 历史
Derek Ray 提交于 2025-01-14 14:32 +08:00 . feat(user): add user/group parse support
package utils
import (
"bufio"
"bytes"
"gitee.com/anesec/chameleon/pkg/types"
"path/filepath"
"strings"
)
func LoadUsers(data []byte) (users types.Users, err error) {
users = make(types.Users)
scanner := bufio.NewScanner(bytes.NewReader(data))
for scanner.Scan() {
line := scanner.Text()
if len(line) == 0 {
continue
}
fields := strings.Split(line, ":")
if len(fields) != 7 {
continue
}
users.Add(&types.User{
Name: fields[0],
Uid: fields[2],
Gid: fields[3],
Home: fields[5],
Shell: filepath.Base(fields[6]),
})
}
return users, scanner.Err()
}
func LoadGroups(data []byte) (groups types.Groups, err error) {
groups = make(types.Groups)
scanner := bufio.NewScanner(bytes.NewReader(data))
for scanner.Scan() {
line := scanner.Text()
if len(line) == 0 {
continue
}
fields := strings.Split(line, ":")
if len(fields) != 4 {
continue
}
groups.Add(&types.Group{
Name: fields[0],
Gid: fields[2],
Users: strings.Split(fields[3], ","),
})
}
return groups, scanner.Err()
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/anesec/chameleon.git
git@gitee.com:anesec/chameleon.git
anesec
chameleon
chameleon
205da4a0ed50

搜索帮助