Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Mac OS X Catalina - NFS File Access Behavior in CRON or Launchd Post 303045424 by bminear on Friday 20th of March 2020 10:40:09 AM
Old 03-20-2020
Mac OS X Catalina - NFS File Access Behavior in CRON or Launchd

I'm really struggling here, and I think this is a new effect of upgrade to Catalina. I have an automounted NFS directory that contains a file I want to periodically copy to my Mac's local file system. I have a script that does this, and it worked beautifully before Catalina upgrade. If I run the script manually (as root) it's all good. If I run the script as part of a scheduled job it fails. I've tried launching the script in root owned cron job, and I've tried using Launchd. Both fail the same way.

My script:

#!/bin/sh

if [ -f /System/Volumes/Data/nfs/hosts ]
then
cat /etc/hosts.base /System/Volumes/Data/nfs/hosts > /etc/hosts
fi


/System/Volumes/Data/nfs is an NFS share coming off a Synology NAS.

The [ -f ...] part works fine. It can successfully determine if the hosts file exists in the NFS directory. But the cat command fails reading the hosts file. Again, if I run the script manually it all works fine. It only fails if the script is launched from cron or launchd.

File permissions:

brians-mbp:etc root# ls -la /System/Volumes/Data/nfs/hosts
-rwxrwxrwx 1 1024 _lpoperator 2393 Feb 8 14:29 /System/Volumes/Data/nfs/hosts

I've tried fiddling with owner and group, no effect. I've tried different approaches of mounting the NFS drive (automount, fstab, etc), no effect. I've tried different directories, different filenames, etc, no effect. I've tried using different shells in the script (sh, zsh, ...), no effect.

I've tried to find whether Catalina introduced some new ACL mechanisms but can't find anything other than gripes about how Apple changed directory structure in Catalina. But the fact that the script runs just fine if run manually tells me the permissions/ACLs must be ok.

Any ideas?

Brian
 

7 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Strange IP traffic behavior when using Samba and FTP (Windows/Mac to Linux)

I have set up a samba share on my Linux server. I have a gigabit switch, gigabit NICs in each machine. I have set up the /etc/samba/smb.conf to support no delay, 8192 send/receive buffers, etc. This helped the rate for Samba go from about 4MB/S to about 10MB/S, but I expect to see about... (1 Reply)
Discussion started by: perspectx
1 Replies

2. AIX

Cannot access NFS file system

I create a NFS file system. I can read this system from client, however, I cannot write anything in this folder. Why? (1 Reply)
Discussion started by: rainbow_bean
1 Replies

3. Shell Programming and Scripting

Behavior of Bad Script in Cron Job

Hi A Ksh script is deployed in a server and executed through cronjob. If one of the line in the middle of the script fails . Are the remaining lines executed ? (3 Replies)
Discussion started by: Sivaswami
3 Replies

4. Red Hat

NFS Access Issue

Hi, I am facing issue on NFS. I have shared /data file file system on Server 192.192.192.1, added below lines in /etc/exports /data 192.192.192.2(rw,no_root_squash,sync) the owner of /data directory was test(uid 500) and same I have mounted on another server 192.192.192.2 where the... (3 Replies)
Discussion started by: manoj.solaris
3 Replies

5. Shell Programming and Scripting

grep startup messages from catalina.out file

Hello Team, I am trying to extract date from the following output and trying to compare with current date and if there is 10 minute difference between the two. it should logs message in the file server is started.can anyone help me to implement this in the script? (1 Reply)
Discussion started by: coolguyamy
1 Replies

6. UNIX for Advanced & Expert Users

Different redirection behavior in BASH/Linux when run under cron vice login ???

run_xfs_fsr is a xfs filesystem maintenance script designed to run under cron. The system is a home theater personal computer running mythbuntu 10.10, and is accessed remotely for these tests. cron runs a script, (xfs_fsr.sh) at 02:30 that runs the subject script under BASH and sets the... (3 Replies)
Discussion started by: keepitsimpleeng
3 Replies

7. UNIX for Dummies Questions & Answers

Launchd-owned processes unexpected behavior

