Changes

Jump to navigation Jump to search
7,413 bytes added ,  21:27, 24 July 2017
m
Line 1: Line 1:  +
 +
=== Version ===
 +
{{ #smeversion: smeserver-lazy_admin_tools}}
 +
 +
 
===Description===
 
===Description===
 
The Lazy Administrator's Tools is a set of scripts designed to automate batch tasks and administration jobs for SME servers. Currently the following tools are available:
 
The Lazy Administrator's Tools is a set of scripts designed to automate batch tasks and administration jobs for SME servers. Currently the following tools are available:
{{Note box|This HowTo is based on a version created for SME 5.5/5.6/6.0 by [mailto:Michiel.Blotwijk@Altiplano.Be Michiel Blotwijk]. A new version for sme7.x has been created by J Bennett and is the rpm referred to in the Installation section below.
+
{{Note box|This HowTo is based on a version created for SME 5.5/5.6/6.0 by [mailto:Michiel.Blotwijk@Altiplano.Be Michiel Blotwijk]. A new version for sme7.x has been created by J Bennett and is the rpm referred to in the Installation section below. For the SME Server 8 and 9 all binaries are in smecontribs.
    
The original version information can be found [http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/ here]}}
 
The original version information can be found [http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/ here]}}
Line 10: Line 15:  
!Description
 
!Description
 
|-
 
|-
| [http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-users.html lat-users]
+
| '''[[lat-users]] on wiki documentation'''
 
|add/delete users (and their directories)
 
|add/delete users (and their directories)
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-groups.html lat-groups]
+
| '''[[lat-groups]] on wiki documentation'''
 
|add/delete groups
 
|add/delete groups
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-pseudonyms.html lat-pseudonyms]
+
| '''[[lat-pseudonyms]] on wiki documentation'''
 
|add/delete e-mail pseudonyms for individual users
 
|add/delete e-mail pseudonyms for individual users
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-ibays.html lat-ibays]
+
| '''[[lat-ibays]] on wiki documentation'''
 
|add/delete ibays (and its directories)
 
|add/delete ibays (and its directories)
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-quota.html lat-quota]
+
|'''[[lat-quota]] on wiki documentation'''
 
|set the disk quota for individual users
 
|set the disk quota for individual users
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-procmail.html lat-procmail]
+
|'''[[lat-procmail]] on wiki documentation'''
 
|activate or deactivate procmail for individual users
 
|activate or deactivate procmail for individual users
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-hosts.html lat-hosts]
+
|'''[[lat-hosts]] on wiki documentation'''
 
|add hostnames to the server
 
|add hostnames to the server
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-pptp.html lat-pptp]
+
|'''[[lat-pptp]] on wiki documentation'''
 
|activate or deactivate pptp access for individualusers
 
|activate or deactivate pptp access for individualusers
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-domains.html lat-domains]
+
| '''[[lat-domains]] on wiki documentation'''
 
|create virtual domains
 
|create virtual domains
 
|-
 
|-
|[http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/man/lat-dump.html lat-dump]
+
| '''[[lat-dump]] on wiki documentation'''
 
|create input files for the above, using the configuration files of the SME servers.
 
|create input files for the above, using the configuration files of the SME servers.
 
|-
 
|-
 +
| '''[[lat-shadow]] on wiki documentation'''
 +
|transfer crypted password from a SME Server to another
 
|}
 
