Python stat.S_IRGRP Examples
The following are 30
code examples of stat.S_IRGRP().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
stat
, or try the search function
.
Example #1
Source File: makebin.py From pydarkstar with MIT License | 7 votes |
def chmod(path): os.chmod(path, # user stat.S_IRUSR | # read stat.S_IWUSR | # write stat.S_IXUSR | # execute # group stat.S_IRGRP | # read stat.S_IWGRP | # write stat.S_IXGRP | # execute # other stat.S_IROTH | # read # stat.S_IWOTH | # write stat.S_IXOTH # execute )
Example #2
Source File: fwaudit.py From fwaudit with GNU General Public License v2.0 | 6 votes |
def get_sudo_user_group_mode(): '''TBW''' # XXX only need uid, gid, and file mode for sudo case... new_uid = int(os.environ.get('SUDO_UID')) if new_uid is None: error('Unable to obtain SUDO_UID') return False #debug('new UID via SUDO_UID: ' + str(new_uid)) new_gid = int(os.environ.get('SUDO_GID')) if new_gid is None: error('Unable to obtain SUDO_GID') return False #debug('new GID via SUDO_GID: ' + str(new_gid)) # new_dir_mode = (stat.S_IRUSR|stat.S_IWUSR|stat.S_IRGRP|stat.S_IWGRP|stat.S_IROTH|stat.S_IWOTH) rwx_mode = (stat.S_IRWXU|stat.S_IRWXG|stat.S_IRWXO) new_dir_mode = rwx_mode #debug('new dir mode: ' + str(new_dir_mode)) return (new_dir_mode, new_uid, new_gid)
Example #3
Source File: data_dir.py From avocado-vt with GNU General Public License v2.0 | 6 votes |
def get_tmp_dir(public=True): """ Get the most appropriate tmp dir location. :param public: If public for all users' access """ persistent_dir = settings.get_value('vt.common', 'tmp_dir', default="") if persistent_dir != "": return persistent_dir tmp_dir = None # apparmor deny /tmp/* /var/tmp/* and cause failure across tests # it is better to handle here if distro.detect().name == 'Ubuntu': tmp_dir = "/var/lib/libvirt/images" if not utils_path.usable_rw_dir(tmp_dir): logging.warning("Unable to write in '/var/lib/libvirt/images' " "on Ubuntu, apparmor might complain...") tmp_dir = None tmp_dir = data_dir.get_tmp_dir(basedir=tmp_dir) if public: tmp_dir_st = os.stat(tmp_dir) os.chmod(tmp_dir, tmp_dir_st.st_mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH | stat.S_IRGRP | stat.S_IROTH) return tmp_dir
Example #4
Source File: utils_disk.py From avocado-vt with GNU General Public License v2.0 | 6 votes |
def close(self): error_context.context( "Creating unattended install CD image %s" % self.path) if os.path.exists(os.path.join(self.mount, 'isolinux')): # bootable cdrom f = open(os.path.join(self.mount, 'isolinux', 'isolinux.cfg'), 'w') f.write('default /isolinux/vmlinuz append initrd=/isolinux/' 'initrd.img %s\n' % self.extra_params) f.close() boot = '-b isolinux/isolinux.bin' else: # Not a bootable CDROM, using -kernel instead (eg.: arm64) boot = '' m_cmd = ('mkisofs -o %s %s -c isolinux/boot.cat -no-emul-boot ' '-boot-load-size 4 -boot-info-table -f -R -J -V -T %s' % (self.path, boot, self.mount)) process.run(m_cmd) os.chmod(self.path, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH) cleanup(self.mount) cleanup(self.source_cdrom) logging.debug("unattended install CD image %s successfully created", self.path)
Example #5
Source File: container_analyze.py From MalAnalyzer with GNU General Public License v3.0 | 6 votes |
def start_trace(self): try: os.chmod(self.mal_path, stat.S_IRWXU | stat.S_IRGRP | stat.S_IROTH) # mode:744 self.logger.debug('Chmod %s to %s successfully.' % (self.mal_path, '744')) trace_path = os.path.join(self.result_path, '%s.txt' % self.tracemode) ltrace_cmd = ['ltrace', '-f', '-ttt', '-S', '-o', trace_path, self.mal_path] strace_cmd = ["strace", "-ttt", "-x", "-y", "-yy", "-s", "32", "-o", trace_path, "-f", self.mal_path] trace_cmd = ltrace_cmd if self.tracemode == 'ltrace' else strace_cmd child = subprocess.Popen(trace_cmd) self.logger.debug(trace_cmd) if child.poll() is None: self.logger.info("Start %s(pid=%s) successfully." % (self.tracemode, child.pid)) self.progrunner = self.tracemode setattr(self,self.tracemode,child) else: self.logger.error("Start %s failed." % self.tracemode) sys.exit() except Exception, e: self.logger.exception('%s: %s' % (Exception, e)) sys.exit() ###
Example #6
Source File: generator_utils.py From fine-lm with MIT License | 6 votes |
def gunzip_file(gz_path, new_path): """Unzips from gz_path into new_path. Args: gz_path: path to the zipped file. new_path: path to where the file will be unzipped. """ if tf.gfile.Exists(new_path): tf.logging.info("File %s already exists, skipping unpacking" % new_path) return tf.logging.info("Unpacking %s to %s" % (gz_path, new_path)) # We may be unpacking into a newly created directory, add write mode. mode = stat.S_IRWXU or stat.S_IXGRP or stat.S_IRGRP or stat.S_IROTH os.chmod(os.path.dirname(new_path), mode) with gzip.open(gz_path, "rb") as gz_file: with tf.gfile.GFile(new_path, mode="wb") as new_file: for line in gz_file: new_file.write(line)
Example #7
Source File: test_file_loader.py From ironpython3 with Apache License 2.0 | 6 votes |
def test_read_only_bytecode(self): # When bytecode is read-only but should be rewritten, fail silently. with source_util.create_modules('_temp') as mapping: # Create bytecode that will need to be re-created. py_compile.compile(mapping['_temp']) bytecode_path = self.util.cache_from_source(mapping['_temp']) with open(bytecode_path, 'r+b') as bytecode_file: bytecode_file.seek(0) bytecode_file.write(b'\x00\x00\x00\x00') # Make the bytecode read-only. os.chmod(bytecode_path, stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH) try: # Should not raise OSError! self.import_(mapping['_temp'], '_temp') finally: # Make writable for eventual clean-up. os.chmod(bytecode_path, stat.S_IWUSR)
Example #8
Source File: test_import.py From ironpython2 with Apache License 2.0 | 6 votes |
def test_execute_bit_not_copied(self): # Issue 6070: under posix .pyc files got their execute bit set if # the .py file had the execute bit set, but they aren't executable. oldmask = os.umask(022) sys.path.insert(0, os.curdir) try: fname = TESTFN + os.extsep + "py" f = open(fname, 'w').close() os.chmod(fname, (stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH)) __import__(TESTFN) fn = fname + 'c' if not os.path.exists(fn): fn = fname + 'o' if not os.path.exists(fn): self.fail("__import__ did not result in creation of " "either a .pyc or .pyo file") s = os.stat(fn) self.assertEqual(stat.S_IMODE(s.st_mode), stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH) finally: os.umask(oldmask) remove_files(TESTFN) unload(TESTFN) del sys.path[0]
Example #9
Source File: generator_utils.py From tensor2tensor with Apache License 2.0 | 6 votes |
def gunzip_file(gz_path, new_path): """Unzips from gz_path into new_path. Args: gz_path: path to the zipped file. new_path: path to where the file will be unzipped. """ if tf.gfile.Exists(new_path): tf.logging.info("File %s already exists, skipping unpacking" % new_path) return tf.logging.info("Unpacking %s to %s" % (gz_path, new_path)) # We may be unpacking into a newly created directory, add write mode. mode = stat.S_IRWXU or stat.S_IXGRP or stat.S_IRGRP or stat.S_IROTH os.chmod(os.path.dirname(new_path), mode) with gzip.open(gz_path, "rb") as gz_file: with tf.gfile.GFile(new_path, mode="wb") as new_file: for line in gz_file: new_file.write(line)
Example #10
Source File: directory.py From king-phisher-plugins with BSD 3-Clause "New" or "Revised" License | 6 votes |
def render_python_value(value): if not isinstance(value, int): return if value & stat.S_IFDIR: perm = 'd' else: perm = '-' perm += 'r' if value & stat.S_IRUSR else '-' perm += 'w' if value & stat.S_IWUSR else '-' if value & stat.S_ISUID: perm += 's' if value & stat.S_IXUSR else 'S' else: perm += 'x' if value & stat.S_IXUSR else '-' perm += 'r' if value & stat.S_IRGRP else '-' perm += 'w' if value & stat.S_IWGRP else '-' if value & stat.S_ISGID: perm += 's' if value & stat.S_IXGRP else 'S' else: perm += 'x' if value & stat.S_IXGRP else '-' perm += 'r' if value & stat.S_IROTH else '-' perm += 'w' if value & stat.S_IWOTH else '-' perm += 'x' if value & stat.S_IXOTH else '-' return perm
Example #11
Source File: test_import.py From gcblue with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_execute_bit_not_copied(self): # Issue 6070: under posix .pyc files got their execute bit set if # the .py file had the execute bit set, but they aren't executable. oldmask = os.umask(022) sys.path.insert(0, os.curdir) try: fname = TESTFN + os.extsep + "py" f = open(fname, 'w').close() os.chmod(fname, (stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH)) __import__(TESTFN) fn = fname + 'c' if not os.path.exists(fn): fn = fname + 'o' if not os.path.exists(fn): self.fail("__import__ did not result in creation of " "either a .pyc or .pyo file") s = os.stat(fn) self.assertEqual(stat.S_IMODE(s.st_mode), stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH) finally: os.umask(oldmask) remove_files(TESTFN) unload(TESTFN) del sys.path[0]
Example #12
Source File: util.py From octavia with Apache License 2.0 | 6 votes |
def install_netns_systemd_service(): os_utils = osutils.BaseOS.get_os_util() flags = os.O_WRONLY | os.O_CREAT | os.O_TRUNC # mode 00644 mode = (stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IROTH) # TODO(bcafarel): implement this for other init systems # netns handling depends on a separate unit file netns_path = os.path.join(consts.SYSTEMD_DIR, consts.AMP_NETNS_SVC_PREFIX + '.service') jinja_env = jinja2.Environment( autoescape=True, loader=jinja2.FileSystemLoader(os.path.dirname( os.path.realpath(__file__) ) + consts.AGENT_API_TEMPLATES)) if not os.path.exists(netns_path): with os.fdopen(os.open(netns_path, flags, mode), 'w') as text_file: text = jinja_env.get_template( consts.AMP_NETNS_SVC_PREFIX + '.systemd.j2').render( amphora_nsname=consts.AMPHORA_NAMESPACE, HasIFUPAll=os_utils.has_ifup_all()) text_file.write(text)
Example #13
Source File: find_circ.py From find_circ with GNU General Public License v3.0 | 6 votes |
def store_index(self,ipath): debug("# indexed_fasta.store_index('%s')" % ipath) # write to tmp-file first and in the end rename in order to have this atomic # otherwise parallel building of the same index may screw it up. import tempfile tmp = tempfile.NamedTemporaryFile(mode="w",dir = os.path.dirname(ipath),delete=False) for chrom in sorted(self.chrom_stats.keys()): ofs,ldata,skip,skipchar,size = self.chrom_stats[chrom] tmp.write("%s\t%d\t%d\t%d\t%r\t%d\n" % (chrom,ofs,ldata,skip,skipchar,size)) # make sure everything is on disk os.fsync(tmp) tmp.close() # make it accessible to everyone import stat os.chmod(tmp.name, stat.S_IROTH | stat.S_IRGRP | stat.S_IRUSR) # this is atomic on POSIX as we have created tmp in the same directory, # therefore same filesystem os.rename(tmp.name,ipath)
Example #14
Source File: osutils.py From octavia with Apache License 2.0 | 6 votes |
def write_port_interface_file(self, netns_interface, fixed_ips, mtu, interface_file_path, template_port): # write interface file # If we are using a consolidated interfaces file, just append # otherwise clear the per interface file as we are rewriting it # TODO(johnsom): We need a way to clean out old interfaces records if CONF.amphora_agent.agent_server_network_file: flags = os.O_WRONLY | os.O_CREAT | os.O_APPEND else: flags = os.O_WRONLY | os.O_CREAT | os.O_TRUNC # mode 00644 mode = stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IROTH with os.fdopen(os.open(interface_file_path, flags, mode), 'w') as text_file: text = self._generate_network_file_text( netns_interface, fixed_ips, mtu, template_port) text_file.write(text)
Example #15
Source File: 1_2_188_to_1_2_189.py From indy-node with Apache License 2.0 | 6 votes |
def set_own_perm(usr, dir_list): uid = pwd.getpwnam(usr).pw_uid gid = grp.getgrnam(usr).gr_gid perm_mask_rw = stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IWGRP perm_mask_rwx = stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | stat.S_IRGRP | stat.S_IWGRP | stat.S_IXGRP for cdir in dir_list: os.chown(cdir, uid, gid) os.chmod(cdir, perm_mask_rwx) for croot, sub_dirs, cfiles in os.walk(cdir): for fs_name in sub_dirs: os.chown(os.path.join(croot, fs_name), uid, gid) os.chmod(os.path.join(croot, fs_name), perm_mask_rwx) for fs_name in cfiles: os.chown(os.path.join(croot, fs_name), uid, gid) os.chmod(os.path.join(croot, fs_name), perm_mask_rw)
Example #16
Source File: test_file_loader.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def test_read_only_bytecode(self): # When bytecode is read-only but should be rewritten, fail silently. with util.create_modules('_temp') as mapping: # Create bytecode that will need to be re-created. py_compile.compile(mapping['_temp']) bytecode_path = self.util.cache_from_source(mapping['_temp']) with open(bytecode_path, 'r+b') as bytecode_file: bytecode_file.seek(0) bytecode_file.write(b'\x00\x00\x00\x00') # Make the bytecode read-only. os.chmod(bytecode_path, stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH) try: # Should not raise OSError! self.import_(mapping['_temp'], '_temp') finally: # Make writable for eventual clean-up. os.chmod(bytecode_path, stat.S_IWUSR)
Example #17
Source File: generator_utils.py From BERT with Apache License 2.0 | 6 votes |
def gunzip_file(gz_path, new_path): """Unzips from gz_path into new_path. Args: gz_path: path to the zipped file. new_path: path to where the file will be unzipped. """ if tf.gfile.Exists(new_path): tf.logging.info("File %s already exists, skipping unpacking" % new_path) return tf.logging.info("Unpacking %s to %s" % (gz_path, new_path)) # We may be unpacking into a newly created directory, add write mode. mode = stat.S_IRWXU or stat.S_IXGRP or stat.S_IRGRP or stat.S_IROTH os.chmod(os.path.dirname(new_path), mode) with gzip.open(gz_path, "rb") as gz_file: with tf.gfile.GFile(new_path, mode="wb") as new_file: for line in gz_file: new_file.write(line)
Example #18
Source File: device_utils_test.py From Jandroid with BSD 3-Clause "New" or "Revised" License | 6 votes |
def testStatDirectory_filePermissions(self): should_have = ( ('some_file', stat.S_IWUSR), # Owner can write. ('tmp', stat.S_IXOTH), # Others can execute. ('tmp', stat.S_ISVTX), # Has sticky bit. ('my_cmd', stat.S_ISGID), # Has set-group-ID bit. ('silly', stat.S_ISUID), # Has set UID bit. ) should_not_have = ( ('some_file', stat.S_IWOTH), # Others can't write. ('block_dev', stat.S_IRGRP), # Group can't read. ('silly', stat.S_IXUSR), # Owner can't execute. ) entries = self.getStatEntries() for filename, bit in should_have: self.assertTrue(entries[filename]['st_mode'] & bit) for filename, bit in should_not_have: self.assertFalse(entries[filename]['st_mode'] & bit)
Example #19
Source File: device_utils_test.py From Jandroid with BSD 3-Clause "New" or "Revised" License | 6 votes |
def testStatDirectory_filePermissions(self): should_have = ( ('some_file', stat.S_IWUSR), # Owner can write. ('tmp', stat.S_IXOTH), # Others can execute. ('tmp', stat.S_ISVTX), # Has sticky bit. ('my_cmd', stat.S_ISGID), # Has set-group-ID bit. ('silly', stat.S_ISUID), # Has set UID bit. ) should_not_have = ( ('some_file', stat.S_IWOTH), # Others can't write. ('block_dev', stat.S_IRGRP), # Group can't read. ('silly', stat.S_IXUSR), # Owner can't execute. ) entries = self.getStatEntries() for filename, bit in should_have: self.assertTrue(entries[filename]['st_mode'] & bit) for filename, bit in should_not_have: self.assertFalse(entries[filename]['st_mode'] & bit)
Example #20
Source File: test_import.py From BinderFilter with MIT License | 6 votes |
def test_execute_bit_not_copied(self): # Issue 6070: under posix .pyc files got their execute bit set if # the .py file had the execute bit set, but they aren't executable. oldmask = os.umask(022) sys.path.insert(0, os.curdir) try: fname = TESTFN + os.extsep + "py" f = open(fname, 'w').close() os.chmod(fname, (stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH)) __import__(TESTFN) fn = fname + 'c' if not os.path.exists(fn): fn = fname + 'o' if not os.path.exists(fn): self.fail("__import__ did not result in creation of " "either a .pyc or .pyo file") s = os.stat(fn) self.assertEqual(stat.S_IMODE(s.st_mode), stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH) finally: os.umask(oldmask) remove_files(TESTFN) unload(TESTFN) del sys.path[0]
Example #21
Source File: test_file_system_helpers.py From funfuzz with Mozilla Public License 2.0 | 6 votes |
def test_rm_tree_incl_readonly_files(tmpdir): """Test that directory trees with readonly files can be removed. Args: tmpdir (class): Fixture from pytest for creating a temporary directory """ test_dir = Path(tmpdir) / "test_dir" read_only_dir = test_dir / "nested_read_only_dir" read_only_dir.mkdir(parents=True) test_file = read_only_dir / "test.txt" with io.open(test_file, "w", encoding="utf-8", errors="replace") as f: f.write("testing\n") Path.chmod(test_file, stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH) util.file_system_helpers.rm_tree_incl_readonly_files(test_dir)
Example #22
Source File: test_import.py From oss-ftp with MIT License | 6 votes |
def test_execute_bit_not_copied(self): # Issue 6070: under posix .pyc files got their execute bit set if # the .py file had the execute bit set, but they aren't executable. oldmask = os.umask(022) sys.path.insert(0, os.curdir) try: fname = TESTFN + os.extsep + "py" f = open(fname, 'w').close() os.chmod(fname, (stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH)) __import__(TESTFN) fn = fname + 'c' if not os.path.exists(fn): fn = fname + 'o' if not os.path.exists(fn): self.fail("__import__ did not result in creation of " "either a .pyc or .pyo file") s = os.stat(fn) self.assertEqual(stat.S_IMODE(s.st_mode), stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH) finally: os.umask(oldmask) remove_files(TESTFN) unload(TESTFN) del sys.path[0]
Example #23
Source File: device_utils_test.py From Jandroid with BSD 3-Clause "New" or "Revised" License | 6 votes |
def testStatDirectory_filePermissions(self): should_have = ( ('some_file', stat.S_IWUSR), # Owner can write. ('tmp', stat.S_IXOTH), # Others can execute. ('tmp', stat.S_ISVTX), # Has sticky bit. ('my_cmd', stat.S_ISGID), # Has set-group-ID bit. ('silly', stat.S_ISUID), # Has set UID bit. ) should_not_have = ( ('some_file', stat.S_IWOTH), # Others can't write. ('block_dev', stat.S_IRGRP), # Group can't read. ('silly', stat.S_IXUSR), # Owner can't execute. ) entries = self.getStatEntries() for filename, bit in should_have: self.assertTrue(entries[filename]['st_mode'] & bit) for filename, bit in should_not_have: self.assertFalse(entries[filename]['st_mode'] & bit)
Example #24
Source File: lib.py From marsnake with GNU General Public License v3.0 | 6 votes |
def special_to_letter(mode): l = '' ALL_R = (stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH) ALL_W = (stat.S_IWUSR | stat.S_IWGRP | stat.S_IWOTH) if mode & stat.S_ISGID: l += 'G' if mode & stat.S_ISUID: l += 'U' if mode & stat.S_ISVTX: l += 'T' if mode & (stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH): l += 'E' if ( mode & ALL_R ) == ALL_R: l += 'R' if ( mode & ALL_W ) == ALL_W: l += 'W' return l
Example #25
Source File: generator_utils.py From training_results_v0.5 with Apache License 2.0 | 6 votes |
def gunzip_file(gz_path, new_path): """Unzips from gz_path into new_path. Args: gz_path: path to the zipped file. new_path: path to where the file will be unzipped. """ if tf.gfile.Exists(new_path): tf.logging.info("File %s already exists, skipping unpacking" % new_path) return tf.logging.info("Unpacking %s to %s" % (gz_path, new_path)) # We may be unpacking into a newly created directory, add write mode. mode = stat.S_IRWXU or stat.S_IXGRP or stat.S_IRGRP or stat.S_IROTH os.chmod(os.path.dirname(new_path), mode) with gzip.open(gz_path, "rb") as gz_file: with tf.gfile.GFile(new_path, mode="wb") as new_file: for line in gz_file: new_file.write(line)
Example #26
Source File: injector.py From pylane with GNU General Public License v3.0 | 6 votes |
def ensure_code_file(self, code, file_path): """""" if file_path: file_path = os.path.abspath(file_path) if not os.path.isfile(file_path): raise RequirementsInvalid( 'Arg file_path is not a valid file.' ) self.code_file = file_path else: if code: (fd, temp_file_path) = tempfile.mkstemp() with os.fdopen(fd, 'w') as f: f.write(code) self.code_file = self.temp_file = temp_file_path else: raise RequirementsInvalid( 'Neither code nor code file_path specified.' ) st = os.stat(self.code_file) os.chmod(self.code_file, st.st_mode | stat.S_IREAD | stat.S_IRGRP | stat.S_IROTH)
Example #27
Source File: 1_2_233_to_1_2_234.py From indy-node with Apache License 2.0 | 6 votes |
def set_own_perm(usr, dir_list): uid = pwd.getpwnam(usr).pw_uid gid = grp.getgrnam(usr).gr_gid perm_mask_rw = stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IWGRP perm_mask_rwx = stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | stat.S_IRGRP | stat.S_IWGRP | stat.S_IXGRP for cdir in dir_list: os.chown(cdir, uid, gid) os.chmod(cdir, perm_mask_rwx) for croot, sub_dirs, cfiles in os.walk(cdir): for fs_name in sub_dirs: os.chown(os.path.join(croot, fs_name), uid, gid) os.chmod(os.path.join(croot, fs_name), perm_mask_rwx) for fs_name in cfiles: os.chown(os.path.join(croot, fs_name), uid, gid) os.chmod(os.path.join(croot, fs_name), perm_mask_rw)
Example #28
Source File: file.py From MCVirt with GNU General Public License v2.0 | 5 votes |
def activate(self, _f=None): """Activate volume.""" self.po__get_registered_object('auth').assert_permission(PERMISSIONS.MANAGE_STORAGE_VOLUME) # Ensure volume exists self.ensure_exists() require_permissions_if_owned = ( stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IWGRP ) required_permissions_global = ( stat.S_IROTH | stat.S_IWOTH ) libvirt_config = self.po__get_registered_object('libvirt_config') libvirt_user_uid = pwd.getpwnam(libvirt_config.LIBVIRT_USER).pw_uid libvirt_group_gid = grp.getgrnam(libvirt_config.LIBVIRT_GROUP).gr_gid stat_info = os.stat(self.get_path()) # Check owner and group of directory if ((stat_info.st_uid != libvirt_user_uid or stat_info.st_gid != libvirt_group_gid or not # Check that libvirt has RWX (user and group) (stat_info.st_mode & require_permissions_if_owned == require_permissions_if_owned)) and not # Otherwise, Check if 'other' has RWX (stat_info.st_mode & required_permissions_global == required_permissions_global)): # User/group are not those required for libvirt and permissions # of directory is not 777 # Attempt to change directory owner/group os.chown(self.get_path(), libvirt_user_uid, libvirt_group_gid) # Append the required permissions to the current permissions os.chmod(self.get_path(), stat_info.st_mode | require_permissions_if_owned) return
Example #29
Source File: file_path.py From luci-py with Apache License 2.0 | 5 votes |
def readable_copy(outfile, infile): """Makes a copy of the file that is readable by everyone.""" fs.copy2(infile, outfile) fs.chmod( outfile, fs.stat(outfile).st_mode | stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH)
Example #30
Source File: generate_download_script.py From exoplanet-ml with Apache License 2.0 | 5 votes |
def main(argv): del argv # Unused. # Read Kepler targets. kepids = set() with open(FLAGS.kepler_csv_file) as f: reader = csv.DictReader(row for row in f if not row.startswith("#")) for row in reader: kepids.add(row["kepid"]) num_kepids = len(kepids) # Write wget commands to script file. with open(FLAGS.output_file, "w") as f: f.write("#!/bin/sh\n") f.write("echo 'Downloading {} Kepler targets to {}'\n".format( num_kepids, FLAGS.download_dir)) for i, kepid in enumerate(kepids): if i and not i % 10: f.write("echo 'Downloaded {}/{}'\n".format(i, num_kepids)) kepid = "{0:09d}".format(int(kepid)) # Pad with zeros. subdir = "{}/{}".format(kepid[0:4], kepid) download_dir = os.path.join(FLAGS.download_dir, subdir) url = "{}/{}/".format(_BASE_URL, subdir) f.write("{} -P {} {}\n".format(_WGET_CMD, download_dir, url)) f.write("echo 'Finished downloading {} Kepler targets to {}'\n".format( num_kepids, FLAGS.download_dir)) # Make the download script executable. os.chmod(FLAGS.output_file, stat.S_IRWXU | stat.S_IRGRP | stat.S_IROTH) print("{} Kepler targets will be downloaded to {}".format( num_kepids, FLAGS.output_file)) print("To start download, run:\n {}".format("./" + FLAGS.output_file if "/" not in FLAGS.output_file else FLAGS.output_file))