O que significa o argumento " +x " no Unix? (Em relação às permissões)?

O que significa o argumento " +x " no Unix? (Em relação às permissões)?

Eu uso o Ubuntu e alguém me aconselhou a alterar as permissões de um arquivo com extensão sudo chmod " +x ".

Não está claro para mim se +xsignifica alterar as permissões para algo muito geral como 777or 775, ou algo totalmente diferente.

Tentei no Google +x unixe no Google +x linux, mas não consegui encontrar dados a respeito em uma pesquisa rápida.

Aqui estão os pedidos que fiz (portanto, estou preso no estágio 4):

  1. instalar o wget
  2. correrwget http://files.drush.org/drush.phar
  3. corrersudo mv drash.phar /usr/local/bin/drush
  4. corrersudo chmod +x /usr/local/bin/drush
  5. testedrush

Responder1

xé uma apresentação simbólica do modo executável (também pode ser em formato numérico) que o chmodcomando usa para definir a permissão executável de um arquivo (no caso de diretórios ele define seu modo pesquisável). +define o modo executável e -o desativa.

Na página de manual do chmod:

O formato de um modo simbólico é [ugoa...][[+-=][perms...]...], onde perms é zero ou mais letras do conjunto rwxXst, ou uma única letra do conjunto ugo. Vários modos simbólicos podem ser fornecidos, separados por vírgulas.

Veja este link para mais informações:chmod

Responder2

O " +x" ao qual você se refere é o argumento do modo simbólico ao chmod. Conforme fornecido, e assumindo que o seu chmod vem do Gnu Coreutils, esse argumento direciona o chmod para definir os bits executáveis ​​para usuário, grupo e outros, exceto para os bits executáveis ​​definidos no seu shellumask. Portanto, se o seu umask for 0077 (como é comum), esse comando definirá apenas o bit executável para o usuário proprietário do arquivo. Se o seu umask for 0007 (como também é comum), o usuário e grupo proprietário do arquivo poderá executá-lo.

É provável que o efeito pretendido seja que todos os usuários consigam executar o arquivo. Você pode conseguir isso usando modos simbólicos, especificando que todos os bits de execução devem ser definidos:

chmod a+x filename

ou declarando explicitamente as permissões desejadas:

chmod 0755 filename

Os modos simbólicos são um atalho maravilhosamente útil, mas muito do seu comportamento é deixado como "implementação definida" pelo POSIX. Portanto, também é útil lembrar os modos numéricos e seus significados para scripts e instruções portáteis.

Responder3

chmod pode conceder direitos de duas maneiras:
1) com números (por exemplo, o arquivo chmod 744 tornará o arquivo wrx para você e r para o grupo e outros)
2) com direito específico para uma categoria específica
(por exemplo, chmod +x dará a todos os direitos de execução)
no seu caso, suponho que seu usuário e seu grupo (talvez) precisem executar corretamente, nem todos, mais alguns exemplos:

 chmod u=rx file        (Give the owner rx permissions, not w)
 chmod go-rwx file      (Deny rwx permission for group, others)
 chmod g+w file         (Give write permission to the group)
 chmod a+x file1 file2  (Give execute permission to everybody)
 chmod g+rx,o+x file    (OK to combine like this with a comma)

informação relacionada