<Adicionar> de autorização FTP adicionar
Visão geral
O elemento <add>
da coleção <authorization>
define uma regra de autorização que permitirá ou negará acesso a usuários, grupos, usuários anônimos ou todos os usuários especificados.
O atributo accessType especifica um dos dois tipos de regras de autorização:
- As regras de permissão permitem definir as contas de usuário ou grupos de usuários que podem acessar um site, uma URL ou todos os sites em um servidor.
- As regras de negação permitem definir as contas de usuário ou grupos de usuários que não podem acessar um site, uma URL ou todos os sites em um servidor.
Compatibilidade
Versão | Observações |
---|---|
IIS 10.0 | O elemento <add> não foi modificado no IIS 10.0. |
IIS 8.5 | O elemento <add> não foi modificado no IIS 8.5. |
IIS 8.0 | O elemento <add> não foi modificado no IIS 8.0. |
IIS 7.5 | O elemento <add> do elemento <authorization> é fornecido como um recurso do IIS 7.5. |
IIS 7.0 | O elemento <add> do elemento <authorization> foi introduzido no FTP 7.0, que era um download separado para o IIS 7.0. |
IIS 6,0 | O elemento <system.ftpServer> e seus elementos filho substituem as configurações de FTP do IIS 6.0 que estavam localizadas no caminho de metabase LM/MSFTPSVC. |
Observação
Os serviços FTP 7.0 e FTP 7.5 eram fornecidos fora de banda para o IIS 7.0, o que exigia o download e a instalação de módulos do seguinte URL:
Com o Windows 7 e o Windows Server 2008 R2, o serviço FTP 7.5 é fornecido como um recurso para o IIS 7.5 e, portanto, o download do serviço FTP não é mais necessário.
Instalação
Para dar suporte à publicação FTP para seu servidor Web, você deve instalar o serviço FTP. Para fazer isso, execute as etapas a seguir.
Windows Server 2012 R2 ou Windows Server 2012
Na barra de tarefas, clique em Gerenciador do Servidor.
No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.
No assistente Adicionar Funções e Recursos, clique em Avançar. Selecione o tipo de instalação e clique em Avançar. Selecione o servidor de destino e clique em Avançar.
Na página Funções de servidor, expanda Servidor Web (IIS) e, em seguida, selecione Servidor FTP.
Selecione Avançar e, em seguida, na página Selecionar recursos, selecione Avançar novamente.
Na página Confirmar seleções de instalação, clique em Instalar.
Na página Resultados , clique em Fechar.
Windows 8 ou Windows 8.1
Na tela Iniciar, mova o ponteiro até o canto inferior esquerdo, clique com o botão direito do mouse no botão Iniciar e clique em Painel de Controle.
Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.
Expanda Serviços de Informações da Internet e selecione Servidor FTP.
Clique em OK.
Clique em Fechar.
Windows Server 2008 R2
Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.
No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).
No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.
Na página Selecionar Serviços de Função do Assistente para Adicionar Serviços de Função, expanda Servidor FTP.
Selecione Serviço FTP.
Clique em Avançar.
Na página Confirmar Seleções de Instalação, clique em Instalar.
Na página Resultados , clique em Fechar.
Windows 7
Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.
Expanda Serviços de Informações da Internet e, em seguida, Servidor FTP.
Selecione Serviço FTP.
Clique em OK.
Windows Server 2008 ou Windows Vista
Baixe o pacote de instalação do seguinte URL:
Siga as instruções no seguinte passo a passo para instalar o serviço FTP:
Instruções
Como adicionar uma regra de autorização FTP
Abra o Gerenciador dos Serviços de Informações da Internet (IIS):
Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:
- Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows 8 ou Windows 8.1:
- Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
- Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:
- Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows Vista ou Windows 7:
- Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
- Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
No painel Conexões, expanda o nome do servidor, expanda Sites e navegue até o site ou URL no qual deseja configurar a autorização.
No painel Página Inicial, clique duas vezes em Regras de Autorização.
Para adicionar uma nova regra de autorização, clique em Adicionar Regra de Permissão... ou Adicionar Regra de Negação... no painel Ações.
Aplique as configurações de autorização necessárias para seu site ou aplicativo. Há duas seções que precisam ser consideradas:
Permitir acesso a esse conteúdo para: use os botões de opção para especificar que a regra de acesso será aplicada a:
- Todos os usuários
- Todos os Usuários Anônimos
- Funções ou grupos de usuários especificados (vários grupos/funções podem ser separados por vírgula)
- Usuários especificados (vários usuários podem ser separados por vírgula)
Permissões: use a caixa de seleção para especificar acesso de Leitura ou Gravação para a regra.
Clique em OK.
Configuração
O elemento <add>
é configurado no nível do servidor, do site ou da URL.
Atributos
Atributo | Descrição | ||||||
---|---|---|---|---|---|---|---|
accessType |
Atributo de enumeração necessário. O atributo accessType pode ser um dos valores possíveis a seguir.
|
||||||
roles |
Atributo de cadeia de caracteres opcional. Especifica funções ou grupos para uma regra de autorização. |
||||||
users |
Atributo de cadeia de caracteres opcional. Especifica os usuários de uma regra de autorização. Vários usuários podem ser adicionados a uma lista separada por vírgulas. Além disso, os identificadores especiais a seguir foram definidos.
|
||||||
permissions |
Atributo de sinalizadores opcionais. Especifica as permissões de acesso para a regra.
|
Elementos filho
Nenhum.
Exemplo de configuração
O exemplo a seguir ilustra várias configurações relacionadas à segurança no elemento <system.ftpServer>
para um site FTP. Mais especificamente, as configurações <location>
neste exemplo demonstram como:
- Especifique uma regra de autorização FTP para acesso de leitura e gravação para o grupo de administradores.
- Especifique as opções de filtragem de solicitação FTP que negam arquivos *.exe, *.bat e *.cmd.
- Especifique os limites de solicitação FTP para um comprimento máximo de conteúdo de 1000000 bytes e um comprimento máximo de URL de 1024 bytes.
- Bloqueie o acesso FTP ao diretório virtual _vti_bin, que é usado com as Extensões de Servidor do FrontPage.
- Especifique as opções de filtragem de IP FTP que permitem o acesso de 127.0.0.1 e negam o acesso do intervalo de endereços IP 169.254.0.0/255.255.0.0.
<location path="ftp.example.com">
<system.ftpServer>
<security>
<authorization>
<add accessType="Allow" roles="administrators" permissions="Read, Write" />
</authorization>
<requestFiltering>
<fileExtensions allowUnlisted="true">
<add fileExtension=".exe" allowed="false" />
<add fileExtension=".bat" allowed="false" />
<add fileExtension=".cmd" allowed="false" />
</fileExtensions>
<requestLimits maxAllowedContentLength="1000000" maxUrl="1024" />
<hiddenSegments>
<add segment="_vti_bin" />
</hiddenSegments>
</requestFiltering>
<ipSecurity enableReverseDns="false" allowUnlisted="true">
<add ipAddress="127.0.0.1" allowed="true" />
<add ipAddress="169.254.0.0" subnetMask="255.255.0.0" allowed="false" />
</ipSecurity>
</security>
</system.ftpServer>
</location>
Exemplo de código
Os exemplos a seguir adicionam duas regras de autorização FTP para o Site Padrão. A primeira regra permite acesso de leitura e gravação para o grupo de administradores, e a segunda regra nega o acesso de leitura e gravação para a conta de convidado.
AppCmd.exe
appcmd.exe set config "Default Web Site" -section:system.ftpServer/security/authorization /+"[accessType='Allow',roles='administrators',permissions='Read, Write']" /commit:apphost
appcmd.exe set config "Default Web Site" -section:system.ftpServer/security/authorization /+"[accessType='Deny',users='guest',permissions='Read, Write']" /commit:apphost
Observação
Defina o parâmetro commit para apphost
quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo ApplicationHost.config.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection authorizationSection = config.GetSection("system.ftpServer/security/authorization", "Default Web Site");
ConfigurationElementCollection authorizationCollection = authorizationSection.GetCollection();
ConfigurationElement addElement = authorizationCollection.CreateElement("add");
addElement["accessType"] = @"Allow";
addElement["roles"] = @"administrators";
addElement["permissions"] = @"Read, Write";
authorizationCollection.Add(addElement);
ConfigurationElement addElement1 = authorizationCollection.CreateElement("add");
addElement1["accessType"] = @"Deny";
addElement1["users"] = @"guest";
addElement1["permissions"] = @"Read, Write";
authorizationCollection.Add(addElement1);
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim authorizationSection As ConfigurationSection = config.GetSection("system.ftpServer/security/authorization", "Default Web Site")
Dim authorizationCollection As ConfigurationElementCollection = authorizationSection.GetCollection
Dim addElement As ConfigurationElement = authorizationCollection.CreateElement("add")
addElement("accessType") = "Allow"
addElement("roles") = "administrators"
addElement("permissions") = "Read, Write"
authorizationCollection.Add(addElement)
Dim addElement1 As ConfigurationElement = authorizationCollection.CreateElement("add")
addElement1("accessType") = "Deny"
addElement1("users") = "guest"
addElement1("permissions") = "Read, Write"
authorizationCollection.Add(addElement1)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var authorizationSection = adminManager.GetAdminSection("system.ftpServer/security/authorization", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var authorizationCollection = authorizationSection.Collection;
var addElement = authorizationCollection.CreateNewElement("add");
addElement.Properties.Item("accessType").Value = "Allow";
addElement.Properties.Item("roles").Value = "administrators";
addElement.Properties.Item("permissions").Value = "Read, Write";
authorizationCollection.AddElement(addElement);
var addElement1 = authorizationCollection.CreateNewElement("add");
addElement1.Properties.Item("accessType").Value = "Deny";
addElement1.Properties.Item("users").Value = "guest";
addElement1.Properties.Item("permissions").Value = "Read, Write";
authorizationCollection.AddElement(addElement1);
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set authorizationSection = adminManager.GetAdminSection("system.ftpServer/security/authorization", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set authorizationCollection = authorizationSection.Collection
Set addElement = authorizationCollection.CreateNewElement("add")
addElement.Properties.Item("accessType").Value = "Allow"
addElement.Properties.Item("roles").Value = "administrators"
addElement.Properties.Item("permissions").Value = "Read, Write"
authorizationCollection.AddElement(addElement)
Set addElement1 = authorizationCollection.CreateNewElement("add")
addElement1.Properties.Item("accessType").Value = "Deny"
addElement1.Properties.Item("users").Value = "guest"
addElement1.Properties.Item("permissions").Value = "Read, Write"
authorizationCollection.AddElement(addElement1)
adminManager.CommitChanges()