code: func (a *ACL) AddBaseEntries(path string) error {
  	fi, err := os.Lstat(path)
  	if err != nil {
  		return err
  	}
  	mode := fi.Mode().Perm()
  	var r, w, x bool
  
  	// set USER_OBJ entry
  	r = mode&userRead == userRead
  	w = mode&userWrite == userWrite
  	x = mode&userExec == userExec
  	if err := a.addBaseEntryFromMode(TagUserObj, r, w, x); err != nil {
  		return err
  	}
  
  	// set GROUP_OBJ entry
  	r = mode&groupRead == groupRead
  	w = mode&groupWrite == groupWrite
  	x = mode&groupExec == groupExec
  	if err := a.addBaseEntryFromMode(TagGroupObj, r, w, x); err != nil {
  		return err
  	}
  
  	// set OTHER entry
  	r = mode&otherRead == otherRead
  	w = mode&otherWrite == otherWrite
  	x = mode&otherExec == otherExec
  	if err := a.addBaseEntryFromMode(TagOther, r, w, x); err != nil {
  		return err
  	}
  
  	return nil
  }
docs: // AddBaseEntries adds the base ACL entries from the file permissions.