Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Rex::Commands::User(3)User Contributed Perl DocumentatioRex::Commands::User(3)

NAME
       Rex::Commands::User - Manipulate	users and groups

DESCRIPTION
       With this module	you can	manage user and	groups.

SYNOPSIS
	use Rex::Commands::User;

	task "create-user", "remoteserver", sub	{
	  create_user "root",
	    uid		=> 0,
	    home	=> '/root',
	    comment	=> 'Root Account',
	    expire	=> '2011-05-30',
	    groups	=> [ 'root', '...' ],
	    password	=> 'blahblah',
	    system	=> 1,
	    create_home	=> TRUE,
	    shell	=> '/bin/bash',
	    ssh_key	=> "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChUw...";
	};

EXPORTED FUNCTIONS
   account($name, %option)
       Manage user account.

	account	"krimdomu",
	  ensure	 => "present",	# default
	  uid		 => 509,
	  home		 => '/root',
	  comment	 => 'User Account',
	  expire	 => '2011-05-30',
	  groups	 => [ 'root', '...' ],
	  login_class	 => 'staff',   # on OpenBSD
	  password	 => 'blahblah',
	  crypt_password => '*', # on Linux, OpenBSD and NetBSD
	  system	 => 1,
	  create_home	 => TRUE,
	  shell		 => '/bin/bash',
	  ssh_key	 => "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChUw...";

       There is	also a no_create_home option similar to	create_home but	doing
       the opposite. If	both used, create_home takes precedence	as it the
       preferred option	to specify home	directory creation policy.

       If none of them are specified, Rex follows the remote system's home
       creation	policy.

       The crypt_password option specifies the encrypted value as found	in
       /etc/shadow; on Linux special values are	'*' and	'!' which mean
       'disabled password' and 'disabled login'	respectively.

   create_user($user =>	{})
       Create or update	a user.

       This function supports the following hooks:

       before
	   This	gets executed before the user is created. All original
	   parameters are passed to it.

       after
	   This	gets executed after the	user is	created. All original
	   parameters, and the user's "UID" are	passed to it.

   get_uid($user)
       Returns the uid of $user.

   get_user($user)
       Returns all information about $user.

   user_groups($user)
       Returns group membership	about $user.

   user_list()
       Returns user list via getent passwd.

	task "list_user", "server01", sub {
	  for my $user (user_list) {
	    print "name: $user / uid: "	. get_uid($user) . "\n";
	  }
	};

   delete_user($user)
       Delete a	user from the system.

	delete_user "trak", {
	  delete_home => 1,
	  force	    => 1,
	};

   lock_password($user)
       Lock the	password of a user account. Currently this is only available
       on Linux	(see passwd --lock) and	OpenBSD.

   unlock_password($user)
       Unlock the password of a	user account. Currently	this is	only available
       on Linux	(see passwd --unlock) and OpenBSD.

   create_group($group,	{})
       Create or update	a group.

	create_group $group, {
	  gid => 1500,
	  system => 1,
	};

   get_gid($group)
       Return the group	id of $group.

   get_group($group)
       Return information of $group.

	$info =	get_group("wheel");

   delete_group($group)
       Delete a	group.

perl v5.32.1			  2020-12-05		Rex::Commands::User(3)

NAME | DESCRIPTION | SYNOPSIS | EXPORTED FUNCTIONS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Rex::Commands::User&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help