tendo um pouco de dificuldade tentando criar uma pasta na pasta de outro usuário /home/devuser1/pubic_html
. Estou tentando evitar o uso sudo
e procurando uma alternativa. As permissões na pasta mencionada são lidas como:
drwxr-s--- 2 devuser1 www-data 4096 Apr 28 19:40 public_html
Como alternativa, supondo que eu use o sudo
prefixo, quais seriam as implicações? Eu li que é uma prática ruim usar sudo
para criar uma pasta. Depois que a nova pasta é criada, eu continuo alterando a propriedade dela para o usuário em questão. Exemplo:
chown -vR devuser1:www-data /home/devuser1/public_html/$vhost
fonte
sudo -u USERNAME mkdir DIRNAME
, você está executando omkdir
comando como usuárioUSERNAME
. Isso não é exatamente equivalente a efetuar o login comoUSERNAME
, porque o login também implica em definir variáveis de ambiente e assim por diante, mas é a parte que importa, ou seja, executar um processo como um usuário específico.Dadas essas permissões, apenas o proprietário do diretório ou o superusuário pode criar subdiretórios.
A única maneira de evitar o uso de privilégios extras para criar a pasta é alterar a propriedade para si mesmo (com
sudo
), criar o subdiretório e finalmente devolver a propriedade ao proprietário, mas não parece uma boa solução para mim.fonte
sudo -u devuser1 mkdir /home/devuser1/public_html/test
. Isso não é o mesmo que criar a pasta,sudo
não é?ls -al
revela:drwxr-sr-x 2 devuser1 www-data 4096 Apr 28 23:49 test
sudo
desde que você mude de propriedade depois disso.ls
revela o conteúdo do usuáriopublic_html
, parece que não é necessário alterar a propriedade, talvez permissões.su
, ao invés disso, estou usando-a para me autenticar como o usuário que criará a pasta ... isso faz sentido?Eu tentei fazer um
mkdir -p /srv/postgres/data/mydir
mas porquedrwxr-xr-x 3 root root 4.0K Apr 7 08:26 srv
tem donoroot
nem
install -d -o <user> -g <group> -m <mode> <path>
@ user2313838nem
sudo -u postgres mkdir -p /srv/postgres/data/mydir
funciona @maGzEntão eu tenho que dividi-lo em dois comandos:
fonte