Create dir on UNC when member of a specific group

You can share your Lua Scripts with everybody here.
Post Reply
sis3970
Posts: 5
Joined: Wed Feb 22, 2012 10:21 am

Create dir on UNC when member of a specific group

Post by sis3970 »

Hi all,

I try to create a script that will create a directory on a shared drive, but only when this user is member of a specific group. I want to execute the script on logon.

This is what works

Code: Select all

local newfolder = "//192.168.1.55/nas-000406_ftp/_cims/".."%Name"
c_MkDir(newfolder)
c_AddUserDirectory("%Domain","%Name",newfolder ,'/',true,true,true,true,true,true,true,true,true)
This does not work

Code: Select all

if table.maxn(c_GetUser("%Usergroups")) == "MyGroup"
then
local newfolder = "//192.168.1.55/nas-000406_ftp/_cims/".."%Name"
c_MkDir(newfolder)
c_AddUserDirectory("%Domain","%Name",newfolder ,'/',true,true,true,true,true,true,true,true,true)
end
Any idea what is wrong here?

Thanks in advance!
Sis
FTP
Site Admin
Posts: 2072
Joined: Tue Sep 29, 2009 6:09 am

Re: Create dir on UNC when member of a specific group

Post by FTP »

Code: Select all

do 
   local useruploaded = c_GetUser("%Domain","%Name")
   local grouplist = useruploaded["usergroups"]

   if grouplist ~= nil then
      for _,groupitem in pairs(grouplist) do 
         if groupitem.groupname == "MyGroup" then
		local newfolder = "//192.168.1.55/nas-000406_ftp/_cims/".."%Name"
		c_MkDir(newfolder)
		c_AddUserDirectory("%Domain","%Name",newfolder ,'/',true,true,true,true,true,true,true,true,true)
		break
	 end
      end
   end
end
sis3970
Posts: 5
Joined: Wed Feb 22, 2012 10:21 am

Re: Create dir on UNC when member of a specific group

Post by sis3970 »

Thanks! this works fine now.

Additional question, is there a way to add a sub-folder to the user, instead of a normal folder?
I guess I need an alternative for c_AddUserDirectory

Thanks
Sis
FTP
Site Admin
Posts: 2072
Joined: Tue Sep 29, 2009 6:09 am

Re: Create dir on UNC when member of a specific group

Post by FTP »

Do you want to add a virtual folder?

c_AddUserDirectory("%Domain","%Name",newfolder ,'myfolder',false,true,true,true,true,true,true,true,true)
sis3970
Posts: 5
Joined: Wed Feb 22, 2012 10:21 am

Re: Create dir on UNC when member of a specific group

Post by sis3970 »

Actually no, I would need a sub-folder.
We give root access to all users on group level, but only read.

Now I'd like to add a subfolder to give write permissions on a deeper level.

I don't know if this is possible via scripts, but via the Admin it works great...

Best Regards
Sis
FTP
Site Admin
Posts: 2072
Joined: Tue Sep 29, 2009 6:09 am

Re: Create dir on UNC when member of a specific group

Post by FTP »

OK, check out the following script:

Code: Select all

   local strDomain = "mydomain"
   local strUsername = "myuser"
   local tableUser = c_GetUser(strDomain,strUsername)

   for k,v in pairs(tableUser) do
      if type(v) == "boolean" then
         if v == true then
            tableUser[k] = 1
         else
            tableUser[k] = 0
         end
      end
   end

   local subfolder = {}
   subfolder["dir"] = "d:/game"
   subfolder["alias"] = ""
   subfolder["is_home_dir"] = false
   subfolder["fileread"] = true
   subfolder["filewrite"] = true
   subfolder["fileappend"] = false
   subfolder["filedelete"] = false
   subfolder["dirlist"] = true
   subfolder["dirmake"] = true
   subfolder["dirdelete"] = false
   subfolder["dirrename"] = false
   subfolder["filerename"] = false
   subfolder["zipfile"] = false
   subfolder["unzipfile"] = false

   table.insert(tableUser.subdir_perm, subfolder)

   tableUser.oldpassword = tableUser.password

   AddUser(strDomain,tableUser)
Post Reply