|}
   −
{{Warning box|msg=SME Server 7.x supports the use of '@' in pseudonyms, but '''lat-pseudonym''' does not by default. See this [http://forums.contribs.org/index.php?topic=37885.msg170809#msg170809 forum post] for a work-around.}}  
+
{{Warning box|msg=SME Server 7.x supports the use of '@' in pseudonyms, but '''lat-pseudonym''' does not by default. See this [http://forums.contribs.org/index.php?topic=37885.msg170809#msg170809 forum post] for a work-around. SME8 and SME9 version are able to handle the @ in pseudonyms.}}
    
===Installation===
 
===Installation===
====Smecontribs repository for SME Server 8.0====
+
====Smecontribs repository for SME Server 8.0 and newer====
   −
  yum install --enablerepo=smecontribs smeserver-lazy_admin_tools
+
  yum install --enablerepo=smecontribs smeserver-lazy_admin_tools smeserver-userpanel smeserver-mailsorting
 
  signal-event post-upgrade; signal-event reboot
 
  signal-event post-upgrade; signal-event reboot
  −
====wget Way====
  −
Download and install using the following commands:
  −
cd /tmp
  −
<nowiki>wget  http://www.sme-server.de/download/sme7/contribs/smeserver-lazy_admin_tools-0.9.1-2.noarch.rpm</nowIki>
  −
yum localinstall smeserver-lazy_admin_tools-0.9.1-2.noarch.rpm
  −
  −
More information, examples, and source code can be downloaded from http://mirror.contribs.org/contribs/mblotwijk/Contribs/lazy-admin-tools/
      
====Upgrade notes====
 
====Upgrade notes====
Line 75: Line 74:     
4.  See the various examples in /usr/doc/lazy-admin-tools for the format of the input file.
 
4.  See the various examples in /usr/doc/lazy-admin-tools for the format of the input file.
 +
 +
====Easy Scripting====
 +
 +
The purpose is to made an easy and quick script to play with the lazzy admin tools when you want to add a user
 +
 +
nano script-lazy
 +
 +
 +
#!/bin/bash
 +
 +
read -p "set the  login (mandatory field)        : " login
 +
 +
read -p "set the firstname (mandatory field)      : " firstname
 +
 +
read -p "set the lastname (mandatory field)      : " lastname
 +
 +
read -p "set the password                        : " password
 +
 +
read -p "set the first group                      : " group1
 +
 +
read -p "set the second group                    : " group2
 +
 +
read -p "set the Limit with grace period (M or G) : " quota1
 +
 +
read -p "set the Absolute limit          (M or G) : " quota2
 +
 +
lat-users -a -c "$login|$firstname|$lastname|$password|||||||||$group1|$group2"
 +
lat-quota -c "$login|$quota1|$quota2"
 +
 +
read -p "Do you want to launch it again, then type enter, else ctrl+c: "
 +
 +
/usr/bin/script-lazy
 +
 +
Or this one if you want to have some default values.
 +
 +
#!/bin/bash
 +
 +
read -p "set the  login (mandatory field)        : " login
 +
 +
read -p "set the firstname (mandatory field)      : " firstname
 +
 +
read -p "set the lastname (mandatory field)      : " lastname
 +
 +
read -p "set the password                        : " password
 +
 +
group1='bpa_tap_adultes'
 +
group2='eleves'
 +
quota1='150M'
 +
quota2='152M'
 +
 +
lat-users -a -c "$login|$firstname|$lastname|$password|||||||||$group1|$group2"
 +
lat-quota -c "$login|$quota1|$quota2"
 +
 +
read -p "Do you want to launch it again, then type enter, else ctrl+c: "
 +
 +
/usr/bin/script-lazy
 +
 +
Then
 +
 +
chmod 755 script-lazy
 +
mv script-lazy /usr/bin
 +
 +
to launch the script then do
 +
 +
script-lazy
 +
 +
As you can see this is a quick example of what you can do with this contribs, you can take this as an example for all your needs.
 +
 +
===Server Migration===
 +
====Migrate user accounts to a new server====
 +
Perhaps your SME server was first installed in 2005 or earlier, and has suffered at your hands over the years as you tested add-ons, contribs, and procedures. 
 +
 +
The time has come to start fresh -- but you don't want to have to reconfigure all of your users' computers, phones, tablets, etc.
 +
 +
Using Lazy Admin Tools, you can migrate your user accounts to a shiny new server -- with their existing passwords.  Transferring their existing email folders is also relatively simple.
 +
 +
Assumptions:
 +
* Existing SME server '''legacySME'''
 +
** ssh access enabled using port xxx
 +
** IP address is legacySME_IP
 +
* Existing or newly installed SME server '''newSME'''
 +
** use the same domain name that was used by '''legacySME'''
 +
** disable DHCP
 +
 +
Results:
 +
* User accounts and passwords from '''legacySME''' will be created on '''newSME'''
 +
:(optionally transfer user files and email)
 +
* Users' devices will have access to email on '''newSME''' without any reconfiguration
 +
 +
 +
;1. On '''legacySME'''
 +
: Create Lazy Admin Tools backup files
 +
<div style="margin-left: 2em;">
 +
<nowiki>mkdir /root/lat
 +
cd /root/lat
 +
lat-dump -d</nowiki>
 +
</div>
 +
 +
;2. On '''newSME'''
 +
: Copy the files from '''legacySME'''
 +
: (scp uses an uppercase "P" to specify the ssh port number)
 +
<div style="margin-left: 2em;">
 +
<nowiki>mkdir /root/lat
 +
scp -P xxx root@legacySME_IP:/root/lat/* /root/lat</nowiki>
 +
</div>
 +
 +
: Restore the user accounts and passwords from '''legacySME''' on '''newSME'''
 +
:: lat-dump from '''legacySME''' created a file called ''lat-restore'' that shows the commands required to restore everything that was backed up.  To create the user accounts from '''legacySME''' on '''newSME''' you need to run the ''lat-users'' and ''lat-shadow'' commands.  The commands below will execute these two commands, but you could also review the contents of ''lat-restore'' and run these two commands manually.
 +
<div style="margin-left: 2em;">
 +
<nowiki>$(grep lat-users lat-restore)
 +
$(grep lat-shadow lat-restore)</nowiki>
 +
</div>
 +
 +
: Optional - transfer users' files (including email)
 +
::The commands below will transfer all of the user files and email from '''legacySME''' to '''newSME'''
 +
::(ssh uses a lowercase "p" when specifying the port number)
 +
<div style="margin-left: 2em;">
 +
<nowiki># get the user files and folders from the old server
 +
rsync -rltzq -e "ssh -p xxx" "root@legacySME_IP:/home/e-smith/files/users/" "/home/e-smith/files/users/"
 +
#
 +
# fix file ownership for all users
 +
cd /home/e-smith/files/users
 +
for f in *; do chown -R $f:$f $f; done</nowiki>
 +
</div>
 +
 +
;3. Cleanup
 +
* On '''legacySME'''
 +
** Turn it off and disconnect it
 +
*: or
 +
** Run <tt>su admin</tt> and:
 +
*** Change the hostname
 +
*** Change the IP address
 +
*** Disable DHCP (if it is enabled)
 +
* On '''newSME'''
 +
** Run <tt>su admin</tt> and:
 +
*** Change the hostname to '''legacySME''' (the original name of the old server)
 +
*** Change the IP address to '''legacySME_IP'''
 +
*** Enable DHCP (if it was enabled on '''legacySME''')
 +
* Other Considerations
 +
** SSL Certificates
 +
*: If you had a commercial or LetsEncrypt certificate on '''legacySME''', you will need to set it up on the new server, too.
 +
** Repeated data transfers
 +
*: The <tt>rsync</tt> command shown above does *not* delete files from '''newSME''' that have been deleted from '''legacySME'''.  If you choose to do the process above, test the new server, then repeat the data transfer -- your users will see some emails returned to their inbox that they had filed or deleted. To prevent this, add "-delete-before" to the rsync command:
 +
*:<tt>rsync -rltzq -delete-before -e "ssh -p xxx" "root@legacySME:/home/e-smith/files/users/" "/home/e-smith/files/users/"</tt>
 +
**'''legacySME''' vs '''legacySME_IP'''
 +
*: Since '''newSME''' is using the same domain name as '''legacySME''', it will not find '''legacySME''' by name unless you add it in server-manager as a host.  If you do that, you'll also have to delete that entry before renaming '''newSME''' at the end.  It is easier to use the '''legacySME_IP''' for scp and rsync.
    
===Forum References===
 
===Forum References===
 
* [http://forums.contribs.org/index.php/topic,46961.msg231182.html#msg231182 Usernames containing special characters may cause problems]
 
* [http://forums.contribs.org/index.php/topic,46961.msg231182.html#msg231182 Usernames containing special characters may cause problems]
 
----
 
----
[[Category:Howto]] [[Category:Administration]]
+
 
 +
== Known issues==
 +
 
 +
=== Users from SME 8.0 ===
 +
In issue [https://forums.contribs.org/index.php/topic,53238.msg275866.html#msg275866 lat tools on SME 9.2], gsimpson reporte that user accounts on the new SME server were locked and needed the password reset. mmccarn replied that running the following resolved the issue.
 +
 
 +
<div style="margin-left: 2em;"><pre>
 +
# force password restore from SME 8.2
 +
cd /root/lat-dump
 +
/usr/sbin/lat-shadow -a -i=mail.shadow -f
 +
signal-event post-upgrade; signal-event reboot</pre>
 +
</div>
 +
 
 +
===Large user database===
 +
 
 +
it has been reported that large user imports might be really long ( 60s per user in SME server already containing 4000 users) (see [[bugzilla:7545]]).
 +
This script is using sme internal processing. The purpose of doing so is to do everything that is included by other contribs.
 +
 
 +
S95ldap-update-simple is called with user-modify user-create, group-modify and group-create events. S56update-domain-group-maps is called with the same events. These events allow also the full creation of the user, but have the adverse effect to be really long during large user importation.
 +
 
 +
A workaround to avoid this could be to:
 +
- disable ldap in the db configuration during the import (if you have not enable ldap auth)
 +
- or temporally remove the link inside the events to this two scripts and create them back after import.
 +
 
 +
and revert back theses change after importation and then running the signal event once (user-modify)
 +
 
 +
 
 +
===Man page are not up to date===
 +
 
 +
Some update is needed for lat-users, lat-procmail and lat-shadow. First is missing -n option, second is stating -a option that in fact does not exist, and third is not working. see [[Bugzilla:7702]]
 +
 
 +
=== Bugs ===
 +
Please raise bugs under the SME-Contribs section in [http://bugs.contribs.org/enter_bug.cgi bugzilla]
 +
and select the e-smith-lazy_admin_tools component or use {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-lazy_admin_tools|title=this link}}.
 +
 
 +
 
 +
{{#bugzilla:columns=id,product,version,status,summary |sort=id |order=desc |component=smeserver-lazy_admin_tools|noresultsmessage="No open bugs found."}}
 +
 
 +
===Changelog===
 +
Only released version in smecontrib are listed here.
 +
 
 +
{{ #smechangelog: smeserver-lazy_admin_tools}}
 +
 
 +
 
 +
[[Category: Contrib]] [[Category:Howto]] [[Category:Administration]]
81

edits

Navigation menu