O que estou perdendo com nomes de usuário e linhas de comando do Linux?

1

Sou muito novo no Linux (especificamente no Ubuntu 14.04) e faz 20 anos desde que trabalhei em um sistema unix. Mesmo naquela época, minhas tarefas de linha de comando eram raras o suficiente para que eu tivesse uma série de notas Post-It com sequências de comandos para me ajudar. Estou aprendendo Ubuntu para ajudar com alguns projetos de código aberto que estou trabalhando. Honestamente, eu estou achando o Linux um pouco frustrante vindo de uma linha de comando do Windows / arquivo de lote / mundo Powershell. Bastante fundo por enquanto ...

meu prompt de comando foi alternado entre root @ serverName e user @ serverName, mas não sei como ou por quê. Eu também notei que alguns diretórios não são acessíveis, mas definitivamente existem e eu não tenho permissões para escrever em outras pastas.

O que significam os diferentes nomes de usuários no prompt de comando e como faço para acompanhar quais pastas posso ler / gravar? As referências são apreciadas porque não me oponho a escavar, mas nem sei o que procurar neste momento.

Obrigado!

    
por DenaliHardtail 01.10.2014 / 05:16

3 respostas

1

Seu prompt de linha de comando é definido no script de inicialização do shell ( bash por padrão, mas YMMV ); o padrão no Ubuntu é configurá-lo para $USER@$HOST , em outras palavras, o user@servername que você está vendo.

Você normalmente faz login no seu usuário em uma máquina Ubuntu; esse usuário tem privilégios relativamente baixos --- ler arquivos legíveis, ler / gravar seus próprios arquivos, usar os serviços públicos (impressoras, etc.), mas não configurá-los. O usuário "administrador" em máquinas Unix é chamado de root (também conhecido como superusuário) e possui privilégios all - ele pode fazer qualquer coisa no sistema. Quando você muda do seu usuário normal para o root, o prompt muda como uma maneira de avisá-lo.

Para fazer a troca, houve tradicionalmente duas maneiras: uma é fazer login diretamente como root e a outra está ganhando privilégios com um comando como su ou sudo ( su significa alternar usuário ). No Ubuntu o primeiro método é desaprovado ; normalmente, o usuário root não tem senha e não pode fazer login diretamente.

A maneira de obter a permissão root do Ubuntu é que um subconjunto de usuários, aqueles que estão no grupo sudo ou adm , pode alternar para "poderes" de superusuário em sudo -i . Você pode verificar com o comando groups :

[romano:~] % groups
romano adm mail dialout cdrom sudo dip plugdev lpadmin sambashare vboxusers

(o sistema de grupo é a maneira Unix de dar privilégios parciais ao usuário).

Veja este exemplo para o meu prompt (isso não é padrão, eu uso liquidprompt ):

Para pesquisar mais, este tutorial unix é uma boa fonte de informações.

    
por Rmano 01.10.2014 / 11:02
0

No Linux, privilégios de "superusuário" dão acesso a ler e gravar qualquer arquivo em todo o sistema. Você pode obter privilégios de superusuário fazendo login como um usuário chamado "root" ou usando algo como sudo .

Como ele foi projetado para ser usado por vários usuários e, portanto, nenhum desses usuários pode atrapalhar o sistema para todos os outros, o Linux tem contas de usuário e mantém os arquivos de cada usuário separados e protegidos, de modo que apenas esse usuário pode modificá-los. Seus arquivos estarão localizados em (por padrão), /home/username/ . Além disso, nenhum usuário regular pode modificar arquivos "do sistema", como os programas instalados ou suas configurações de todo o sistema.

Se você precisar fazer algo que afete todo o sistema, provavelmente precisará usar privilégios de superusuário fazendo login como root ou usando sudo . No entanto, é importante observar que você normalmente não deve efetuar login como root ou usar sudo e, ao fazer isso, precisa ser extremamente cuidadoso com o que está fazendo.

    
por thomasrutter 01.10.2014 / 05:31
0

Para responder à sua pergunta "como faço para acompanhar quais pastas eu posso ler / escrever", isso normalmente é feito em sistemas Ubuntu e Unix-like usando o comando find.

Por exemplo, aqui está uma postagem nos fóruns unix e linux Pesquisando arquivo no diretório e todos os subdiretórios e excluindo @ link onde o sinalizador -user para o comando find é usado para executar uma rotina de administração unix do sistema admin.

Para mais informações sobre o comando find, visite esta referência de manual para encontrar:

link

    
por Tim Bass 20.02.2015 / 14:40