Я использую скрипт python для создания копии файловой системы linux.У меня проблемы с разрешениями на созданный каталог / tmp.Каталог / tmp должен иметь 1777 разрешений, то есть:
ls -l /
drwxrwxrwt 17 root root 16384 2011-03-01 09:50 tmp
, когда я делаю следующее,
os.mkdir('/mnt/tmp',1777)
Я получаю странные разрешения:
ls -l /
d-wxr----t 2 root root 4096 2011-03-01 09:53 tmp
ТогдаЯ задавался вопросом о umask и chmod, поэтому я попробовал это:
os.mkdir('/mnt/tmp')
old_mask=os.umask(0000)
os.chmod('/mnt/tmp',1777)
os.umask(old_mask)
, но я все еще получаю неожиданные разрешения:
ls -l /
d-wxrwS--t 2 root root 4096 2011-03-01 09:57 tmp
Однако, что ДАЕТ мне правильные разрешения для созданного каталогаэто следующее:
os.mkdir('/mnt/tmp')
os.system("chmod 1777 /mnt/tmp")
Я должен заметить, что я запускаю этот скрипт через sudo, но в / etc / sudoers не упоминаются никакие настройки umask.Запуск его как фактического пользователя root не имеет значения.Невозможно запустить его как обычный пользователь, так как я делаю копию FS, которая должна включать файлы, доступные только для root.
Есть идеи здесь?Любая помощь будет принята с благодарностью.