chmod - permissão de execução para não administradores?

0

Eu usei chmod para tornar todo o conteúdo de um diretório executável. No entanto, quando tento executar um dos programas nesse diretório como um usuário normal (eu), recebo uma mensagem "comando não encontrado". Se eu executar como su , os programas serão executados. o que estou perdendo? Eu estou executando o Fedora 22. Aqui está uma sessão completa de bash. (Também está mostrando que minha instalação do git está incompleta, mas acho que isso é irrelevante.)

bash: home/brian/git-completion.bash: No such file or directory
bash: /home/brian/git-prompt.sh: No such file or directory
bash: __git_ps1: command not found...
brian ~ $ ipython
bash: ipython: command not found...
Similar command is: 'python'
bash: __git_ps1: command not found...
brian ~ $ su
Password: 
bash: home/brian/git-completion.bash: No such file or directory
bash: /root/git-prompt.sh: No such file or directory
bash: __git_ps1: command not found...
root brian $ ipython
Python 2.7.10 |Anaconda 2.3.0 (64-bit)| (default, May 28 2015, 17:02:03) 
Type "copyright", "credits" or "license" for more information.

IPython 3.2.0 -- An enhanced Interactive Python.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: 

Além disso, aqui está uma lista completa do meu .bashrc:

sudo# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

# Enable tab completion
source home/brian/git-completion.bash

# colors!
green="\[3[0;32m\]"
blue="\[3[0;34m\]"
purple="\[3[0;35m\]"
reset="\[3[0m\]"

# Change command prompt
source ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
# '\u' adds the name of the current user to the prompt
# '\$(__git_ps1)' adds git-related stuff
# '\W' adds the name of the current directory
export PS1="$purple\u$green\$(__git_ps1)$blue \W $ $reset"

# added by Anaconda 2.3.0 installer
export PATH="/root/anaconda/bin:$PATH"
    
por BrianM 18.08.2015 / 16:26

2 respostas

1

Isso parece não ter nada a ver com permissões. Você veria uma "permissão negada", não um "comando não encontrado".

O que está acontecendo é que você parece ter . em seu $PATH como root (o que é insano ), mas não por conta própria.

É seguro adicionar. ao meu caminho? Como assim?

Resposta: não. Você descompacta um tar.gz, cd no diretório e executa ls . Há um executável no diretório chamado ls , que é executado em vez de /bin/ls . Ele modificou o seu ~/.bashrc , então da próxima vez que você executar o su e digitar a senha do root, o atacante será o dono do seu computador.

Se você deseja executar algo no diretório atual, execute ./cmd

    
por 19.08.2015 / 15:38
0

O problema não se mostrou nem um problema de PATH nem de permissões. O Anaconda Python foi instalado no meu diretório / root, o que significa que ele só pode ser acessado por um superusuário. Reinstalar o Anaconda em casa resolveu o problema.

    
por 20.08.2015 / 13:48