Crie uma regra como tal:
ALL ALL=(ALL:ALL) NOPASSWD: /bin/mkdir www ""
Isto diz algo como: "Permitir que qualquer usuário em qualquer domínio aja como qualquer usuário: grupo sem pedir uma senha para executar o comando exato" mkdir www "(usando apenas /bin/mkdir
, e não algum outro mkdir
O conjunto final de citações informa sudo
para não permitir mais argumentos.
(As regras são determinadas em ordem com a última regra de correspondência entrando em vigor. Se você tiver outra regra após essa que cobriria o mesmo comando (como ALL), ela entrará em vigor. Eu tive um problema em minha própria configuração onde eu estava especificando %sudo ALL=(ALL:ALL) ALL
depois. Como essa regra corresponde à situação, mas requer uma senha, uma senha foi solicitada.)
Realmente, essa não é a maneira de fazer algo assim. Partes de sua descrição implicam que você tem coisas configuradas de uma forma bizarra. Não vou entrar nisso porque está fora do escopo, mas, para conseguir o que você quer e mais flexibilidade, pode haver uma maneira melhor. Parece que você deseja permitir que os usuários criem subdiretórios com um nome específico de propriedade do proprietário do diretório pai. Em vez disso, crie um script que faça o que você deseja (procura o diretório atual, determina seu proprietário e grupo, cria um diretório www
here, chmod
o novo diretório para o determinado usuário e grupo.) E permite que o script como executável pelo root sem senha no sudo
config. Fazê-lo desta maneira significa que o usuário só precisa navegar para o diretório e, em seguida, sudo create-www
ou o que for. Você também poderá configurar outras regras no script, como aquelas que só permitem que www
seja criado em determinados diretórios.