def exists(cls, username): return sudo('id %s' % username).succeeded
import os from cStringIO import StringIO from weft import exceptions from weft._fab import sudo, put from weft.providers.base.users import BaseUserProvider, BaseGroupProvider AUTHORIZED_KEYS_TEMPLATE = """# # This file is managed by weft. You can edit it, # but it is not recommended. %s""" sudolist = lambda l: sudo(' '.join(l)) class UserProvider(BaseUserProvider): @classmethod def add(cls, username, group, groups, authorized_keys, password, homedir, nohome, shell): cmd = ['useradd'] if group is not None: if not GroupProvider.exists(group): GroupProvider.add(group) cmd += ['-g', group] if groups: if groups is not None: for g in groups: if not GroupProvider.exists(group): GroupProvider.add(group) cmd += ['-G', ','.join(groups)]
import os from cStringIO import StringIO from weft import exceptions from weft._fab import sudo, put from weft.providers.base.users import BaseUserProvider, BaseGroupProvider AUTHORIZED_KEYS_TEMPLATE = """# # This file is managed by weft. You can edit it, # but it is not recommended. %s""" sudolist = lambda l: sudo(' '.join(l)) class UserProvider(BaseUserProvider): @classmethod def add(cls, username, group, groups, authorized_keys, password, homedir, nohome, shell): cmd = ['useradd'] if group is not None: if not GroupProvider.exists(group): GroupProvider.add(group) cmd += ['-g', group] if groups: if groups is not None: for g in groups: if not GroupProvider.exists(group): GroupProvider.add(group) cmd += ['-G', ','.join(groups)] if homedir: cmd += ['-d', homedir]