www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2022/07/01/01:47:23

X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B7DF53858419
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1656654442;
bh=gxsThCxXA0QFkTQdM3iN+VYV2n0+49V/UB9nxLJVRzI=;
h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post:
List-Help:List-Subscribe:From:Reply-To:From;
b=Jdv3GqocJIOL+BHAudjUVw3R39OIKRARH06KL/ny4tjzPMx3Mdx4HXNT2ZK0MxIyP
GzaaL1XtOIboKnb61oW1Bkyfe2137vyShxWPdziWnZ4ibEYq1rlfbRt1XLQR7opiLV
afCACiCcbnKxqYgd5ocg+2byjMY7dCq/lCVkKtBs=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 84A313858D39
X-SBRS-Extended: Low
X-IronPortListener: ces-out
X-IronPort-AV: E=Sophos;i="5.92,236,1650945600"; d="scan'208";a="307205854"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
b=hlIZEK2LLTO61O54qPZYAqRdFXtkPCiA7YltE6AwpIXi1W1zGBLQNDfJkw3C4ZzwKRQoYc91m7/puQ0GrwYIgS0rxKcsM8ERbUBuSY0rTdqelliriYaXgWSFncumXXnFpwTQuMxFrAkEnrjOAWknpNuGuywu8/bCq9TZwltoFn7STAjQNgnmE+u7okzV3Gm/8+KYezJnQp/d2kWQ0NGPvyy8Eu/ygzkZ12AI45aYcI1JuIagtNcRoVrUv64C+VfUKtRi+kwbUqEMgXOFqsbvGuYsnArhVnlNh48o/pLadrp5uMAJhHuHQHhd+hckRKBZVlXIy3DX50WD/QlMG3z6sA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector9901;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=KJ4VTneJIwQEfMZHr1SHMhJTznZ5eiIDZegwN+xDtqI=;
b=SjEfCe7ZCVqEFldbobEycSNGgEG93O5wseE3RufIn9sj0Jzl7EbkTgR0qSEUsYaj/kKp9LvRQskeWoq5Lv5NUHT+lM9Al2vtmCq94JaF6z39S/EJ0zvMJF6lKvBmsBsGoRM49TjsctC0DZPKMjadqqdPv0blOTYMjvSi4nyGYeiDhU8XneHHpskH1XYIhv3psnGjK1I1G96F1SBEP/r4bmKsFypJONqH4eH0Ly0YqNgKCv7vWhdNk/qHuq4dujdyrwfGWQ9OOd2KXQJvPVpKRwm+P3xK0vAtNnF4/It33knemJL/osetwwE5kixHbLTEN3Fow3KGPnolF21fMErh/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=ncbi.nlm.nih.gov; dmarc=pass action=none
header.from=ncbi.nlm.nih.gov; dkim=pass header.d=ncbi.nlm.nih.gov; arc=none
To: "'cygwin AT cygwin DOT com'" <cygwin AT cygwin DOT com>
Subject: Weird issue with file permissions
Thread-Topic: Weird issue with file permissions
Thread-Index: AdiNDXVeWrE4qIEITUO9Wn6ddETWwA==
Date: Fri, 1 Jul 2022 05:46:44 +0000
Message-ID: <DM8PR09MB709508104694224E0803C069A5BD9@DM8PR09MB7095.namprd09.prod.outlook.com>
Accept-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 9a0b0693-dc39-4617-4046-08da5b251469
x-ms-traffictypediagnostic: DM6PR09MB4775:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: /W2+5rgKW908xBLhICoqyxWrqhT1Knb4yWtLgBtwAsizuAVM3mnFtSsJZ1LBVMYy2siOexXrjADy6WtGG4kZFVb9zGCHH8af9l0hkwigXGnv9ttoD3HVbCNQK+3bym4X8N+PDVFNyInULpE5OxK7J2jcaKM67XxNa3BMUAn+4wbhgwcO6EOuNxHKdbLE9d0GfwksMtgbGPydVNwb1aRW/sjj5jN0JfZ0SyS2BCmYGHENS1gTo0/FqvFhEOR/aBGz4G3B/o4qdb2DVVIfWIUZ7xCZECKFFu8RvsBtEX8dj6hZHHIBDqopdDtKQKVuyLErOlhOlKltPzPeYR8f9GjNrntxU0PmhMhEUvwphXm7kW91SljdciLPkYQ0SNM0obSAQoCnQ2GXgVqxzn16kzUGGz5LF2wFosNe335OWtkIRJaSUcvCfxhrc2BFEzY6eI1Uf2C/hdYDGV85ObvOA5mAfoI6MY09OnYpzudVg10bZRje8+sbIKuHsIAJyM+CWV8ec8Qh1l8Mo4Sda+5svRXfEvu2fG6XMEEE+5n58XHSSOmFFAUJzPb20HiCjuzZAkguiXo+AMwkTO0kHLcIKiApUMdEIIJfGtR91ivYu12jCV3LkGOYC++/4ePyOfiJ8U1JSSL/B+aozSUpI+BUEAZo1vweCsvAEK1Z/UdnZrgWnxzFhbsIF+EGInqhlSgbnkgfLM0Dm/VLwfjpQL473L6ON7fJWSIEXJz73lly3Q+rQ+AAHvNyKpzSavxW3ahJzmnmkPCME3mWrZDq9UHpCrHrEde1xzmS8KWOmPHyjr0cBn4JBH/vzj/v+OHstxiI25iqd2Q1rKYKIxjad+es59LFUA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
IPV:NLI; SFV:NSPM; H:DM8PR09MB7095.namprd09.prod.outlook.com; PTR:; CAT:NONE;
SFS:(13230016)(4636009)(366004)(38100700002)(186003)(83380400001)(64756008)(76116006)(8676002)(66446008)(66476007)(66946007)(71200400001)(66556008)(122000001)(55016003)(7696005)(52536014)(6916009)(6506007)(33656002)(8936002)(38070700005)(26005)(2906002)(86362001)(9686003)(498600001)(5660300002)(491001);
DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?nrEYAjpM6gJ3QsJcs0J7m+4u1d/y9750zZTRsOajiUMr+xZf+ob3V0Y/liP/?=
=?us-ascii?Q?aAkFGBLv/IlRi3KyMGJZTPiDGML5i7YkP+mld8H/eZ6l0Y2arhl9IACvV672?=
=?us-ascii?Q?aJUxI8tEpQGVc5JtK05WZPonZ7D6tcw8C/VYAwfP5yXxowbW3568HZIBGIon?=
=?us-ascii?Q?YG2p61oAx1TL04R4y7LdJAhQ5cNLk+LOVrce/Cqk7Fe+1l+8s/fCcT8r8J9A?=
=?us-ascii?Q?FucDajgvFvf5ULILBK/wVoVFF26+XeBymCYy0o9Ekh3Uv9lv3dXyqMW9cRtM?=
=?us-ascii?Q?c0c2JD+aezGcO1jHoj1LkztDayC6VynhMiCIgJHeSj9P92UHtoTiLkpVYb3g?=
=?us-ascii?Q?FTH/tF6Et3mn5lEZoVMfHuY3BADSU9rknt9qp08JTAK292XHYKGMqD3Ce77F?=
=?us-ascii?Q?PxHdGEFL5S5UGXehxbPKWz94uV8RQqT2+WbEWst9np4AG3WmTWcOTj+3d4tx?=
=?us-ascii?Q?O1PcszXqTVJ0m/vFPfzPsSJrrc/GaSABYBSYQl4ZHzryq4l7DfN3fLOtxdEI?=
=?us-ascii?Q?9pvQfvGqnag7AzRqzpE7DYZ7vxP0w65oCkqhBpdvfSESYPiDtdwJ4urPj18J?=
=?us-ascii?Q?CVZIad2VwwVEFKYVP6Ezjb8TZkZ9uT7HHuCPi+G3SwzAnEC8mk9pUKd40oBI?=
=?us-ascii?Q?8GkCvLtgb4csnoV1XNBYKM2KDA3Pn6gs4oPg4dBFZmGDoyfa7a08FBlhEFtP?=
=?us-ascii?Q?IdCurXzxACPdLsLhvmS0kAKvxfNtsneFs0lExdTQBdQxR7+gBQgQ8sJTanZI?=
=?us-ascii?Q?K+cnGYclaZd/fT7Gs9vhbrieuvcqak4lx1GscqEXhG9E1QLpLR+Gj1KGMWOB?=
=?us-ascii?Q?0i0a9Z1TCgxMGlat8VU3kCYoavYJ5zwDzPHcrpT+mJbwJ7qVsyGmlv7vDulg?=
=?us-ascii?Q?iZlSEkB/QJgNmGdC8QGHFPNrRxD0ur4P3qiG7TeNKPMp4iKGUamJGU+ETGqq?=
=?us-ascii?Q?YuyeUAKSt+/jox3lKm1P6FFCwhLyHoLIUJub3bddkRN9mN3BSVK2IGGmUvRx?=
=?us-ascii?Q?vsyLcx6nPClLJXSHIVgwIu5YP2XIPkraFGuc21rOL/pB6AOxb8JWTSXf46FT?=
=?us-ascii?Q?wDd1pphhnV9O6O8teUl6LiTTyMxZ9CR+7XMjTCXzsuUUjv0+xEinoE1QyV5c?=
=?us-ascii?Q?UGgufEZu2oy7CC7MNOFh4wyBZoz3bIP32cRrbrxFZ/IWgGjNJJOvsy8aoWSh?=
=?us-ascii?Q?t7SG0YHrs8RQSYTHiWrGHVYbRrjwo6aC3s/xxaOVzZQHb8gUDuIhc8CZifxD?=
=?us-ascii?Q?gJz9nFJB9Fmg3ecOU7EyJwi5HoSe6WfrceVO+IadH5i3LnDSioUn/C5i0D/g?=
=?us-ascii?Q?u2XAdUDmi38Khx0QuqrKOnWHtenI2bQXq6iqmK6LDOTanyssH9En1uxAwOI3?=
=?us-ascii?Q?v4EhQdefBCWBF6Nku9CZ8q6Cj7kRtUjkR/U17LjkHg1qnL2TiCys6Koloiaz?=
=?us-ascii?Q?vkTgaq10j/ozPSkt76tzyERHL2m9kaI5swBpSs1gIqPZh08QGEti4mW2tVEp?=
=?us-ascii?Q?jPjEdQImcSZed7QGPDBEWksKoEj+OX3fHWQDJflFE9OfrBcBDRSMeqAva6gy?=
=?us-ascii?Q?lZuMRv2dESEKgS5daZ4=3D?=
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM8PR09MB7095.namprd09.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a0b0693-dc39-4617-4046-08da5b251469
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Jul 2022 05:46:44.0237 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 14b77578-9773-42d5-8507-251ca2dc2b06
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR09MB4775
X-OriginatorOrg: ncbi.nlm.nih.gov
X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00, DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_EF, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE,
T_SPF_HELO_PERMERROR autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: "Lavrentiev, Anton \(NIH/NLM/NCBI\) \[C\] via Cygwin" <cygwin AT cygwin DOT com>
Reply-To: "Lavrentiev, Anton \(NIH/NLM/NCBI\) \[C\]" <lavr AT ncbi DOT nlm DOT nih DOT gov>
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com>