Ok, so I have been struggling with this for a few days and I think I need an explanation of a few things before I go any further. I'm not sure it's possible to do what I'm trying, so before I pull my hair out, here is what I'm doing: I have written a program in LiveCode that sits on our... (2 Replies)
Discussion started by: nextyoyoma
2 Replies
exports(5nfs)															     exports(5nfs)

Name
       exports - defines NFS file systems to be exported

Syntax
       /etc/exports

Description
       The  file  describes  the  local file systems and directories that can be mounted by remote hosts through the use of the NFS protocol.  The
       file can also be used to restrict access to a particular set of remote systems.	The request daemon accesses the file each time it receives
       a mount request from an NFS client.

       Each  entry  in the file consists of a file system or directory name followed by an optional list of options or an optional list of identi-
       fiers or both. The identifiers define which remote hosts can mount that particular file system or directory.  The identifiers listed beside
       the  name of each file system or directory can be either host names or YP netgroups names.  When the daemon receives a mount request from a
       client, it searches for a match in the list of identifiers, first by checking the client host name with the host name identifiers and  sec-
       ond  by	checking  the  client  host  name  in a YP netgroups.  When it finds a match, makes that file system or directory available to the
       requesting client.

       The exports file format is defined as follows:
       pathname [-r=#] [-o] [identifier_1 identifier_2 ... identifier_n]
       or
       #anything

       Name of a mounted local file system or a directory of a
		      mounted local file system . The must begin in column 1.

       options:

		      -r=#    Map client superuser access to uid #.  If you want to allow client superusers access to the file system or directory
			      with  the  same permissions as a local superuser, use Use only if you trust the superuser on the client system.  The
			      default is which maps a client superuser to nobody.  This limits access to world readable files.

		      -o      Export file system or directory read-only.

			      The options can be applied to both file system and directory entries in

       identifiers:   Host names or netgroups, or both, separated by white space, that specify the access list for this export.   Host	names  can
		      optionally contain the local BIND domain name.  For more information on BIND, see the Guide to the BIND/Hesiod Service If no
		      hosts or netgroups are specified, the daemon exports this file system or directory to anyone requesting it.

       A number sign (#) anywhere in the line marks a comment that extends to the end of that line.

       A whitespace character in the left-most position of a line indicates a continuation line.

       Each file system that you want to allow clients to mount must be explicitly defined.  Exporting only the root (/) will not allow clients to
       mount Exporting only will not allow clients to mount if it is a file system.

       Duplicate directory entries are not allowed.  The first entry is valid and following duplicates are ignored.

       Desired export options must be explicitly specified for each exported resource: file system or directory.  If a file system and subdirecto-
       ries within it are exported, the options associated with the file system are not ``inherited''.	You do not need to export an  entire  file
       system to allow clients to mount subdirectories within it.

       The  access  list  associated with each exported resource identifies which clients can mount that resource with the specified options.  For
       example, you can export an entire file system read-only, with a subdirectory within it exported read-write to a subset of  clients.   If  a
       client  that  is  not  identified in the export access list of a directory attempts to mount it, then access is checked against the closest
       exported ancestor.  If mount access is allowed at a higher level in the directory tree of the file system, the  export  options	associated
       with the successful match will be in effect.

       If  you	are concerned with nfs security, all ufs file systems exported via nfs should be ufs mounted with the option. All ufs file systems
       exported via nfs with the option specified in the file should be ufs mounted with the option.

Examples
       /usr alpha beta	       # export /usr to hosts alpha and beta, client
				 superuser maps to uid -2 and read-write
				 access is permitted

       /usr/staff/doe clients  # export directory to hosts in netgroup clients

       /usr/man/man1 -o        # export directory read-only to everyone

       /usr/local -r=0 beta    # export file system to beta, superuser
				 on beta maps to local superuser (uid=0)

Files
See Also
       hosts(5), mountd(8nfs), netgroup(5yp)
       Guide to the BIND/Hesiod Service
       Introduction to Networking and Distributed System Services

																     exports(5nfs)
All times are GMT -4. The time now is 08:53 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy