Super usuários e o diretório inicial

2

O conceito UNIX de uma pasta pessoal era ótimo quando os usuários compartilhavam um único computador e não tinham ideia de onde ou como seus arquivos eram armazenados no sistema, mas isso realmente faz sentido quando um computador típico é usado exclusivamente por uma única pessoa. ?

Tendo mudado para um mac no começo deste ano, acho que esse é o paradigma mais difícil de entender quando uso o UNIX como meu sistema desktop principal. (Eu tenho usado Linux e BSD como um servidor e "playground" há vários anos, então eu percebo os benefícios para o uso do servidor).

  • Como superusuário eu uso várias unidades externas, pen drives, dispositivos de backup, etc. Na verdade, a maioria dos meus dados está lá, não no diretório inicial.

  • Eu regularmente reinstalo meu sistema, portanto, não quero que meu sistema operacional e meus dados residam na mesma partição.

  • O diretório pessoal, mesmo se eu colocá-lo em uma partição separada, não é grande o suficiente para armazenar todos os dados que eu quero ter na ponta dos dedos.

  • O diretório inicial também é usado pelo sistema e por vários aplicativos que já ocuparam várias pastas.

A lista continua. Apesar de tudo, tenho a sensação de que estou trabalhando contra o sistema em vez de com ele. Eu acabei de danificar a partir de anos de DOS / Windows e simplesmente não "entender", ou a estrutura simplesmente não é ideal para esse tipo de uso?

Como você transforma o antigo conceito de uma pasta home em com em vez de contra você, considerando como os computadores são usados hoje em dia? Dicas, truques, benefícios ocultos que tenho supervisionado?

Editar: esclarecimento

Primeiramente, obrigado por algumas respostas completas. Eu percebo que cometi um erro ao usar o termo "super usuário" na minha pergunta, como eu não quis dizer no sentido de "raiz" da palavra. Não estou executando minhas máquinas como root.

Eu quis dizer "super-usuário" no sentido de que ao contrário de um usuário normal eu faço meus próprios backups, eu reinstalei minha máquina com bastante frequência, eu dual-boot, desenvolvo, executo software de controle de souce, distribuo dados por múltiplos drives para redundância e assim por diante. Usuários normais colocam seus arquivos onde o sistema sugere, raramente, se alguma vez reinstalar, mantém as configurações padrão de tudo e assim por diante. A diferença é o que eu quis dizer com "super usuário". Desculpe por não ser claro.

Eu também estou bem ciente da capacidade de montar unidades e partições onde eu quiser. Eu já faço isso, mas eu me pergunto - o que ganho com toda essa bagunça? Eu mantenho minha casa sobre uma reinstalação, é verdade - mas o diretório pessoal tem coisas que eu poderia querer me livrar das coisas que quero manter.

Nas janelas, comecei a odiar a bagunça "meus documentos", que sempre me pareceu um esforço desajeitado para copiar o mecanismo "home" do UNIX. Como agora uso uma máquina UNIX, estou surpreso que pareça que é o mecanismo em si que é desajeitado. Meu diretório pessoal no OS X é tão chato quanto "meus documentos" no Windows.

Não é um problema, pois gravito no sentido de simplesmente ignorar completamente o diretório inicial. Mas há algo que eu esteja sentindo falta?

    
por Console 05.10.2009 / 22:13

6 respostas

3

Links simbólicos. Ou cd para um local específico. Seja o que for.

O Windows usa o mesmo conceito de diretórios pessoais, pelo que vale a pena. É onde reside o seu perfil de usuário - todas as personalizações, configurações, arquivos de favoritos, etc. O Windows o coloca em C: \ Documents and Settings \% nome_do_usuário%, o Linux o coloca em / home / $ username, o OSX usa (o que? / Usuários / $ nome de usuário? Não tenho certeza).

Mas o diretório pessoal realmente não precisa ser para os dados de um usuário. É para arquivos de configuração por usuário. Seus dados podem estar em qualquer lugar. Se você é um usuário único, pode até ter suas unidades externas montadas diretamente sob o diretório $ HOME da maneira que desejar.

Pessoalmente, eu uso links simbólicos e montei todas as partições orientadas a dados em / media. Eu tenho uma pasta / personal que organiza links simbólicos diretamente na árvore / media para os dados mais usados, e duplico esses links simbólicos (ou versões encurtadas deles) sob o meu diretório $ HOME.

Como Superusuário, você pode usar qualquer forma que desejar.

    
por 05.10.2009 / 22:15
4

