Skip to content

Commit

Permalink
Update other instances of os.Chown to os.Lchown
Browse files Browse the repository at this point in the history
None of these cases should expect a symlink that would need to be followed.
  • Loading branch information
jentfoo committed Oct 2, 2023
1 parent 83f7aaa commit 95c3ab8
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 8 deletions.
6 changes: 3 additions & 3 deletions lib/events/auditlog.go
Original file line number Diff line number Diff line change
Expand Up @@ -296,15 +296,15 @@ func NewAuditLog(cfg AuditLogConfig) (*AuditLog, error) {
return nil, trace.ConvertSystemError(err)
}
if cfg.UID != nil && cfg.GID != nil {
err := os.Chown(cfg.DataDir, *cfg.UID, *cfg.GID)
err := os.Lchown(cfg.DataDir, *cfg.UID, *cfg.GID)
if err != nil {
return nil, trace.ConvertSystemError(err)
}
err = os.Chown(sessionDir, *cfg.UID, *cfg.GID)
err = os.Lchown(sessionDir, *cfg.UID, *cfg.GID)
if err != nil {
return nil, trace.ConvertSystemError(err)
}
err = os.Chown(al.playbackDir, *cfg.UID, *cfg.GID)
err = os.Lchown(al.playbackDir, *cfg.UID, *cfg.GID)
if err != nil {
return nil, trace.ConvertSystemError(err)
}
Expand Down
2 changes: 1 addition & 1 deletion lib/service/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -2878,7 +2878,7 @@ func (process *TeleportProcess) initUploaderService() error {
}
if uid != nil && gid != nil {
log.Infof("Setting directory %v owner to %v:%v.", dir, *uid, *gid)
err := os.Chown(dir, *uid, *gid)
err := os.Lchown(dir, *uid, *gid)
if err != nil {
return trace.ConvertSystemError(err)
}
Expand Down
2 changes: 1 addition & 1 deletion lib/srv/reexec.go
Original file line number Diff line number Diff line change
Expand Up @@ -403,7 +403,7 @@ func RunCommand() (errw io.Writer, code int, err error) {
if err != nil {
return errorWriter, teleport.RemoteCommandFailure, trace.Wrap(err)
}
if err := os.Chown(c.X11Config.XServerUnixSocket, uid, gid); err != nil {
if err := os.Lchown(c.X11Config.XServerUnixSocket, uid, gid); err != nil {
return errorWriter, teleport.RemoteCommandFailure, trace.Wrap(err)
}

Expand Down
2 changes: 1 addition & 1 deletion lib/srv/term.go
Original file line number Diff line number Diff line change
Expand Up @@ -472,7 +472,7 @@ func (t *terminal) setOwner() error {
return trace.Wrap(err)
}

err = os.Chown(t.tty.Name(), uid, gid)
err = os.Lchown(t.tty.Name(), uid, gid)
if err != nil {
return trace.Wrap(err)
}
Expand Down
4 changes: 2 additions & 2 deletions lib/teleagent/agent.go
Original file line number Diff line number Diff line change
Expand Up @@ -131,15 +131,15 @@ func (a *AgentServer) updatePermissions(user *user.User) error {

testPermissions()

if err := os.Chown(a.Path, uid, gid); err != nil {
if err := os.Lchown(a.Path, uid, gid); err != nil {
return trace.ConvertSystemError(err)
}

testPermissions()

// To prevent a privilege escalation attack, this must occur
// after the socket permissions are updated.
if err := os.Chown(a.Dir, uid, gid); err != nil {
if err := os.Lchown(a.Dir, uid, gid); err != nil {
return trace.ConvertSystemError(err)
}

Expand Down

0 comments on commit 95c3ab8

Please sign in to comment.