você pode fazer isso com acesso bem controlado no arquivo /etc/sudoers
. Como root, você vai querer executar o comando visudo
e adicionar algo nos seguintes termos:
username ALL = (root) /usr/bin/apt-get update, \
/usr/bin/apt-get install
ou:
username ALL = (root) /path/to/yum install
dependendo se você estiver usando centos ou alguma outra distribuição que use yum
ou debian / ubuntu, que usa apt
e apt-get
essas linhas, no arquivo /etc/sudoers
, permitirão que username
executem os comandos /usr/sbin/apt-get update
e /usr/sbin/apt-get install [packagenamex]
ou /path/to/yum install [packagenamex]
como o usuário root, e eles serão solicitados para / their / password e não para root . eles não terão outro acesso privilegiado à máquina.
Além disso, a maioria dos pacotes pode ser compilada a partir da fonte com comandos como:
./configure --prefix=/home/username
make
make install
que instalará o pacote em seu diretório pessoal, geralmente criando os diretórios ~/bin
~/lib
e ~/usr
, etc.
então talvez ./configure --prefix=/home/username/local
ou algo seja mais apropriado.
para configurar o apache httpd, para permitir que cada usuário controle seu próprio virtualhost, etc, sem executar várias instâncias, você pode adicionar uma opção à configuração do apache, algo como /etc/apache2/apache2.conf
, uma linha que diz:
Include /home/*/httpd/user.conf
o arquivo de configuração pode ser nomeado como você quiser, o que for mais apropriado, mas o que isso diz ao apache é procurar em /home/*/httpd/
(onde *
é traduzido como glob
para quaisquer subdiretórios sob /home
) para um arquivo chamado user.conf
, onde você pode permitir que seus usuários adicionem informações sobre VirtualHost
s
um usuário normal poderia instalar ou configurar o apache para ser executado fora de seu diretório pessoal em uma porta não privilegiada, se você quisesse conceder-lhe acesso dessa maneira. uma porta não privada sendo qualquer coisa acima de 1024, eles teriam que adicionar uma diretiva à sua configuração pessoal do apache dizendo algo como Listen ip.add.re.ss:8888
iniciando um servidor apache httpd rodando na porta 8888
para garantir que eles não consigam acessar os diretórios pessoais do seu ou de qualquer outra pessoa, verifique se eles estão configurados chmod 700
ou chmod 711
(para permitir que o acesso do apache httpd execute seu diretório, passar para /home/username/public_html
se você quer ter diretórios de usuário no apache) você pode testar isso fazendo ls -ld /home/username
ele deve mostrar:
drwx------ 185 username users 36864 May 18 17:05 /home/username/
para permissões 700
e drwx--x--x
para 711
. se aparecer drwxr-xr-x
, será necessário executar chmod 700 /home/username
ou chmod 711 /home/username