O conceito de "área de trabalho do computador" como uma experiência de usuário único é aparentemente profundamente enraizado em você. Não há nada de errado em ter todos os seus dados "externos" do seu diretório pessoal - na verdade, isso é ótimo. Eu acho que o que você precisa fazer é decidir o que deve e não deve estar em seu diretório pessoal fornecido.

Nada impede que você crie diretórios stub vazios que residem dentro do diretório base do root e, em seguida, montem seus dados externos nele. Nada impede que você mantenha o sistema de montagem do OS X existente que aparece em / Volumes. O que você está dizendo é que você está lutando com você mesmo e como você gerencia o sistema.

Se você quer ser um verdadeiro purista, você teria uma conta regular para as atividades do dia-a-dia e manteria o controle sobre o que deveria ser - a conta que administra o sistema, não a conta da web navegação. A ideia ajuda a delinear o que é e o que não é "seu", e torna muito mais claro o manuseio de seus dados (e quem é o proprietário). Mas isso também parece perdido para você, em virtude de querer ser raiz.

Ser root o tempo todo se torna um hábito quando você precisa administrar um servidor todos os dias. Eu sei porque eu faço isso - é uma parte do trabalho. Mas quando chego em casa e inicio a instalação do Linux, uso minha conta "normal" e não me incomodo em ser root. Um pouquinho de autodisciplina irá ajudá-lo a superar isso, e acredite em mim, você irá mais longe.

Um acompanhamento sobre o manuseio de armazenamento de dados e partições:

Isso não é o Windows ou o DOS. Isso é poder no seu mais puro. Você pode mesclar diferentes unidades e volumes em qualquer parte do sistema. Um diretório em qualquer lugar pode, por sua vez, ser realmente uma unidade separada, e é essa visão de árvore unificada do sistema de arquivos que o deixa perplexo um pouco. Você é um pouco como alguém que esteve preso toda a sua vida e uma vez que os grilhões foram removidos, você não está muito certo sobre por onde começar, então você sente que deveria continuar a usar os mesmos métodos que está acostumado a usar. Bem ... tempo para algum pensamento lateral. :)

O sistema é praticamente seu. Não há alguém em pé sobre o seu ombro, observando o que você faz e digitando nele, nem existe o código de inúmeros programadores deixando fantasmas na máquina para impedi-lo de fazer alguma coisa. Você tem, em um sentido muito real, poder absoluto e definitivo sobre seu hardware. E com isso, o poder absoluto pode ser completamente libertador, ou completamente corrompido. O pouco mais cedo sobre não usar root para tarefas diárias - existem muitas boas razões para isso.

O gerenciamento de dados é apenas uma das facetas de um sistema que evoluiu mais ou menos organicamente ao longo de décadas por centenas de pessoas que aplicaram sua percepção a ele. Parte desse gerenciamento de dados é o entendimento de que outras pessoas podem estar morando aqui e, como tal, você deve ter algumas regras básicas sobre o que é "meu e teu". É aí que entram os diretórios home. O objetivo inteiro de / home era fornecer o que seu apelido significava - uma casa para os usuários estarem, um lugar para "manter as coisas" e "fazer as coisas", e um lugar para o preferências do usuário.

A raiz precisa de um lar em si, porque, bem, não é da conta de outra pessoa o que o administrador está fazendo, eles têm seus próprios programas e dados para lidar. O mesmo conceito de raiz que precisa de seu próprio diretório home segue adiante, porque enquanto o root é uma conta especial, ele ainda é apenas uma conta, instigando um com superpoderes especiais.

Mas existem outras boas razões para não ser root o tempo todo. Execução de softwares que podem ter vulnerabilidades potenciais para ataques externos enquanto o root abre seu sistema para ataques comprometidos com a mesma potência que o root - o que significa controle total. A separação tão privilegiada é uma coisa muito importante no Unix-land e com boas razões.

Se tudo mais falhar, e você estiver tendo alguns problemas tentando digerir holisticamente esses conceitos, você pode querer ler um ensaio antigo (e um tanto datado) chamado No começo foi a linha de comando , que pode ser baixada on-line, gratuitamente, do autor. Embora seja antigo, ainda é relevante hoje e, dentro de você, você começará a ter uma ideia do que está procurando.

    
por 05.10.2009 / 22:18
2

As a superuser I use several external drives, memory sticks, backup devices etc. In fact, most of my data is there, not in the home directory.

Bem, isso é apenas uma maneira de escolha pessoal.

