[prev in list] [next in list] [prev in thread] [next in thread] 

List:       unison-users
Subject:    Re: [unison-users] Weird permissions on created files/directories with perms=0/dontchmod
From:       "worley () alum ! mit ! edu [unison-users]" <unison-users () yahoogroups ! com>
Date:       2014-05-19 19:49:24
Message-ID: 201405191949.s4JJnOL1005451 () hobgoblin ! ariadne ! com
[Download RAW message or body]

> From: "worley@alum.mit.edu [unison-users]" <unison-users@yahoogroups.com>

> On May 8, 2014, at 6:08 AM, mbuck472082@yahoo.com wrote:
> 
> > On a side note, it would be useful to be able to influence the
> > umask of the unison server started remotely via ssh. Currently I'm
> > using a wrapper which first sets the umask and then runs "unison
> > -server", but it would be better if one could configure this in
> > the Unison profile.
> 
> It might be possible to use "-servercmd 'umask 066 ; unison'".  But
> you're right, it makes sense to have a "umask xxx" preference.

I was wondering about exactly how permissions were handled, especially
if a new file is replicated from a Unix to a Windows system or
vice-versa.  It turns out that it is in the manual:

http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html#perms

    Permissions

    Synchronizing the permission bits of files is slightly tricky when two
    different filesytems are involved (e.g., when synchronizing a Windows
    client and a Unix server). In detail, here's how it works:

	* When the permission bits of an existing file or directory are
	  changed, the values of those bits that make sense on both
	  operating systems will be propagated to the other replica. The
	  other bits will not be changed.

	* When a newly created file is propagated to a remote replica, the
	  permission bits that make sense in both operating systems are
	  also propagated. The values of the other bits are set to default
	  values (they are taken from the current umask, if the receiving
	  host is a Unix system).

	* For security reasons, the Unix setuid and setgid bits are not
	  propagated.

	* The Unix owner and group ids are not propagated. (What would
	  this mean, in general?) All files are created with the owner and
	  group of the server process. 

Which suggests that a direct way to set the umask of a remote Unison
server would be useful.

Getting back to the OP's problem:

> I'm trying to sync between Windows and Linux (with ssh from Windows
> to Linux) using Unison 2.40.65. Everything works fine except for the
> permissions of files/directories created on the Linux
> side. Directories always seem to get 0777 (masked by umask), which
> is fine, but files are created with permissions 0600 (again masked
> by umask).

It appears from the documentation that the file should be created on
Linux with "default" permissions (0777) masked by umask, since there
are no permission bits that make sense in both operating systems.

Dale

