Estou aprendendo o Ubuntu e experimentando coisas.
Notei que não podia criar um diretório dentro de / sys
Este é um diretório especial ou algo assim? Existem outros tipos de diretórios?
(Eu fiz a sudo -i
e a chmod a+w /sys
)
Estou aprendendo o Ubuntu e experimentando coisas.
Notei que não podia criar um diretório dentro de / sys
Este é um diretório especial ou algo assim? Existem outros tipos de diretórios?
(Eu fiz a sudo -i
e a chmod a+w /sys
)
Respostas:
Primeiro, você deve alterar /sys
as permissões de volta ( sudo chmod a-r /sys
fará isso, pois as permissões padrão são dr-xr-xr-x
). /sys
não deve ser gravável no mundo!
Em geral, para criar arquivos e diretórios em partes do sistema fora de sua pasta pessoal, mídia externa, ea /tmp
pasta, você deve fazê-lo comoroot
com sudo
, ao invés de alterar as permissões ou a propriedade para obter acesso. Tornar os diretórios graváveis em todo o mundo não é particularmente recomendado.
Para obter informações sobre a maneira recomendada, consulte:
Você pode até usar gksudo nautilus
(ou sudo -H nautilus
se não tiver gksudo
) para abrir uma janela do navegador de arquivos pertencente à raiz. Porém, tenha cuidado com isso - ele pode fazer praticamente qualquer coisa, e a maioria dessas coisas são coisas que você provavelmente não quer que seja feito. Além disso, observe que, se você iniciar um programa a partir de uma janela do navegador de arquivos pertencente à raiz, esse programa também será executado como raiz.
Isso geralmente é o que você deve fazer para editar ou criar novos conteúdos de diretórios de sua propriedade root
. Contudo...
/sys
é diferente; ainda root
não pode criar coisas diretamente láAssim /proc
como /dev
no Ubuntu e em outros sistemas operacionais usando o kernel Linux, /sys
é um sistema de arquivos virtual , o que representa não são arquivos reais no seu disco (ou em qualquer outro lugar).
Em resumo, /sys
é uma maneira de o kernel fornecer informações sobre dispositivos (físicos e virtuais).
Algumas entradas no /sys
sistema de arquivos também são graváveis de maneira significativa e a gravação para elas é uma maneira de definir dinamicamente a configuração dos dispositivos. (Isso não deve ser confundido com o /dev
sistema de arquivos; gravar em entradas /dev
é uma maneira de enviar dados para os dispositivos. )
Mas isso ainda deve ser feito como raiz. Em vez de alterar a permissão /sys
ou parte dela, você deve executar essas ações como root, sudo
conforme explicado acima.
Esta resposta no Unix.SE explica como fazer isso e até mesmo como permitir que alguns não administradores (que não podem executar a maioria das ações como root) alterem algumas /sys
configurações.
Para mais informações sobre como /sys
funciona, consulte:
Entradas /sys
são criadas pelo kernel e pelos drivers; você não pode simplesmente criá-los a partir da linha de comando. (Como mencionado acima, você pode editar alguns como root, mas geralmente não é possível criar novos no espaço do usuário, exceto carregando módulos do kernel ou instalando drivers ou modificando o kernel.)
Se você estiver interessado em escrever drivers, consulte:
Sim, /sys
é um diretório "especial". Da Wikipedia :
As distribuições modernas do Linux incluem um diretório / sys como um sistema de arquivos virtual (sysfs, comparável a / proc, que é um procfs), que armazena e permite a modificação dos dispositivos conectados ao sistema, enquanto muitos sistemas operacionais tradicionais do tipo UNIX e Unix usam / sys como um link simbólico para a árvore de fontes do kernel.
O "Armazena e permite a modificação dos dispositivos conectados ao sistema" é bastante importante. O fato de /sys
ser usado como um sistema de arquivos virtual, montado especialmente, é o motivo pelo qual você (e o root) não pode gravar nele. Eu evitaria mexer com /sys
. Com o Linux, que é muito aberto e transparente, as coisas geralmente não são alteráveis por um bom motivo; por motivos de segurança ou, nesse caso, porque existe outra maneira de atingir seu objetivo que é muito menos arriscado.