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 sudo
ou mudar para superusuário. Mas eu defini muitos aliases em .bashrc
, caminho em .profile
etc.
É 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 sudo
nã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 ~/.bashrc
e ~/.profile
para o sistema /etc/bash/bashrc
e /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 su
executará 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 logout
deixar 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 mtr
binário:
chmod a+s `which mtr`
Desta forma ao executar o mtr
biná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 - tomcat
usuá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.