No MacOS, crie um atalho na área de trabalho e evite que ele seja excluído

0

Como posso criar um atalho na área de trabalho para um compartilhamento de rede e evitar que ele seja excluído (talvez por um usuário não raiz?)

    
por ensnare 20.07.2017 / 16:04

2 respostas

1

Existem algumas maneiras de fazer isso; bloqueando o arquivo de alias ou com uma lista de controle de acesso:

  • Opção 1, bloqueando o arquivo (nota: somente o proprietário pode desbloquear):

    # Create alias however you want to, then...
    sudo chown root /Users/ensnare/Desktop/AliasFile
    sudo chflags uchg /Users/ensnare/Desktop/AliasFile
    
  • Opção 2, lista de controle de acesso:

    # Create alias however you want to, then...
    sudo chown root /Users/ensnare/Desktop/AliasFile
    sudo chmod 644 /Users/ensnare/Desktop/AliasFile
    sudo chmod +a "group:everyone deny delete" /Users/ensnare/Desktop/AliasFile
    

Observe que a declaração de @firmj que a exclusão é controlada pelas permissões do diretório pai os principalmente true, mas ambas as opções substituem e evitam mover, renomear ou excluir o arquivo.

    
por 20.07.2017 / 23:50
0

Não tenho certeza se essa é uma resposta aceitável para sua situação (e não tenho certeza se o macOS tem um mecanismo especial para realizar o que você deseja), mas as permissões para excluir um arquivo realmente vêm do próprio diretório. Portanto, se você quiser impedir que um arquivo seja excluído, será necessário remover o acesso de gravação ao diretório para o (s) usuário (s) em questão. Isso significa que você pode tornar todo o diretório ~/Desktop somente leitura e permitir que os usuários criem arquivos em um subdiretório na área de trabalho ou você pode criar um diretório que seja somente leitura na área de trabalho e colocar seu atalho lá, esperando que ninguém exclua-o.

# Shortcuts directly on desktop. Now, users have to delete the Desktop directory to remove the shortcuts.
mkdir ~/Desktop/read-write # Create directory where users can add/remove data.
### Add your links to the Desktop.
sudo chown root ~/Desktop # Don't own everything inside, just the directory itself.
chmod -r ~/Desktop # Prevent users from adding/removing files on the desktop.

# Shortcuts in a directory on the desktop. Users have to delete this directory to remove your shortcuts, but can add/remove stuff on the desktop freely.
mkdir ~/Desktop/link_directory # Create directory for your links.
### Add your links to the directory.
sudo chown root ~/Desktop/link_directory
chmod -r ~/Desktop/link_directory # Prevent users from adding/removing files in the link directory.

Você provavelmente também desejará remover as permissões de gravação dos links para evitar ações mal-intencionadas dos usuários. A primeira abordagem é provavelmente um pouco mais segura, quando combinada com a criação do diretório raiz apenas para leitura, uma vez que os usuários normais não podem substituir os links na área de trabalho.

    
por 20.07.2017 / 17:21