Wie ändert man die Benutzer- und Gruppenberechtigungen für ein Verzeichnis, nach Namen?
os.chown ist genau das, was ich will, aber ich wollen, geben Sie die Benutzer und Gruppen nach name und nicht ID (ich weiß nicht, was Sie sind). Wie kann ich das tun?
def chown(path, user=None, group=None):"""Change owner user and group of the given path.
user and group can be the uid/gid or the user/group names, and in that case,
they are converted to their respective uid/gid.
"""if user isNoneand group isNone:raiseValueError("user and/or group must be set")
_user = user
_group = group
# -1 means don't change itif user isNone:
_user =-1# user can either be an int (the uid) or a string (the system username)elif isinstance(user, basestring):
_user = _get_uid(user)if _user isNone:raiseLookupError("no such user: {!r}".format(user))if group isNone:
_group =-1elifnot isinstance(group, int):
_group = _get_gid(group)if _group isNone:raiseLookupError("no such group: {!r}".format(group))
os.chown(path, _user, _group)
InformationsquelleAutor der Antwort Diego Torres Milano
Seit Python 3.3
https://docs.python.org/3.3/library/shutil.html#shutil.chown
Besitzer ändern Benutzer und/oder die Gruppe der angegebenen Pfad.
Benutzer kann ein system-Benutzer-name oder uid;
das gleiche gilt für die Gruppe.
Mindestens ein argument erforderlich ist.
Verfügbarkeit: Unix.
InformationsquelleAutor der Antwort Oleg Neumyvakin
Da die shutil-version unterstützt die Gruppe optional, ich kopieren und einfügen den code zu meinem Python2-Projekt.
https://hg.python.org/cpython/file/tip/Lib/shutil.py#l1010
InformationsquelleAutor der Antwort guettli
Können Sie
id -u wong2
zu Holen Sie sich die uid eines BenutzersSie können dies tun, mit python:
Verwenden Sie dann die id, um
os.chown
InformationsquelleAutor der Antwort wong2