<div dir="ltr"><div id="gmail-magicdomid3" class="gmail-ace-line"><br></div><div id="gmail-magicdomid828" class="gmail-ace-line"><span class="gmail-">On 2017-07-02 some users experienced a loss of data in their projects.  </span></div><div id="gmail-magicdomid5" class="gmail-ace-line"><br></div><div id="gmail-magicdomid829" class="gmail-ace-line"><span class="gmail-">We estimate 126 Tools out of 1,766 saw at least one file removed.  We have reason to believe a user acting under a Tool account issued the command 'rm -fr *' at the wrong point in the directory structure.  Anyone who had files that were removable by this user was effected.  Thankfully, we have a backup from before the command was run, a minority of users have overly permissive files, and a further minority were severely impacted.  </span><span class="gmail-url"><a href="https://phabricator.wikimedia.org/T169774">https://phabricator.wikimedia.org/T169774</a></span><span class="gmail-"> was created in response to inquiries surrounding data loss.  </span></div><div id="gmail-magicdomid811" class="gmail-ace-line"><br></div><div id="gmail-magicdomid830" class="gmail-ace-line"><span class="gmail-">We do not guarantee any level of user backups for day-to-day operations, but in this case since we do have the data I have restored it to /data/scratch/T169774/ so users can retrieve what was removed.  We intend to make this restored data available until at least 2017-08-08.  A Warning: Please do not rely on NFS for backups of code or critical data.  We only have capacity to keep 2 weeks of historical backups at the moment and cannot guarantee timely retrieval or availability.  Every Tool account can use </span><span class="gmail-url"><a href="https://phabricator.wikimedia.org/diffusion/">https://phabricator.wikimedia.org/diffusion/</a></span><span class="gmail-"> for code hosting, and creation of the repository is handled by going to </span><span class="gmail-url"><a href="https://toolsadmin.wikimedia.org/tools/id/">https://toolsadmin.wikimedia.org/tools/id/</a></span><span class="gmail-"><mytool>.</span></div><div id="gmail-magicdomid9" class="gmail-ace-line"><br></div><div id="gmail-magicdomid831" class="gmail-ace-line"><span class="gmail-">This calamity was almost entirely caused by directories with o+w set allowing 'other' or 'everyone' write access.  Do not use permissions such as '777' or that look like 'drwxrwxrwx' as it will allow other users to remove your files.  This is especially dangerous in a shared hosting environment as this incident has shown.</span></div><div id="gmail-magicdomid11" class="gmail-ace-line"><br></div><div id="gmail-magicdomid832" class="gmail-ace-line"><span class="gmail-">A brief explanation of why this happened to users who have given write permissions to 'other' for a directory in their Tool:</span></div><div id="gmail-magicdomid13" class="gmail-ace-line"><br></div><div id="gmail-magicdomid833" class="gmail-ace-line"><span class="gmail-i"><i>Because directories are not used in the same way as regular files, the permissions work slightly (but only slightly) differently.  An attempt to list the files in a directory requires read permission for the directory, but not on the files within.  An attempt to add a file to a directory, delete a file from a directory, or to rename a file, all require write permission for the directory, but (perhaps surprisingly) not for the files within. </i></span></div><div id="gmail-magicdomid15" class="gmail-ace-line"><br></div><div id="gmail-magicdomid834" class="gmail-ace-line"><span class="gmail-i"><i>-  </i></span><span class="gmail-">Unix File and Directory Permissions and Modes (</span><span class="gmail-url"><a href="https://wpollock.com/AUnix1/FilePermissions.htm%29">https://wpollock.com/AUnix1/FilePermissions.htm)</a></span></div><div id="gmail-magicdomid481" class="gmail-ace-line"><br></div><div id="gmail-magicdomid835" class="gmail-ace-line"><span class="gmail-">ACTION ITEMS:</span></div><div id="gmail-magicdomid836" class="gmail-ace-line"><span class="gmail-">- Make sure you have backups of code and data needed</span></div><div id="gmail-magicdomid837" class="gmail-ace-line"><span class="gmail-">- Check for removed data you want to restore on <a href="http://login.tools.wmflabs.org">login.tools.wmflabs.org</a> at /data/scratch/T169774/ </span></div><div id="gmail-magicdomid838" class="gmail-ace-line"><span class="gmail-">- Check your Tools files and directories for o+w permission and remove if possible (chmod -R o-w <directory>).</span></div><div id="gmail-magicdomid839" class="gmail-ace-line"><span class="gmail-">- Ask for help on the labs-l mailing list, Phabricator, or in the #wikimedia-cloud IRC channel if you cannot figure out how to do without o+w (someone may have a different solution).</span></div><div id="gmail-magicdomid17" class="gmail-ace-line"><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>Chase Pettet</div></div><div>chasemp on <a href="https://phabricator.wikimedia.org/p/chasemp/" target="_blank">phabricator</a> and IRC<br></div></div></div></div></div></div></div></div>
</div>