[Attachment #3 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" \
"http://www.w3.org/TR/html4/strict.dtd"> <html>
<head>
</head>






 
<body style="background-color: #fff;">
<span style="display:none">&nbsp;</span>

<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="position:relative;">
  <div id="ygrp-msg" style="z-index: 1;">
<!--~-|**|PrettyHtmlEndT|**|-~-->

    <div id="ygrp-text" >
      
      
      <p>&gt; From: &quot;worley@alum.mit.edu [unison-users]&quot; \
&lt;unison-users@yahoogroups.com&gt;<br> <br>
&gt; On May 8, 2014, at 6:08 AM, mbuck472082@yahoo.com wrote:<br>
&gt; <br>
&gt; &gt; On a side note, it would be useful to be able to influence the<br>
&gt; &gt; umask of the unison server started remotely via ssh. Currently I&#39;m<br>
&gt; &gt; using a wrapper which first sets the umask and then runs &quot;unison<br>
&gt; &gt; -server&quot;, but it would be better if one could configure this in<br>
&gt; &gt; the Unison profile.<br>
&gt; <br>
&gt; It might be possible to use &quot;-servercmd &#39;umask 066 ; unison&#39;&quot;. \
But<br> &gt; you&#39;re right, it makes sense to have a &quot;umask xxx&quot; \
preference.<br> <br>
I was wondering about exactly how permissions were handled, especially<br>
if a new file is replicated from a Unix to a Windows system or<br>
vice-versa.  It turns out that it is in the manual:<br>
<br>
http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html#perms<br>
 <br>
Permissions<br>
<br>
Synchronizing the permission bits of files is slightly tricky when two<br>
    different filesytems are involved (e.g., when synchronizing a Windows<br>
    client and a Unix server). In detail, here&#39;s how it works:<br>
<br>
	* When the permission bits of an existing file or directory are<br>
	  changed, the values of those bits that make sense on both<br>
	  operating systems will be propagated to the other replica. The<br>
	  other bits will not be changed.<br>
<br>
	* When a newly created file is propagated to a remote replica, the<br>
	  permission bits that make sense in both operating systems are<br>
	  also propagated. The values of the other bits are set to default<br>
	  values (they are taken from the current umask, if the receiving<br>
	  host is a Unix system).<br>
<br>
	* For security reasons, the Unix setuid and setgid bits are not<br>
	  propagated.<br>
<br>
	* The Unix owner and group ids are not propagated. (What would<br>
	  this mean, in general?) All files are created with the owner and<br>
	  group of the server process. <br>
<br>
Which suggests that a direct way to set the umask of a remote Unison<br>
server would be useful.<br>
<br>
Getting back to the OP&#39;s problem:<br>
<br>
&gt; I&#39;m trying to sync between Windows and Linux (with ssh from Windows<br>
&gt; to Linux) using Unison 2.40.65. Everything works fine except for the<br>
&gt; permissions of files/directories created on the Linux<br>
&gt; side. Directories always seem to get 0777 (masked by umask), which<br>
&gt; is fine, but files are created with permissions 0600 (again masked<br>
&gt; by umask).<br>
<br>
It appears from the documentation that the file should be created on<br>
Linux with &quot;default&quot; permissions (0777) masked by umask, since there<br>
are no permission bits that make sense in both operating systems.<br>
<br>
Dale<br>
</p>

    </div>
     

    <!--~-|**|PrettyHtmlStart|**|-~-->
    <div style="color: #fff; height: 0;">__._,_.___</div>

          
  
 

    
    <div style="clear:both"> </div>

    <table cellspacing=4px style="margin-top: 20px; margin-bottom: 10px; color: \
#2D50FD;">  <tbody>
        <tr>
          <td style="font-size: 12px; font-family: arial; font-weight: bold; padding: \
7px 5px 5px;"  >  <a style="text-decoration: none; color: #2D50FD" \
href="https://groups.yahoo.com/neo/groups/unison-users/conversations/messages/11162;_y \
lc=X3oDMTJwZ2tvMnJ2BF9TAzk3MzU5NzE0BGdycElkAzQ3OTc2NwRncnBzcElkAzE3MDUwMDQ3MjYEbXNnSWQ \
DMTExNjIEc2VjA2Z0cgRzbGsDcnBseQRzdGltZQMxNDAwNTYyNDU1?act=reply&messageNum=11162">Reply \
via web post</a>  </td>
          <td>&bull;</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;" >
            <a href="mailto:worley@alum.mit.edu?subject=Re%3A%20%5Bunison-users%5D%20W \
eird%20permissions%20on%20created%20files%2Fdirectories%20with%20perms%3D0%2Fdontchmod" \
style="text-decoration: none; color: #2D50FD;">  Reply to sender            </a>
          </td>
          <td>&bull;</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;">
            <a href="mailto:unison-users@yahoogroups.com?subject=Re%3A%20%5Bunison-use \
rs%5D%20Weird%20permissions%20on%20created%20files%2Fdirectories%20with%20perms%3D0%2Fdontchmod" \
style="text-decoration: none; color: #2D50FD">  Reply to group            </a>
          </td>
          <td>&bull;</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;" >
            <a href="https://groups.yahoo.com/neo/groups/unison-users/conversations/ne \
wtopic;_ylc=X3oDMTJkcTg1N25pBF9TAzk3MzU5NzE0BGdycElkAzQ3OTc2NwRncnBzcElkAzE3MDUwMDQ3MjYEc2VjA2Z0cgRzbGsDbnRwYwRzdGltZQMxNDAwNTYyNDU1" \
style="text-decoration: none; color: #2D50FD">Start a New Topic</a>  </td>
          <td>&bull;</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;color: \
