Como criar superusuário no CentOS 7

2

Eu sou muito novo no Linux OS (eu comecei com o CentOS 7), então eu queria saber se é possível criar algum tipo de super usuário que terá os mesmos privilégios que o root. Com isso eu quero dizer capacidade de escrever + ler + executar pastas e arquivos que são de propriedade do usuário root. Por que eu preciso disso? Eu tenho VPS com acesso total. A fim de aumentar a segurança do meu servidor web eu criei um novo usuário e login de raiz desativado e agora eu estou entrando no meu servidor com chave pública / privada RSA através de Putty e WinSCP. Este é meu sshd.conf:

Port my_port_number
Protocol 2

HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key

AuthorizedKeysFile  .ssh/authorized_keys
PasswordAuthentication no
RSAAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
PermitEmptyPasswords no

SyslogFacility AUTHPRIV

LoginGraceTime 15m
PermitRootLogin no
StrictModes yes
MaxAuthTries 2

GSSAPIAuthentication yes
GSSAPICleanupCredentials no

UsePAM no

IgnoreRhosts yes

X11Forwarding no
ClientAliveInterval 120
ClientAliveCountMax 720

AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS

Subsystem   sftp    /usr/libexec/openssh/sftp-server
AllowUsers user_that_i_have_created

Além disso, adicionei esta linha a /etc/sudoers

## Allow root to run any commands anywhere 
root    ALL=(ALL)   ALL
user_that_i_have_created ALL=(ALL) ALL

Eu também fiz isso:

usermod -aG wheel user_that_i_have_created

Qual é o problema agora? Como um novo usuário que criei, não consigo acessar arquivos e pastas que podem ler e modificar somente pelo usuário root. Como muitas vezes preciso modificar alguns arquivos de configuração de propriedade da raiz (httpd.conf do apache, por exemplo), eu preciso ter acesso a esses arquivos através do WinSCP, porque me acostumei a editá-los através de seu 'bloco de notas'. Editar esses arquivos via Putty (logado como root) seria perda de tempo.

Eu imaginei na minha cabeça que eu seria capaz de criar um novo usuário, mesmo como root (com privilégios e permissões), mas apenas com um nome diferente. Isso é possível no Linux?

    
por Ljubisa Livac 09.06.2018 / 16:05

3 respostas

1

Editing these files via Putty (logged as root) would be waste of time.

Se o acima for realmente seu ponto ideal em relação a segurança versus carga de trabalho, então felizmente defina PermitRootLogin without-password e faça login diretamente via WinSCP como root para editar o que quiser.

Toda a idéia de "não fazer logon como root" é para pessoas que podem pagar parte do tempo para usar sudo . Se você permitir somente o login root com uma chave privada protegida por frase-senha, a superfície da vulnerabilidade será aproximadamente a mesma (uma chave privada necessária + uma senha necessária).

No entanto, acho altamente discutível a afirmação de que a abordagem do Putty é mais lenta do que o WinSCP. É mais rápido para mim - eu não sei, talvez eu não saiba como usar o WinSCP eficientemente. Ou talvez você precise de uma atualização em suas habilidades bash .

    
por 09.06.2018 / 21:50
6

É para isso que serve sudo . Se configurado corretamente, um usuário no arquivo sudoers pode fazer tudo o que o root pode fazer também.

Para editar um arquivo: Em vez de vim filename , use apenas sudo vim filename e similar para todos os outros comandos.

Criar um usuário raiz real adicional não é realmente possível - você pode atribuir a outro usuário o id 0 também, mas esse é o usuário raiz real com outro nome.

    
por 09.06.2018 / 16:11
0

Expandindo o comentário de Veniamin, uma alternativa para se tornar root é alterar as permissões em arquivos de configuração para que seu usuário pessoal possa editá-las.

Talvez você crie um grupo de usuários wwwadmin e adicione-se a ele. Em seguida, crie as configurações do seu servidor web em /etc/httpd/conf.d/ e torne-as graváveis pelo grupo wwwadmin.

Você também pode querer reiniciar o httpd. Você pode criar regras sudo que permitam apenas um comando de reinício de serviço como root.

Iniciar o httpd como root também é opcional. Você pode substituir o systemd httpd.service para adicionar CAP_NET_BIND_SERVICE (para portas < 1024) e para executar como um usuário e grupo diferentes. Veja a página man systemd.exec.

    
por 11.06.2018 / 00:00