Como atribuir direitos de root ao usuário?

Como atribuir direitos de root ao usuário?

Eu tenho o Suse Linux no meu desktop. Então sou root e usuário "normal". Frequentemente, por exemplo, para iniciar o Tomcat ou instalar/remover um programa que devo usar sudoou mudar para superusuário. Mas eu defini muitos aliases em .bashrc, caminho em .profileetc.

É possível atribuir ao usuário normal alguns direitos de superusuário? Por exemplo, para instalar o programa?

Responder1

Sim, mas é a pior coisa que você pode fazer. Existem diferentes usuários com permissões diferentes no seu sistema operacional. E isso é de propósito. Conceder permissões de root ao seu usuário permanentemente comprometerá a segurança do sistema. (Lembra do Windows 9x e de todos os vírus?)

A execução de um comando sudonão precisará de nenhum material de personalização, eu acho, a menos que você execute /bin/sh(um shell).

Para conseguir o que deseja, você pode fazer o seguinte:

Você pode mover suas coisas de ~/.bashrce ~/.profilepara o sistema /etc/bash/bashrce /etc/profile, ou melhor ainda, colocá-las em um script separado /etc/profile.d/mystuff.sh(não se esqueça chmod +x /etc/profile.d/mystuff.sh). Esses arquivos serão executados para cada sessão de login.

Em seguida, inicie uma sessão root com su -, o-O sinal (menos) passado para suexecutará uma sessão de login e, portanto, executará os arquivos mencionados acima. Dependendo da sua distribuição Linux, pode ser necessário ligar sudo su -.

Depois de terminar a sessão root, é uma boa ideia logoutdeixar as permissões de root.

Existe outra maneira, se você precisar de permissões de root apenas para um binário específico, é chamada de UID Efetivo. Por exemplo, você pode usar isto para mtrbinário:

chmod a+s `which mtr`

Desta forma ao executar o mtrbinário ele obterá permissões efetivas do usuário dono do binário - root neste caso ( chown root /path/to/mtr). Isso poupará a digitação do sudo, mas você deve escolher cuidadosamente a qual binário você dará permissões de root. É perigoso se você não conhece o risco. Melhor usar a primeira opção.

Responder2

A inicialização do Tomcat deve ser feita em umscript de inicialização. Se você quiser dar a um grupo de usuários o direito de (re)iniciar o Tomcat, adicione uma linha a/etc/sudoersusando visudo. Isso poderia ser parecido com:

%tomcatcontrol localhost = NOPASSWD : /etc/init.d/tomcat *

Substitua localhost pelo nome da sua máquina. Então cada usuário do grupocontrole tomcatpoderá emitir:

sudo /etc/init.d/tomcat restart(ou status, ou parada, ou início).

É para isso que serve o sudo. Se você quiser trabalhar por mais tempo com a conta root, você pode fazer isso su -. Se você deseja que outros usuários realmente gerenciem o conteúdo do Tomcat (arquivos de propriedade do usuário Tomcat), você pode permitir um su - tomcatusuário ou grupo de usuários.

Quanto aos seus aliases - acho que o OpenSuSE tem /etc/profile.local para esse propósito: Lá você pode colocar coisas que devem ser válidas para todos os usuários.

informação relacionada