[[Category:OPS335]][[Category:OPS335 Labs]]
== OVERVIEW & PREPARATION==Last week, {{Admon/important|Warning|Your lab 4a must be complete before you configured and ran the '''Postfix''' application for our MTA (a.k.a. SMTP server) on our '''vm2''' and '''vm3''' machinescan start this lab.}}
In Lab 4a, you configured and ran the '''Postfix''' application for our MTA (a.k.a. SMTP server) on your '''vm2''' and '''vm3''' machines. That setup has some major drawbacks:
:* It required an SMTP server ('''MTA''') to be configured on each machine.
:* The Message Store ('''MS''') would also be unique to each machine - what a user received on one server would not exist on any other.
* '''IMAP/POP3''' server(s). When sending an email, you send it to the destination using your MTA, but you also want to save it in your '''"Sent"''' folder for yourself. This is accomplished by a separate connection to either your '''IMAP''' or '''POP3''' server.
** Thus, a situation can occur that although you sent your email successfully, it may never make it to your "Sent" folder - the <u>second</u> connection to your IMAP server is quite unrelated to the first connection to the '''SMTP''' server.
* Note that a '''DNS''' Server. A DNS server is also involved - it is needed to retrieve the address of the email server responsible for email for a particular domain. This is done with '''MX ''' records.
===Online References===
* [https://inside.senecacollege.ca/its/services/email/email_clients/imap.html Seneca Client Settings] (Seneca Server settings for mail client - Thunderbird)
* [https://help.ubuntu.com/community/Dovecot Dovecot Community Documentation]
* [https://www.debian-administration.org/article/275/Setting_up_an_IMAP_server_with_dovecot Setting up an IMAP Server with Dovecot]
* [http://wiki.dovecot.org/LDA Dovecot-lda]
* [http://wiki.dovecot.org/LDA/Postfix Configuring dovecot-lda with postfix]
== INVESTIGATION 1: INSTALL THUNDERBIRD (MUA) and SETUP A REFERENCE CLIENT==
=== Install Unlike the '''mailx''' (MUA) application you installed and used in Lab 4a, this lab will be using the '''Thunderbird Application ''' (MUA) application instead which is a graphical application that uses a '''centralized Message Store''' (MS) to retrieve and Setup a Reference Client ===read mail messages.
Although we will be eventually setting up the Thunderbird application to perform all the mail operations discussed above, you need to learn to '''"walk before you can run"'''. Eventually, you are going to set up all those mail services, but to begin with, you will set up an email client to connect to a (hopefully) an already working server - which is the '''Seneca email server'''. This will be a good exercise with an Once we learn how to do this for our Seneca email clientaccount, then we can use it for our mail servers for our VM2 and VM3.
'''Perform the following steps:'''
#Switch to your '''host''' machine, and install the '''Thunderbird''' email application.
#When you see first launch the Thunderbird application, a configuration dialog box, configure it in a similar way (''using your own information'') should appear as shown in the diagram below:
<br>::[[Image:Seneca-student-thunderbird-email-setup.png|600px]]<br><ol><li value="3">Use the data in the table below to configure the Thunderbird settings dialog box for YOUR Seneca e-mail account:</li></ol>
{| class="wikitable" border="1" style="margin-left:40px;"! Setting !! '''Incoming: IMAP''' !! '''Outgoing:Notice that there are <u>unencrypted</u> options available to connect to your SMTP'''|-| '''Username'''|| yoursenecauserid@myseneca.ca || yoursenecauserid@myseneca.ca|-| '''servername''' || outlook.office365.com || outlook.office365.com|-| '''port''' || 993 || 587|-| '''security''' || SSL/IMAP servers but those are rarely used these days TLS || STARTTLS|- the potential for abuse is too great| '''References''' | colspan="2" | [1] [https://employees.senecacollege. On a free wifi network, the operator would be able to not only read your email, but also obtain your password without any passwordca/spaces/77/encryption cracking tools. In fact, even on a private wired network, it is not uncommon for an employer to use a packet sniffer utility to monitor all the traffic going over their network (Packet Sniffing applications were actually found to be legally acceptable practices if used by the management of organizations).-services/wiki/view/2394/other-email-clients ITS - Configuring other Email Clients]|}
::The specific security settings depend on how Note that your servers were configuredusername is your full email address(<em>yourid@myseneca.ca</em>) and not just <em>yourid</em>. '''The settings for the seneca servers are displayed below:
::* Mozilla Setup HOWTO
:::[https://ssgoku129.wordpress.com/2012/11/29/how-to-setup-seneca-learnid-myseneca-ca-with-email-clients-and-devices/ How-to setup Seneca LearnID @myseneca.ca with Email Clients]<br>(Note that your username is your full email address)(<em>firstname.lastname@senecaretirees.ca</em>) and not just <em>firstname.lastname</em>.</p>
::*E{{Admon/important |Unencrypted Options|Notice that there are <u>unencrypted</u> options available to connect to your SMTP/IMAP servers but those are rarely used these days -mail Protocol Settings the potential for abuse is too great. On a free wifi network, the operator would be able to not only read your email, but also obtain your password without any password/encryption cracking tools. In fact, even on a private wired network, it is not uncommon for an employer to use a packet sniffer utility to monitor all the traffic going over their network (Quick ReferencePacket Sniffing applications were actually found to be legally acceptable practice if used by the management of organizations)}}<br><ol><li value="3">After you create your '''Thunderbird''' account, you should be able to read your existing email and send new email within the Thunderbird application.</li><li>Take time to view your ''Account Settings'' and ''Preferences'' to get a feel for what settings exist. For example:<ul><li>How often will Thunderbird check for new messages?</li><li>Will the messages you write be in HTML or plain text?</li><li>How do you change your SMTP server settings? Why are they in a different section?</li></ul></li><li>The main objective of this section was to learn how to setup your Thunderbird application to read your Seneca email, so in the next section you can use the exact type of setup for your own email server.</li></ol>
::::<strong>IMAP</strong>::::Username: yoursenecauserid@myseneca.ca::::servername: pod51038.outlook.com::::port: 993::::security: SSL/TLS'''Record steps, commands, and your observations in INVESTIGATION 1 in your OPS335 lab log-book'''
== INVESTIGATION 2::::<strong>SMTP</strong>::::Username: yoursenecauserid@myseneca.ca::::servername: pod51038.outlook.com::::port: 587::::security: STARTTLSSETUP A CENTRALIZED MESSAGE STORE ==
<ol><li value="3">After you create your '''Thunderbird''' account, you should be able == Setup Your MTA to read your existing email and send new email within the Thunderbird application.</li><li>Take time to view your ''Account Settings'' and ''Preferences'' to get a feel for what settings exist. For example:<ul><li>How often will Thunderbird check for new messages?</li><li>Will the messages you write be in HTML or plain text?</li><li>How do you change your SMTP server settings? Why are they in a different section?</li></ul></li></ol>Use Correct Domain===
The main objective In Lab 4a, both of this section was to learn how to setup your Thunderbird application email servers were sending mail messages addressed from users of the actual machines themselves. This would be confusing for the receiver who might get emails from the same user @vm1, vm2, and vm3. Which would they respond to read your Seneca email? To avoid this problem from occurring, so in we can make all servers make the next section you can use sent mail appear to come from a central location (usually the exact type of setup for your own '''domain'''), and make incoming email serversent to that address to be accessible from machines within our network.
== INVESTIGATION 1: SETTING UP MTA FOR RECEIVING EMAIL == === Specifying Which Domains are Used to Send Mail Messages=== As of last lab, both of your email servers are sending mail addressed from users of the machines themselves. This would be confusing for the receiver who might get emails from the same user @vm1, vm2, and vm3. Which would they respond to? To avoid this, we can make all servers make the sent mail appear to come from a common location (usually the domain), and make incoming email sent to that address accessible from machines inside our network. Look at the email messages you sent between your vm2 and vm3 in lab 4a. Notice that each is addressed from root on whichever machine sent it. On both machines, edit /etc/postfix/main.cf and change the '''myoriginPerform the following steps:''' parameter from '''$myhostname''' to '''$mydomain'''. Restart postfix and send emails between the machines again. The sender address should now read root@yourdomain.org.
=== Specifying Which Domains are Used # Issue the '''mail''' command to Deliver view the email messages you sent between your '''vm2''' and '''vm3''' in your lab 4a. Notice that each is addressed from root on whichever machine sent it.# On both machines (vm2 and vm3), edit the '''/etc/postfix/main.cf''' file to change the '''myorigin''' parameter from '''$myhostname''' to '''$mydomain'''. Restart the '''postfix''' service.# Now, send emails messages (via the '''mail''' command) between both of your vm2 and vm3 machines, and view the mail messages by issuing '''mail''' in each vm. The sender address should now read that the "Received" Mail Messages===received mail messages came from '''root@yourdomain.ops'''.
The next step is to configure what addrssess the server will receive email for. This is done using postfix by setting the '''mydestination''' parameter (configuration variable) to include '''$mydomain''' (this is assuming you've set up '''mydomain''', '''myorigin''' , and '''inet_interfaces''' properly).
Perform ::The next step is to configure what addresses that the server will receive email for. This is done using postfix by setting the following steps on vm3:'''mydestination''' parameter (configuration variable) to include '''$mydomain''' (this is assuming you've set up '''mydomain''', '''myorigin''' , and '''inet_interfaces''' properly).
#Edit the '''/etc/postfix/main.cf''' file.
#Scroll down to the line containing: '''mydestination''' and change line to the text shown below:
<preol><li value="4">Edit the '''/etc/postfix/main.cf''' file for '''vm3 ONLY''', scroll down to the line containing: '''mydestination''' and change line to the text shown below:<br><source>mydestination = $mydomain, $myhostname, localhost.$mydomain, localhost</presource>'''Note:''' Even though your machine's name is ''vm3.yoursenecaid.ops'', your postfix MTA will also receive emails addressed to the domain called: yoursenecaid.ops</li></ol><br>::In order for this to work, we need to add a DNS record that will point mail sent to the domain towards one of the SMTP servers configured to accept it.
:<ol><li value="5">Add an '''Note:MX''' Even though your machinerecord to the forward lookup zone on '''host's name is ''so that all incoming mail addressed to the domain is sent to your vm3.yoursenecaid</li><li>Restart the service and use the '''dig''' command to confirm that it works.org</li><li>Send an email from your '''vm2''', your postfix MTA will also receive emails addressed to the domain called: yoursenecaid'''root@yourdomain.orgops'''</li><li>Confirm that it arrives on your '''vm3''' machine</li></ol>
In order for this to work, we need to add a DNS record that will point mail sent to the domain towards one of the SMTP servers configured to accept it. Add an MX record to the forward lookup zone on vm1 so that all incoming mail addressed to the domain is sent to your vm3. Restart the service and use dig to confirm that it works. Send an email from your vm2 to root@yourdomain.org. Confirm that it arrives on vm3. === Relaying Relay Email Through Another Server===
When email is sent from either vm, it is addressed from the domain, but receiving MTAs might query why mail sent from vm2 doesn't match the address of the MX record for the domain. This would be a red-flag for potential spam. To avoid this, we can relay all mail sent from vm2 (or any other machine in our network) through vm3 so that it properly appears to come from the mail server that matches the MX record for the domain.
*First, we must direct vm2 to relay mail through vm3, by editing /etc/postfix/main.cf again'''Perform the following steps: <pre>relayhost = vm3.<yourdomain>.org</pre>'''
*Remember # Move to restart your vm2 machine.# Direct your '''vm2''' MTA to relay mail through vm3, by making the following editing change for the '''/etc/postfix once you have done so/main.cf''' file:<br><source>relayhost = vm3.<yourdomain>.ops</source># Restart the '''postfix''' service.*# Next, we you must tell instruct your '''vm3 ''' machine to allow your vm2 machine to pass email through itby making the following editing change to the '''/etc/postfix/main.cf''' file:<prebr><source>mynetworks = 192.168.X.0/24</presource>*NOTE: Substitute in your '''own network ''' for X, and remember to restart <br><br># Restart the '''postfix''' service.
All mail is now being delivered to a centralized location (and also appears to be coming from that same location), but a user would still have to access that server to retrieve it.
=== Installing Install and Configuring Configure the Local Delivery Agent (LDA/MDA) ===
Postfix is capable of performing the function of an LDA, but its LDA capabilities are limited, thus postfix is generally not used for that purpose. Currently, the most popular LDA is ''LMTP'', but we will be installing, configuring, and using an LDA called '''Dovecot''' since it is also popular and we will later be setting up Dovecot as an '''IMAP''' serverlater in this lab. Using both Postfix and Dovecot will actually increase the performance of our IMAP server.
'''Perform the following steps on vm3:'''
#Move to your '''vm3''' machine.#Dovecot is not installed when you installed your Virtual machines in previous labs.#<br>Install the Dovecot application by issuing the following command:<br><source>yum install dovecot</source>#Edit your '''/etc/postfix/main.cf ''' file and scroll down to (or search for) '''mailbox_command'''. Add the following line:<br><source>mailbox_command = /usr/libexec/dovecot/dovecot-lda -f "$SENDER" -a "$RECIPIENT"</source>
::NOTE: Do <preu>mailbox_command = '''not'''</usru> replace any variables, those are set automatically by Postfix when it runs the LDA. If you are interested in learning more about the Dovecot application, you can read about dovecot-lda [http:/libexec/wiki.dovecot.org/LDA/Postfix here] and [http://wiki.dovecot-lda -f .org/LDA here].<br><ol><li value="$SENDER4" >Finally, edit the '''/etc/dovecot/conf.d/10-a "$RECIPIENT"mail.conf''' file and indicate where you want your mail delivered by including the following line:<source>mail_location = maildir:~/Maildir</source></li><li>Restart your postfix service.</li><li>While the emails are still stored only on VM3, they will now be easier for other machines/services to access.</li><li>Due to permissions on the directories where mail will now be stored, root will no longer receive mail. Check the logs for an indication as to why.</li></preol>
:NOTE: Do <u>'''notRecord steps, commands, and your observations in INVESTIGATION 2 in your OPS335 lab log-book'''</u> replace any variables, those are set automatically by Postfix when it runs the LDA. If you are interested in learning more about the Dovecot application, you can read about dovecot-lda [http://wiki.dovecot.org/LDA/Postfix here] and [http://wiki.dovecot.org/LDA here].
<ol><li value="4">Finally, edit the '''/etc/dovecot/conf.d/10-mail.conf''' file =INVESTIGATION 3: USING THUNDERBIRD (MUA) FOR VM2 and indicated where you want your mail delivered by including the following line</li></ol>VM3 MACHINES ==
<pre>mail_location = maildir:~/Maildir</pre>== Accessing Received Mail Messages on VM3 VIA IMAP ===
<ol><li value="5">Restart your postfix serviceFirst, we will set up the IMAP server so we can read email.</li></ol>The current way we have configured our mail server on our VM3 machine should allow all the email for anyaccount@yoursenecaid.ops should be delivered to our '''vm3''' machine. We will set up Dovecot with IMAP to get easy access to that email. '''Perform the following steps:'''
While #The configuration file for the Dovecot service (which is not the same thing as dovecot-lda) is: '''/etc/dovecot/dovecot.conf'''. Modify the '''protocols''' option so that Dovecot will work with IMAP connections, no POP3 or LMTP.# Start the dovecot service, and ensure it will always start automatically when the machine boots.# Use the '''ss''' command to confirm the service is listening, and use '''nc''' on the '''host''' to confirm you can connect to it.# You'll probably fail, so using the information gathered from '''ss''', modify the emails are still stored only firewall on VM3vm3 to allow IMAP connections from your local network and try '''nc''' again. Once it works, they do not forget to save this change so it will still be there the next time you reboot.#If you can connect - it's now time to do something wrong, that is allow connections to our IMAP server over an unencrypted connection.# Edit the '''/etc/dovecot/conf.d/10-auth.conf''' file and set '''disable_plaintext_auth''' to '''no'''.# Then edit the '''/etc/dovecot/conf.d/10-ssl.conf''' file and set '''ssl''' to '''yes'''.<br><br>'''Note:''' This combination of parameters will allow your username and password to be easier sent over the internet in plain text, for other machines/services anyone interested to accesslook at. In a later lab we'll set up secure SMTP and IMAP connections, for now this is all we have time for.<br><br># Restart dovecot so the changes take effect.
==INVESTIGATION 2: USING THUNDERBIRD (MUA) FOR VM2 and VM3 MACHINES = Connecting to IMAP Servers Using Thunderbird===
'''Perform the following steps:'''
#On your '''host ''' machine, return to the Mail Account Setup dialog box (eg. near top of lab).# Set up the a '''new email account'''. You will be using account settings to connect to your '''vm2''' for '''SMTP''' and '''vm3''' for '''IMAP'''. Use <u>no</u> encryption, and use normal password authentication for IMAP (we don't have an IMAP server running yet, but that's ok). Refer to the diagram below for reference:
[[Image:ops335-email-step1.png|600px]]
::<ol><li value="3">Try to connect to your IMAP server with Thunderbird by clicking on your '''NOTE:Inbox''' .</li><li>If nothing happens, then check the Thunderbird won't let Activity Manager for any errors. If the connection is successful, you proceed with should see the "Done" button because you will fail to connect to IMAP. '''Trash''' box <olu>appear<li value="3"/u> Use the "Advanced config" button to bypass that checkbelow Inbox.</li><li>Use the Thunderbird application to send an email to your myseneca address. If you've done everything right, it will send the message successfully, but it will fail to save it in the Sent folder since that's done with IMAP and you don't have an IMAP server yet.</li><li>Verify that your message has been sent. Check your myseneca email and look at '''/var/log/maillog''' on vm2 (your email server).</li></ol>
=== Sending a Mail Message from VM2 (Using Thunderbird)===
{{Admon/important |Sent messages will not be saved to the sent folder|During this step the messages you send will not be saved to the sent folder and Thunderbird will permanently hang with a message that it is saving the message. It will never succeed, as we have not yet configured the imap server to accept the connection necessary for that to work.}}
'''Perform the following steps:'''
#Use the '''ss''' and '''nc''' commands (like you did in lab 4a) to confirm your service is listening on the correct ports/interfaces. You will probably have to open the appropriate firewall port on '''vm3''' to allow incoming '''SMTP''' connections.<br><br>'''Note:''' You should be able to send email to any regular user <u>on</u> '''vm3''' using the email address '''yourusername@yoursenecaid.orgops''' using the Thunderbird application on your host machine (which is configured to use the account on your vm2).<br><br>
<ol><li value="2">Create a new account on your '''vm3''' machine using only your <u>first</u> name. We will use this account as a one-time "test" if the mail message has been received on your VM3 machine (from your VM2 machine).<br><br>'''Note:''' It is <u>'''important'''</u> that you '''<u>don't</u>''' create this same account name on your vm2 machine, since you want to easily identify the difference between the sending and receiving SMTP servers.<br/><br/></li></ol>
<ol><li value="3">We still haven't set up IMAP (for reading email) but we can test that the message is being delivered. Use the new account in Thunderbird to send an email to '''firstname@yoursenecaid.orgops''' and then check the contents of '''/home/firstname/Maildir/new/''' on your '''vm3''' machine. There should be a file there with the contents of your email.</li><li>If there is no file, then check the log file '''/var/log/maillog''' to see what went wrong.</li><li>If you can see a file in the '''/home/firstname/Maildir/new/''' directory, then review the procedures on how you got the email server working (since you have performed many steps and set up many services).</li><li>Refer to the diagram at the top of this lab. Which services have you currently set up? Record your findings in your lab Logbook.</li></ol>
{{Admon/important |Encountering error messages when sending email|If you cannot properly receive sent e-mail messages, check the '''/var/log/syslog''' file for errors.<br><br> If you locate an error message in that file such as: '''Fatal: Error reading configuration: Invalid settings...''', then add the following <u>parameter</u> in '''/etc/dovecot/dovecot.conf''':<br />'''postmaster_address <nowiki>=</nowiki> DOMAIN''' (where DOMAIN is actually <u>your</u> domain).<br /><br />After you have saved those changes, then '''restart''' your dovecot service. This problem can also be resolved by properly setting the hostname of your machine to include the domain.}}
=== Viewing Received Mail Message on VM3 VIA IMAP (Using Thunderbird) === Finally, we will set up the IMAP server so we can read email. The current way we have configured our mail server on our VM3 machine should allow all the email for anyaccount@yoursenecaid.org should be delivered to our {{Admon/important |Backup your VMs!|You MUST perform a '''full backup''' of ALL of your VMs whenever you complete your '''vm3OPS335 labs''' machine. We will set up Dovecot with IMAP to get easy access to that email. or when working on your '''Perform the following steps:OPS335 assignments'''. You should be using the dump or rsync command, and you should use the Bash shell script that you were adviced to create in order to backup all of your VMs.}}
#The configuration file for the Dovecot service (which is not the same thing as dovecot-lda) is: '''/etc/dovecot/dovecot.conf'''. Modify the '''protocols''' option so that Dovecot will work with IMAP connections, no POP3 or LMTP.# Start the dovecot service, and ensure it will always start automatically when the machine boots.# Use the '''ss''' command to confirm the service is listening, and use nc on the host to confirm you can connect to it.# Using the information gathered from ss, modify the firewall on vm3 to allow IMAP connections from your local network. Remember to add this to your firewall_restore script.#If you can connect - it's now time to do something wrong, that is connect to our IMAP server using Thunderbird over an unencrypted connection.# Edit the '''/etc/dovecot/conf.d/10-auth.conf''' file and set '''disable_plaintext_auth''' to '''no'''.# Then edit the '''/etc/dovecot/conf.d/10-ssl.conf''' file and set '''ssl''' to '''yes'''.<br><br>'''Note:''' This combination of parameters will allow your username and password to be sent over the internet in plain text, for anyone interested to look at. In a later lab we'll set up secure SMTP and IMAP connections, for now this is all we have time for.<br><br># Restart dovecot so the changes take effect.#Try to connect to your IMAP server with Thunderbird by clicking on your '''Inbox'''.#If nothing happens, then check the Thunderbird Activity Manager for any errors. If the connection is successful, you should see the '''Trash''' box <u>appear</u> below Inbox.# Finally, send an email message from '''yoursenecaid@yoursenecaid.org''' to '''yoursenecaid@yoursenecaid.org''' using the Thunderbird application. The mail message should be sent without errors, and you should notice a '''Sent''' folder appear in the list. If all worked well, you should see your message arrive in the '''Inbox''' and you know that your configuration works correctly. {{Admon/important |Backup your VMs!|You MUST perform a '''full backup''' of ALL of your VMs whenever you complete your '''OPS335 labs''' or when working on your '''OPS335 assignments'''. You should be using the dump command, and you should use the Bash shell script that you were adviced to create in order to backup all of your VMs.}} '''Record steps, commands, and your observations in INVESTIGATION 2 3 in your OPS335 lab log-book'''
== COMPLETING THE LAB ==
'''Depending on your professor you will either be asked to submit ===Online Submission===Follow the instructions for lab in class, or online4b on blackboard. Follow the appropriate set of instructions below''<!--===Andrew's sections===
===Online Submission (Peter CallaghanYou may choose to:* Submit screenshots of your work on Blackboard, in which case you don's Classes only)===t need to come to the lab.Follow * Or come to the instructions for lab 4b on moodle, show me your work, and talk to me about it. I want to hear what you've learned and answer any questions you have.
===In Class Submission===Students should be prepared with You'''all required commands (system information) displayed in a terminal (or multiple terminals) prior to calling ll get the instructor for signoff'''. '''Arrange evidence (command output) for each same grade regardless of these items on how you choose to submit your screen, then ask your instructor to review them and sign off on the lab's completion:'''work.
::<span style="color:green;font-size:1.5em;">✓</span>Status and configuration of your Postfix service on vm2.
::<span style="color:green;font-size:1.5em;">✓</span>Your Thunderbird configuration.
::<span style="color:green;font-size:1.5em;">✓</span>The email you sent to your myseneca account.
::<span style="color:green;font-size:1.5em;">✓</span>Download the labcheck4b.bash checking bash shell script by issuing the command:<br><br>and run '''wget httphttps://matrixict.senecac.onsenecacollege.ca/~peterandrew.callaghan/filessmith/OPS335ops335/labcheck4b.bash'''<br><br>set execute permission and run the shell script on your '''c7host''' machine. ::*For '''Peter's classes''', follow his Online Submission instructions in Moodle.::*For '''Murray's classes''', run command (piping to the '''more''' command) and show output to instructor.
::<span style="color:green;font-size:1.5em;">✓</span>Completed Lab4b log-book notes.
-->
==EXPLORATION QUESTIONS==
# Why are '''IMAP''' and '''POP''' email servers placed on separate machines (vms)?
# What is the purpose of the '''mail_location''' parameter contained in the '''/etc/dovecot/conf.d/10-mail.conf''' file?
# Why is root not able to receive mail with the changed mail location? What could you change to allow mail to be sent to root again?