I regularly reinstall my system, so I don't want my OS and data to reside on the same partition.

Você ainda está pensando como o Windows. No Linux, você pode configurar qualquer diretório para estar em uma partição separada. Na verdade, muitas pessoas criam duas partições separadas, montando-as em / e / home, ao instalar o Linux.

The home directory, even if I put it on a separate partition, is not big enough to store all the data I want to have at my fingertips.

Se não for grande o suficiente, basta usar uma unidade externa. O diretório pessoal deve representar dados pessoais na máquina atual , não em qualquer outro dispositivo.

The home directory is also used by the system and misc apps that have already occupied a bunch of folders.

Bem, infelizmente, isso é principalmente resultado da tradição do Unix. Você notará que a pasta Meus documentos é usada da mesma maneira no Windows. (Apesar do Window ter uma alternativa perfeitamente boa no AppData.) No entanto, ver essas pastas é provavelmente o plano de fundo do Windows, fazendo com que você deseje ver as pastas ocultas. Os diretórios que começam com um ponto (.) Estão ocultos no Linux - e, principalmente, por razões como esta, não se envolverem no Windows de mão.

    
por 05.10.2009 / 22:20
2

Grande parte disso está nas respostas dos outros, mas estou tentando reunir tudo em algo com foco em como fazer isso funcionar para você.

  • As a superuser I use several external drives, memory sticks, backup devices etc. In fact, most of my data is there, not in the home directory.
  • The home directory, even if I put it on a separate partition, is not big enough to store all the data I want to have at my fingertips.

Como o ~ quack sugere, você poderia facilmente criar links simbólicos para todos os seus diversos meios externos a partir do seu diretório pessoal. O nível superior poderia ser apenas uma lista desses links, se assim desejar (talvez com um diretório real chamado 'local'). Isso, claro, resolve seu problema de tamanho também. Nenhum dos dados estará realmente no seu diretório pessoal.

  • I regularly reinstall my system, so I don't want my OS and data to reside on the same partition.
  • The home directory is also used by the system and misc apps that have already occupied a bunch of folders.

É por isso que muitas pessoas montam uma partição separada como / home. Eu não sei qual distro você está usando, mas por exemplo, o instalador do Ubuntu lhe dá a chance de criar partições e tomar essa decisão.

Essa separação de plano para reinstalação é, em minha opinião, uma coisa boa que o diretório inicial contém configurações para o sistema / aplicativos. Se você reinstalar o sistema, poderá preservar suas personalizações. É claro que é fácil manter seus dados separados da configuração oculta, especialmente se você usar essa lista de estruturas symlinks (+ locais).

Pelo fato de sua localização principal estar em / home /, em vez de apenas / home (supondo que nunca haverá um segundo usuário) ... Bem, se você realmente queria, você poderia reconfigurar seu diretório home para ser / home e dar permissões a você mesmo (editando / etc / passwd). Não parece um grande problema para mim, no entanto - os shells começam no seu diretório home, e os métodos GUI sempre fornecem uma maneira fácil de acessá-lo. Você nunca verá realmente os diretórios de nível superior se não quiser.

A principal coisa que você deve tirar disso é que, na melhor tradição do Linux, você geralmente pode personalizar as coisas até que elas funcionem do jeito que você quer.

    
por 05.10.2009 / 22:55
1

Se você cat /etc/passwd verá que há muitos outros usuários em seu sistema, eles simplesmente não são humanos. =)

Além disso, a idéia de um diretório pessoal é que ele fornece a você (e aos programas que você executa) um local para fazer o que quiser. Isso significa que, se houver uma falha de segurança em seu navegador, ele só poderá gravar em $ HOME e não em algum lugar perigoso como / sbin.

    
por 09.10.2009 / 08:38
0

Bem, eu sou o único uso no meu Mac, e os backups não são bons, pois armazeno todos os meus dados (Downloads, documentos, lixo, desenvolvimento, fotos) na minha pasta pessoal e minha mídia (filmes, músicas, fotos). biblioteca) na (s) unidade (s) externa (s). Se eu precisar de backup, tudo o que faço é copiar minha pasta pessoal para qualquer mídia de backup que eu escolher.

Eu acho que Avery Payne acertou:

The system is virtually yours. There isn't someone standing over your shoulder watching what you do and type into it, nor is there the code of countless programmers leaving ghosts in the machine to stop you from doing something.

Pare de se preocupar se você está fazendo o caminho certo ou não. Apenas faça isso!

    
por 06.10.2009 / 03:36