Python | método os.fchmod()

|

Em sistemas do tipo Unix, os modos — essas são as permissões do sistema de arquivos concedidas a usuários, grupos e outras classes para acessar o arquivo.
os.fchmod() em Python é usado para alterar o modo de arquivo especificado pelo descritor de arquivo especificado para o modo numérico especificado . Este método é equivalente a os.chmod (fd, modo) .

Observação. Este método só está disponível em plataformas Unix.

Sintaxe: os.fchmod (fd, modo)

Parâmetros:
fd: Um descritor de arquivo cujo modo deve ser definido.
modo: Um valor numérico que representa o modo a ser definido.
modo também pode assumir um dos seguintes valores ou combinações ORed bit a bit deles:

  • stat.S_ISUID: Definir ID do usuário na execução
  • stat.S_ISGID: Definir ID do grupo na execução
  • stat.S_ENFMT: Bloqueio de registro aplicado < /li>
  • stat.S_ISVTX: Salvar imagem de texto após a execução
  • stat.S_IREAD: Lido pelo proprietário.
  • stat.S_IWRITE : Escreva pelo proprietário.
  • stat.S_IEXEC: Executar pelo proprietário.
  • stat.S_IRWXU: Ler , escrever e executar pelo proprietário
  • stat.S_IRUSR: Ler pelo proprietário
  • li>
  • stat.S_IWUSR: Escreva pelo proprietário.
  • stat.S_IXUSR: Executar pelo proprietário.
  • stat.S_IRWXG: Ler, gravar e executar por grupo
  • stat.S_IRGRP: Ler por grupo
  • stat.S_IWGRP: Escrever por grupo
  • stat.S_IXGRP : Executar por grupo
  • stat .S_IRWXO: Ler, escrever e executar por outros.
  • stat.S_IROTH: Lido por outras pessoas
  • stat.S_IWOTH: Escreva por outras pessoas
  • stat.S_IXOTH: Executar por outros

Tipo de retorno: Este método não retorna nenhum valor.

Código: usando o método os .fchmod()

# Programa Python para explicar as definições do método os.fchmod()


# importação do módulo os

import os


# importação do módulo de estatísticas

import stat


# Nome do arquivo

nome do arquivo = "file.txt"


# Abra o arquivo especificado e
# obtém o descritor do arquivo
# relacionado a isso
# os.open () método

fd = os. open (filename, os.O_RDWR)


# Imprime o modo numérico atual
# arquivo (octal)

modo = oct (os. stat (fd) .st_mode) [ - 3 :]

print ( "Modo numérico atual do arquivo (notação octal):" , modo)


# Agora mude o modo
Arquivo #


# octal 777 como valor de modo
# lê, escreve e executa por missão
# para proprietário, grupo e outros

modo = 0o777

os.fchmod (fd, mode)

print ( "Modo de arquivo alterado com sucesso" )


# Imprimir modo numérico alterado
# (octal) arquivo

modo = oct (os.stat (fd) .st_mode) [ - 3 :]

print ( "Modo numérico atual do arquivo ( notação octal):" , modo)


O # parâmetro mode também pode ser
# definido por sinalizadores definidos em
# módulo Stat


# Modo de alteração

modo = stat.S_IRWXU

os.fchmod (fd, modo)

print ( "Modo de arquivo alterado com sucesso" )

print ( "Agora, o arquivo pode ser lido, escrito e executado apenas pelo proprietário " )


# Imprimir modo numérico modificado
# (octal) do arquivo

mode = oct (os.stat (fd) .st_mode) [ - 3 :]

print ( "Modo numérico atual do arquivo (notação octal):" , mode)

< /p>


# alterar modo

< p> modo = stat.S_IRWXU | stat.S_IRGRP

os.fchmod (fd, modo)

print ( "Modo de arquivo alterado com sucesso" )

print ("Agora, Arquivo pode ser lido, escrito e executado

pelo proprietário, mas pode ser lido pelo grupo ")


# Imprime o modo numérico modificado
# (octal) arquivo

mode = oct (os.stat (fd) .st_mode) [ - 3 :]

imprimir ( "Modo numérico atual do arquivo (notação octal):" , mode)


# Fecha o descritor de arquivo
os.close (fd)

Sair :

 Modo numérico atual do arquivo ( notação octal): 666 Modo de arquivo alterado com sucesso Modo numérico atual do arquivo (notação octal): 777 Modo de arquivo alterado com sucesso Agora, o arquivo pode ser lido, escrito e executado apenas pelo proprietário Modo numérico atual do arquivo (notação octal): 700 Modo de arquivo alterado com sucesso Agora, o arquivo pode ser lido, escrito e executado pelo proprietário, mas pode ser lido pelo grupo Modo numérico atual do arquivo (notação octal): 740