diff options
author | Jonas Smedegaard <dr@jones.dk> | 2002-04-22 11:14:45 +0000 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2002-04-22 11:14:45 +0000 |
commit | c2217fa4ff6405386019b9659d3ffae8d2d253fd (patch) | |
tree | fe37eeee4a4f225acbc05105b45c55be84808c2c /samba/smb-shares.conf.m4 | |
parent | e9f34cfa51f203e62887c7520ce3b7e5425f4e07 (diff) |
Rename smb-shares.m4 to the more sensible smb-shares.conf.m4 - and correct a fatal quote in the comment area.
Diffstat (limited to 'samba/smb-shares.conf.m4')
-rw-r--r-- | samba/smb-shares.conf.m4 | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/samba/smb-shares.conf.m4 b/samba/smb-shares.conf.m4 new file mode 100644 index 0000000..243e894 --- /dev/null +++ b/samba/smb-shares.conf.m4 @@ -0,0 +1,140 @@ +ifelse(` +/etc/samba/smb-shares.m4 +Copyright 2002 Jonas Smedegaard <dr@jones.dk> + +$Id: smb-shares.conf.m4,v 1.1 2002-04-22 11:14:45 jonas Exp $ + +m4 share definitions for generating Samba server smb.conf include file + +Usage: m4 -DFQDN=<FQDN> /etc/local-COMMON/samba/smb-shares.conf.m4 > /etc/samba/smb-shares.conf + +Depend on file /etc/local-COMMON/file-<FQDN>.m4 containing lines of +the following syntax: + _dir(<path>,<uid>,<gid>,<modes>)dnl + _homefiles(<os>,<mount>,<desc>,<path>[,ro])dnl + _files(<os>,<mount>,<desc>,<path>,<uid>,<gid>,<modes>[,ro[,<group>]|,rw,<group>[,<othergroup>]])dnl +where + <os>: Client operating systems (mac|win|any) + <mount>: Mount point name + Samba: Use single word and max. 8 characters for backwards compatibility + Some mount points are handled specially: + "netlogon" has browsing disabled + "userprofiles" pre-creates user subdirectory mode 700 + "reference" allows guests + "homes" pre-creates directory mode 755 (FIXME: that is bad!!!) + <desc>: Mount point description (iso8859-1 is (fully?) supported). + <uid>: user name of mountpoint owner + <gid>: group name of mountpoint owner + <modes>: Numeric access modes of mount point + <path>: Full path to mount point + <group>: Primary group with access to mountpoint (default readonly). Public access if omitted + <othergroup>: Secondary group with readonly access + +Example: + + _dir(/home/fsadmin/COMMON,fsadmin,fsadmin,755)dnl + _homefiles(win,homes,Personal files,%H/pc)) + _homefiles(mac,,Personal files,~/mac)) + _files(win,soft,softshare,/home/fsadmin/COMMON/software,fsadmin,fsadmin,775)dnl + _printer(win,LW,Networkprinter queue for Apple LaserWriter 16/600,/tmp,lw) + +')dnl +changequote(<, >)dnl +define(<_veto_mac>, </.AppleDouble/.AppleDesktop/Network Trash Folder/DesktopFolderDB/resource.frk/Icon^M/TheVolumeSettingsFolder/>)dnl +define(<_warn>, +< // WARNING: $1 +>)dnl +define(<_masks>, +< create mask = $1 + directory mask = $2 +>)dnl +define(<_pre_mkdir>, +< root preexec = '/bin/mkdir $1 \ + /bin/chown $2 $1 \ + /bin/chmod $3 $1' +>)dnl +define(<_dir>, <>)dnl +define(<_files>, +<ifelse($1,win, +undefine(<_mkdir>)dnl +undefine(<_group_read>)dnl +undefine(<_world_read>)dnl +undefine(<_user_write>)dnl +undefine(<_group_write>)dnl +[$2] + path = $4 +ifelse($3,,, +< comment = $3 +>)ifelse($2,<netlogon>, +< browseable = no +>, + $2,<userprofiles>, +<dnl +define(<_mkdir>, <$4/%U>)dnl +define(<_chown>, <%U>)dnl +define(<_chmod>, <700>)dnl +>, + $2,<reference>, +< guest ok = yes +>, + $2,<homes>, +<dnl +define(<_mkdir>, <$4>)dnl +define(<_chown>, <%S>)dnl +define(<_chmod>, <644>)dnl +define(<_user_write>)dnl +define(<_group_read>)dnl +define(<_world_read>)dnl +>, +<>)dnl +ifdef(<_mkdir>, +_pre_mkdir(<_mkdir>, <_chown>, <_chmod>)dnl +)dnl +ifdef($8, + ifelse($8,ro, +<dnl +define(<_group_read>)dnl +>, + $8,rw, + ifdef($9, + ifelse($9,, + _warn(<share group is "rw" but no group specified>), +<dnl +define(<_user_write>)dnl +define(<_group_write>)dnl +>)), + _warn(<share group is wrong. Must be "ro" or "rw">)dnl +))dnl +ifdef(<_user_write>, +< writeable = yes +>ifdef(<_group_write>, + ifdef(<_world_read>, + _masks(0664,0775), + _masks(0660,0770)), +ifdef(<_group_read>, + ifdef(<_world_read>, + _masks(0644,0755), + _masks(0640,0750)), + _masks(0600,0700))dnl +ifdef(<_veto>, +< delete veto files = Yes +>)dnl +), +dnl ***user read, group read***(?) +dnl ***user read*** +)dnl +ifelse($9,,, +< valid users = @$9 +>ifdef(<_group_write>, +< force group = +$9 +>))dnl +ifdef(<_veto>, +< veto files = _veto_mac +>)dnl +)dnl +>)dnl +define(<_homefiles>, +<ifelse($1,win, +<_files($1,$2,$3,$4)>)>)dnl +dnl +include(/etc/local-COMMON/file-FQDN.m4)dnl |