Hi all,

I am having an issue with socket file permissions...

So here's a mockup of code that shows the problem:

$ cat sun.c
#include <stdio.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/un.h>


#define SOCKET "./.socket"

int main()
{
    struct sockaddr_un addr;
    struct stat st;
    mode_t u;
    int s;

    /* create a UNIX socket */
    if ((s = socket(PF_UNIX, SOCK_STREAM, 0)) < 0) {
        perror("socket");
        return 1;
    }

    memset(&addr, 0, sizeof(addr));
    addr.sun_family = PF_UNIX;
    strcpy(addr.sun_path, SOCKET);
    unlink(SOCKET);

    u = umask(0);
    if (bind(s, (struct sockaddr*) &addr, sizeof(addr)) != 0) {
        perror("bind");
        return 1;
    }

    umask(u);
    if (fchmod(s, 0666) < 0)
        printf("fchmod: %m\n");

    if (fstat(s, &st) < 0) {
        perror("fstat");
        return 1;
    }

    printf("fstat mode = %03o\n", st.st_mode);


    if (stat(SOCKET, &st) < 0) {
        perror("stat");
        return 1;
    }

    printf("stat mode = %03o\n", st.st_mode);

    return 0;
}

$ gcc -Wall -o sun sun.c

Now, if I run this code in my Cygwin home directory (and any directory that I create using "mkdir..." under it),
I am getting the expected results:

$ ~/sun
fstat mode = 140666
stat mode = 140666

$ ls -l .socket
srw-rw-rw-+ 1 ANTON None 0 Jul  1 01:19 .socket=

However, if I run it elsewhere (different drive "cd /cygdrive/g/cygwin" -- it's NOT where Cygwin is installed,
just a folder that keeps files for Cygwin development, the installation is on C:\Cygwin64), I cannot predict
the results.  What's weird is that fstat and stat report different file modes.

$ pwd
/cygdrive/g/cygwin
$ ~/sun
fstat mode = 140666
stat mode = 140666
$ ls -l .socket
srw-rw-rw-+ 1 ANTON None 0 Jul  1 01:24 .socket=

So all's good here, BUT:

$ mkdir subdir
$ cd subdir
$ pwd
/cygdrive/g/cygwin/subdir
$ ~/sun
fstat mode = 140666
stat mode = 140664
$ ls -l .socket
srw-rw-r--+ 1 ANTON None 0 Jul  1 01:25 .socket=

Note that fstat lied!

For some reason getfacl returns "Not supported", so I could not investigate with that, but I'm showing below
the icacls outputs for both /cygwin/g/cygwin and /cygdrive/g/cygwin/subdir with their .socket files, respectively.

At any rate, it looks like fstat, despite reporting the mode, wasn't actually able to bake it on disk
using those insanely complicated Windows permissions.

What's more insane, is that using the chmod command from shell, I'm able to change the permissions to 0666,
and it sticks:

$ pwd 
/cygdrive/g/cygwin/subdir
$ chmod 0666 .socket
$ ls -l .socket
srw-rw-rw-+ 1 ANTON None 0 Jul  1 01:25 .socket=

Any insights will be highly appreciated!
Thanks.

$ pwd
/cygdrive/g/cygwin

$ icacls .
. BUILTIN\Administrators:(I)(F)
  BUILTIN\Administrators:(I)(OI)(CI)(IO)(F)
  NT AUTHORITY\SYSTEM:(I)(F)
  NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F)
  NT AUTHORITY\Authenticated Users:(I)(M)
  NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M)
  BUILTIN\Users:(I)(RX)
  BUILTIN\Users:(I)(OI)(CI)(IO)(GR,GE)

$ icacls .socket
.socket NULL SID:(DENY)(Rc,S,WEA,X,DC)
        ANTON\ANTON:(R,W,D,WDAC,WO)
        ANTON\None:(DENY)(S,X)
        NT AUTHORITY\Authenticated Users:(DENY)(S,X)
        NT AUTHORITY\SYSTEM:(DENY)(S,X)
        BUILTIN\Administrators:(DENY)(S,X)
        BUILTIN\Users:(DENY)(S,X)
        ANTON\None:(RX,W)
        NT AUTHORITY\Authenticated Users:(RX,W)
        NT AUTHORITY\SYSTEM:(RX,W)
        BUILTIN\Administrators:(RX,W)
        BUILTIN\Users:(RX,W)
        Everyone:(R,W)

$ cd subdir

$ icacls .
. NULL SID:(DENY)(Rc,S,REA,WEA,X,DC)
  ANTON\ANTON:(F)
  ANTON\None:(RX)
  NT AUTHORITY\Authenticated Users:(RX,W,DC)
  NT AUTHORITY\SYSTEM:(RX,W,DC)
  BUILTIN\Administrators:(RX,W,DC)
  BUILTIN\Users:(RX)
  Everyone:(RX)
  NULL SID:(OI)(CI)(IO)(DENY)(Rc,S,REA,WEA,X,DC)
  CREATOR OWNER:(OI)(CI)(IO)(F)
  CREATOR GROUP:(OI)(CI)(IO)(RX)
  NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(RX,W,DC)
  NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(RX,W,DC)
  BUILTIN\Administrators:(OI)(CI)(IO)(RX,W,DC)
  BUILTIN\Users:(OI)(CI)(IO)(RX)
  Everyone:(OI)(CI)(IO)(RX)

As created by the program:

$ icacls .socket
.socket NULL SID:(DENY)(Rc,S,WEA,X,DC)
        ANTON\ANTON:(R,W,D,WDAC,WO)
        ANTON\None:(DENY)(S,X)
        NT AUTHORITY\Authenticated Users:(DENY)(S,X)
        NT AUTHORITY\SYSTEM:(DENY)(S,X)
        BUILTIN\Administrators:(DENY)(S,X)
        BUILTIN\Users:(DENY)(S,X)
        ANTON\None:(RX)
        NT AUTHORITY\Authenticated Users:(RX,W)
        NT AUTHORITY\SYSTEM:(RX,W)
        BUILTIN\Administrators:(RX,W)
        BUILTIN\Users:(RX)
        Everyone:(R)

After chmod:

$ icacls .socket
.socket NULL SID:(DENY)(Rc,S,WEA,X,DC)
        ANTON\ANTON:(R,W,D,WDAC,WO)
        ANTON\None:(DENY)(S,X)
        NT AUTHORITY\Authenticated Users:(DENY)(S,X)
        NT AUTHORITY\SYSTEM:(DENY)(S,X)
        BUILTIN\Administrators:(DENY)(S,X)
        BUILTIN\Users:(DENY)(S,X)
        ANTON\None:(RX)
        NT AUTHORITY\Authenticated Users:(RX,W)
        NT AUTHORITY\SYSTEM:(RX,W)
        BUILTIN\Administrators:(RX,W)
        BUILTIN\Users:(RX)
        ANTON\None:(DENY)(W,DC)
        BUILTIN\Users:(DENY)(W,DC)
        Everyone:(R,W)

Anton Lavrentiev
Contractor NIH/NLM/NCBI


-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019