#2D50FD;" >  <a href="https://groups.yahoo.com/neo/groups/unison-users/conversations/t \
opics/11154;_ylc=X3oDMTM1Zm5nNHRmBF9TAzk3MzU5NzE0BGdycElkAzQ3OTc2NwRncnBzcElkAzE3MDUwM \
DQ3MjYEbXNnSWQDMTExNjIEc2VjA2Z0cgRzbGsDdnRwYwRzdGltZQMxNDAwNTYyNDU1BHRwY0lkAzExMTU0" \
style="text-decoration: none; color: #2D50FD;">Messages in this topic</a>  (4)
                      </td>
        </tr>
      </tbody>
    </table>

        
<div id="megaphoneModule">
            <hr style="height:2px ; border-width:0; color:#E3E3E3; \
background-color:#E3E3E3;">  <div>
	     <div class="feature_intro">
            <div style="background-color:white;padding:0px 10px;">
                <div class="header" \
style="margin-right:10px;display:inline-block;width:400px;">  <a rel="nofollow" \
style="text-decoration:none;" target="_blank" \
href="https://groups.yahoo.com/neo;_ylc=X3oDMTExc2JuanI3BF9TAzk3MzU5NzE0BGNmMTADQ1AEc2VjA21lZ2FwaG9uZQ--"><div \
style="font-size:15px;line-height:20px;color:blue;">Just  launched ! Link preview on \
Yahoo Groups</div></a>  <div class="snippet" style="margin-top:5px;">Visit your Group \
on the web, simply paste the link to the article, photo or video you wish to share in \
the message you are composing.</div>  </div>
                <div \
style="display:inline-block;vertical-align:top;margin-top:10px;">  
                    <a rel="nofollow" target="_blank" \
href="http://yahoogroups.tumblr.com/post/85014546066/bye-bye-blue-links-welcome-link-preview" \
name="lm_btn_url" style="text-decoration:none;">  <input type="button" class="lm-btn" \
value="Learn more" style="font-size:14px;vertical-align:middle;height:30px;cursor:pointer;margin-bottom:10px;width:100px;background-color:rgb(250, \
250, 250);margin-right:10px;" name="lm_btn">  </a>
                    
                    
                    <a rel="nofollow" target="_blank" \
href="https://groups.yahoo.com/neo;_ylc=X3oDMTExc2JuanI3BF9TAzk3MzU5NzE0BGNmMTADQ1AEc2VjA21lZ2FwaG9uZQ--" \
name="try_btn_url" style="text-decoration:none;">  <input type="button" \
class="try-btn" value="Try it now" \
style="font-size:14px;vertical-align:middle;height:30px;cursor:pointer;margin-bottom:10px;width:100px;background-color:rgb(250, \
250, 250);" name="try_btn">  </a>
                    
                </div>
            </div>
        </div>        </div>  
     
    <hr style="height:2px ; border-width:0; color:#E3E3E3; \
background-color:#E3E3E3;"> </div>

<!------- Start Nav Bar ------>
<!-- |**|begin egp html banner|**| -->
<!-- |**|end egp html banner|**| -->




 

<!-- |**|begin egp html banner|**| -->
<div id="ygrp-vital" style="background-color: #f2f2f2; font-family: Verdana; \
font-size: 10px; margin-bottom: 10px; padding: 10px;">

    <span id="vithd" style="font-weight: bold; color: #333; text-transform: \
uppercase; "><a href="https://groups.yahoo.com/neo/groups/unison-users/info;_ylc=X3oDM \
TJkNGR2czA3BF9TAzk3MzU5NzE0BGdycElkAzQ3OTc2NwRncnBzcElkAzE3MDUwMDQ3MjYEc2VjA3Z0bARzbGsDdmdocARzdGltZQMxNDAwNTYyNDU1" \
style="text-decoration: none;">Visit Your Group</a></span>

     <ul style="list-style-type: none; margin: 0; padding: 0; display: inline;">
            <li style="border-right: 1px solid #000; font-weight: 700; display: \
inline; padding: 0 5px; margin-left: 0;">  <span class="cat"><a \
href="https://groups.yahoo.com/neo/groups/unison-users/members/all;_ylc=X3oDMTJlcmR1OD \
N2BF9TAzk3MzU5NzE0BGdycElkAzQ3OTc2NwRncnBzcElkAzE3MDUwMDQ3MjYEc2VjA3Z0bARzbGsDdm1icnMEc3RpbWUDMTQwMDU2MjQ1NQ--" \
style="text-decoration: none;">New Members</a></span>  <span class="ct" style="color: \
#ff7900;">2</span>  </li>
                                              </ul>
  </div>


