public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: "Gerald S. Williams" <gsw@agere.com>
To: "Jason Tishler" <jason@tishler.net>, <cygwin@cygwin.com>
Subject: RE: Finding your SID (was Re: problem starting inetd as NT service)
Date: Thu, 09 May 2002 04:29:00 -0000	[thread overview]
Message-ID: <GBEGLOMMCLDACBPKDIHFAEDBCIAA.gsw@agere.com> (raw)
In-Reply-To: <20020508201144.GA1252@tishler.net>

Jason Tishler wrote:
> You can find your SID (the "proper info" from above), by scanning through
> the following registry key:
> 
>     HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
> 
> Choose the one where ProfileImagePath contains your $USERNAME.

After expanding variables, I was able to look for where
ProfileImagePath is equal to $USERPROFILE. YMMV.

I was able to come up with a short script that does the
equivalent of "mkpasswd -d -u $USERNAME" on my system.

However, I did not know what to do about the group
number. Based on my system and other e-mail I've seen,
I just hardcoded 513 for now, but that's probably not
universally correct. Is there any way to get that info
from the registry?


-Jerry


P.S. Here's the script I used. It's in Python, and only
works using the WINDOWS version right now since Cygwin
Python doesn't support the _winreg module.
-----
#!/usr/bin/echo THIS_IS_ONLY_FOR_WINDOWS_PYTHON

from _winreg import *
from os import environ

class User:
    def __init__(self,masterkey,sid):
        self.sid = sid
        userkey = OpenKey(masterkey,sid)
        self.data = {}
        for valueno in range(QueryInfoKey(userkey)[1]):
            (name,data,type) = EnumValue(userkey,valueno)
            self.data[name] = data
        userkey.Close()
        profilePath = self.data['ProfileImagePath'].split("%")
        for i in range(1,len(profilePath),2):
            profilePath[i] = environ[profilePath[i]]
        self.profilePath = "".join(profilePath)

users = []

masterkey = OpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList")
for userno in range(QueryInfoKey(masterkey)[0]):
    users.append(User(masterkey,EnumKey(masterkey,userno)))
masterkey.Close()

profilePath = environ["USERPROFILE"]
userName = environ["USERNAME"]
userDomain = environ["USERDOMAIN"]

for user in users:
    if user.profilePath == profilePath:
        # Not clear what to use for group ID. Is 513 universally OK?
        # This assumes you want your home directory in /home/userName
        print ":".join([userName, \
                        "unused_by_nt/2000/xp", \
                        user.sid.split("-")[-1],
                        "513", \
                        "U-" + userDomain + "\\" + userName + "," + user.sid, \
                        "/home/" + userName, \
                        "/bin/bash"])

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

  reply	other threads:[~2002-05-09 11:12 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-08  4:43 problem starting inetd as NT service Mellman Thomas
2002-05-08  7:37 ` Larry Hall (RFK Partners, Inc)
2002-05-08 13:25   ` Finding your SID (was Re: problem starting inetd as NT service) Jason Tishler
2002-05-09  4:29     ` Gerald S. Williams [this message]
2002-05-09  6:05       ` Jason Tishler
2002-05-09  7:51         ` Gerald S. Williams
2002-05-09  8:12           ` Jason Tishler
2002-05-09 15:43             ` Gerald S. Williams
2002-05-20  9:55               ` Jason Tishler
2002-05-30  9:10                 ` Jason Tishler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=GBEGLOMMCLDACBPKDIHFAEDBCIAA.gsw@agere.com \
    --to=gsw@agere.com \
    --cc=cygwin@cygwin.com \
    --cc=jason@tishler.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).