Reputation: 118
I'm trying create script for chown folder owner, but I have some problem with it.
I'm have are lot of folder in /home
. For examle:
/home/user1
/home/user2
/home/user_n
And want to change owner for folder based on folder name. For folder user1
need owner user1
, for folder user2
need owner user2
, for user_n
owner user_n
.
Now I have:
#!/usr/bin/python
import os
# Show only filders in /home
path = "/home/"
folderu = [f for f in os.listdir(path)
if os.path.isdir(os.path.join(path, f))]
print folderu
This is print for me all folder names in /home
.
I'm trying this:
#!/usr/bin/python
import os
import pwd
import grp
# Show only filders in /home
path = "/home/"
folderu = [f for f in os.listdir(path)
if os.path.isdir(os.path.join(path, f))]
print folderu
for somevar in folderu:
uid = pwd.getpwnam(folderu).pw_uid
gid = grp.getgrnam(folderu).gr_gid
os.chown(folderu, uid, gid)
But this can't working.
Upvotes: 1
Views: 3957
Reputation: 118
It`s working script:
#!/usr/bin/python
import os
import pwd
import grp
# Show only filders in /home
path = "/home/"
folderu = [f for f in os.listdir(path)
if os.path.isdir(os.path.join(path, f))]
for somevar in folderu:
uid = pwd.getpwnam(somevar).pw_uid
gid = grp.getgrnam(somevar).gr_gid
os.chown(somevar, uid, gid)
Upvotes: 1