<div id="ft" style="font-family: Arial; font-size: 11px; margin-top: 5px; padding: 0 \
2px 0 0; clear: both;">  <a \
href="https://groups.yahoo.com/neo;_ylc=X3oDMTJjbGM4djNsBF9TAzk3MzU5NzE0BGdycElkAzQ3OTc2NwRncnBzcElkAzE3MDUwMDQ3MjYEc2VjA2Z0cgRzbGsDZ2ZwBHN0aW1lAzE0MDA1NjI0NTU-" \
style="float: left;"><img \
src="http://l.yimg.com/ru/static/images/yg/img/email/new_logo/logo-groups-137x15.png" \
height="15" width="137" alt="Yahoo! Groups" style="border: 0;"/></a>  <div \
style="color: #747575; float: right;"> &bull; <a \
href="https://info.yahoo.com/privacy/us/yahoo/groups/details.html" \
style="text-decoration: none;">Privacy</a> &bull; <a \
href="mailto:unison-users-unsubscribe@yahoogroups.com?subject=Unsubscribe" \
style="text-decoration: none;">Unsubscribe</a> &bull; <a \
href="https://info.yahoo.com/legal/us/yahoo/utos/terms/" style="text-decoration: \
none;">Terms of Use</a> </div> </div>
<br>

<!-- |**|end egp html banner|**| -->

  </div> <!-- ygrp-msg -->

 
  <!-- Sponsor -->
  <!-- |**|begin egp html banner|**| -->
  <div id="ygrp-sponsor" style="width:160px; float:right; clear:none; margin:0 0 25px \
0; background: #fff;">

<!-- Start Recommendations -->
<div id="ygrp-reco">
     </div>
<!-- End Recommendations -->



  </div>   <!-- |**|end egp html banner|**| -->

  <div style="clear:both; color: #FFF; font-size:1px;">.</div>
</div>

  <img src="http://geo.yahoo.com/serv?s=97359714/grpId=479767/grpspId=1705004726/msgId=11162/stime=1400562455" \
width="1" height="1"> <br>

<img src="http://y.analytics.yahoo.com/fpc.pl?ywarid=515FB27823A7407E&a=10001310322279&js=no&resp=img&cf10=CP" \
width="1" height="1"> 

<div style="color: #fff; height: 0;">__,_._,___</div>
<!--~-|**|PrettyHtmlEnd|**|-~-->

</body>

<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
  <style type="text/css">
  <!--
  #ygrp-mkp {
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 10px 0;
  padding: 0 10px;
}

#ygrp-mkp hr {
  border: 1px solid #d8d8d8;
}

#ygrp-mkp #hd {
  color: #628c2a;
  font-size: 85%;
  font-weight: 700;
  line-height: 122%;
  margin: 10px 0;
}

#ygrp-mkp #ads {
  margin-bottom: 10px;
}

#ygrp-mkp .ad {
  padding: 0 0;
}

#ygrp-mkp .ad p {
  margin: 0;
}

#ygrp-mkp .ad a {
  color: #0000ff;
  text-decoration: none;
}
  #ygrp-sponsor #ygrp-lc {
  font-family: Arial;
}

#ygrp-sponsor #ygrp-lc #hd {
  margin: 10px 0px;
  font-weight: 700;
  font-size: 78%;
  line-height: 122%;
}

#ygrp-sponsor #ygrp-lc .ad {
  margin-bottom: 10px;
  padding: 0 0;
}

  #actions {
    font-family: Verdana;
    font-size: 11px;
    padding: 10px 0;
  }

  #activity {
    background-color: #e0ecee;
    float: left;
    font-family: Verdana;
    font-size: 10px;
    padding: 10px;
  }

  #activity span {
    font-weight: 700;
  }

  #activity span:first-child {
    text-transform: uppercase;
  }

  #activity span a {
    color: #5085b6;
    text-decoration: none;
  }

  #activity span span {
    color: #ff7900;
  }

  #activity span .underline {
    text-decoration: underline;
  }

  .attach {
    clear: both;
    display: table;
    font-family: Arial;
    font-size: 12px;
    padding: 10px 0;
    width: 400px;
  }

  .attach div a {
    text-decoration: none;
  }

  .attach img {
    border: none;
    padding-right: 5px;
  }

  .attach label {
    display: block;
    margin-bottom: 5px;
  }

  .attach label a {
    text-decoration: none;
  }
  
  blockquote {
    margin: 0 0 0 4px;
  }

  .bold {
    font-family: Arial;
    font-size: 13px;
    font-weight: 700;
  }

  .bold a {
    text-decoration: none;
  }

  dd.last p a {
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span {
    margin-right: 10px;
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span.yshortcuts {
    margin-right: 0;
  }

  div.attach-table div div a {
    text-decoration: none;
  }

  div.attach-table {
    width: 400px;
  }

  div.file-title a, div.file-title a:active, div.file-title a:hover, div.file-title \
a:visited {  text-decoration: none;
  }

  div.photo-title a, div.photo-title a:active, div.photo-title a:hover, \
div.photo-title a:visited {  text-decoration: none;
  }

  div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
    font-family: Verdana;
    font-size: 10px;
    font-weight: normal;
  }

  .green {
    color: #628c2a;
  }

  .MsoNormal {
    margin: 0 0 0 0;
  }

  o {
    font-size: 0;
  }

  #photos div {
    float: left;
    width: 72px;
  }

  #photos div div {
    border: 1px solid #666666;
    height: 62px;
    overflow: hidden;
    width: 62px;
  }

  #photos div label {
    color: #666666;
    font-size: 10px;
    overflow: hidden;
    text-align: center;
    white-space: nowrap;
    width: 64px;
  }

  #reco-category {
    font-size: 77%;
  }

  #reco-desc {
    font-size: 77%;
  }

  .replbq {
    margin: 4px;
  }

  #ygrp-actbar div a:first-child {
   /* border-right: 0px solid #000;*/
    margin-right: 2px;
    padding-right: 5px;
  }

  #ygrp-mlmsg {
    font-size: 13px;
    font-family: Arial, helvetica,clean, sans-serif;
    *font-size: small;
    *font: x-small;
  }

  #ygrp-mlmsg table {
    font-size: inherit;
    font: 100%;
  }

  #ygrp-mlmsg select, input, textarea {
    font: 99% Arial, Helvetica, clean, sans-serif;
  }

  #ygrp-mlmsg pre, code {
    font:115% monospace;
    *font-size:100%;
  }

  #ygrp-mlmsg * {
    line-height: 1.22em;
  }

  #ygrp-mlmsg #logo {
    padding-bottom: 10px;
  }


  #ygrp-msg p a {
    font-family: Verdana;
  }

  #ygrp-msg p#attach-count span {
    color: #1E66AE;
    font-weight: 700;
  }

  #ygrp-reco #reco-head {
    color: #ff7900;
    font-weight: 700;
  }

  #ygrp-reco {
    margin-bottom: 20px;
    padding: 0px;
  }

  #ygrp-sponsor #ov li a {
    font-size: 130%;
    text-decoration: none;
  }

  #ygrp-sponsor #ov li {
    font-size: 77%;
    list-style-type: square;
    padding: 6px 0;
  } 

  #ygrp-sponsor #ov ul {
    margin: 0;
    padding: 0 0 0 8px;
  }

  #ygrp-text {
    font-family: Georgia;
  }

  #ygrp-text p {
    margin: 0 0 1em 0;
  }

  #ygrp-text tt {
    font-size: 120%;
  }

  #ygrp-vital ul li:last-child {
    border-right: none !important; 
  } 
  -->
  </style>
</head>

<!--~-|**|PrettyHtmlEnd|**|-~-->
</html>
<!-- end group email -->



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic