como tirar todas as permissões de um usuário?

1. como tirar todas as permissões de um usuário?

andre luiz
xiloba

(usa Slackware)

Enviado em 28/08/2009 - 09:53h

Como tirar todas as permissões de um usuário e deixar que ele apenas possa, ao se logar, ter um browser de navegação da internet tipo o firefox?


  


2. teoria

M4iir1c10
m4iir1c10

(usa Arch Linux)

Enviado em 28/08/2009 - 11:03h

Quero avisar que essas minha resposta e uma teoria, eu nunca usei esse metodo, porque nunca prescisei:

Caso o usuario ainda nao existe:

groupadd navegadores
adduser -m -c 'Meu_user da Silva' -d /home/meu_user -s '/bin/sh' meu_user -g navegadores

caso o usuario ja exista:
editando o /etc/passwd voce vai encontral algo assim:

meu_user:x:591:502:Meu User:/home/meu_user:/bin/bash

repare que o terceiro e o quarto itens sao numeros que identificam o usuario e o grupo que ele pertence, sendo que 591 e o usuario e 502 e o grupo, modifique o segundo numero que e o numero do grupo, coloque o numero correspondente ao grupo navegadores.

certifique-se que voce tem na sua distro o PAM, caso nao tenha (que eu acho dificil), instale e vamos editar o arquivo para colocar as limitacoes.

caso seu linux seja baseado no fedora edite o arquivo /etc/pam.d/system-auth
encontre essa linha:

session required /lib/security/pam_limits.so
adicione a linha

account requisite /lib/security/pam_time.so

caso o seu sistema e baseado no debian voce deve acrescentar as duas linhas mencionadas acima nos aquivos common-session e common-account, os dois estao na pasta /etc/pam.d/

agora vamos comecar a limitar o usuario, primeiro limite: limite de horas

edite o arquivo /etc/security/time.conf

a ideia e serviços;ttys;usuarios;horas

sshd:*:meu_user:Mo2100-2200

com a linha acima o usuario so pode usar o servico de sshd das 21:00 ate as 22:00 na Segunda-Feira.

ja com a linha:
sshd:*:meu_user:!Mo2100-2200

ele pode usar todos os dias e horarios com exessao da Segunda-Feira entre as 21:00 ate as 22:00

Essas sao as abreviacoes aceitas:
* Su: Domingo
* Mo: Segunda
* Tu: Terca
* We: Quarta
* Th: Quinta
* Fr: Sexta
* Sa: Sabado
* Wk: Finais de semana (Sabado e Domingo)
* Wd: Dias da semana (Segunda a Sexta)
* Al: Todos os dias

http:*:meu_user:!Wd0800-1800

O usuario so pode acessar o http (internet) das 8:00 as 18:00 de Segunda a Sexta

Existe tambem a limitacao de recursos:

editando o arquivo /etc/security/limits.conf

usuario/grupo tipo de limite recurso valor do limite

* core - Limite do tamanho do arquivo coredump (em KB)
* data - Tamanho maximo de segmento de dados que um programa pode usar.
* fsize - Tamanho maximo de algum arquivo que o usuário possa criar.
* memlock - Tamanho de memoria alocada que os programas podem usar (em KB).
* nofiles - Numero maximo de arquivos abertos ao mesmo tempo.
* rss - Tamanho maximo de memoria compatilhada (em KB).
* stack - Valor maximo de um processo executado (em KB).
* cpu - Tempo maximo em minutos de uso da CPU.
* nproc - Numero maximo de processos executados ao mesmo tempo.
* as - Limite em KB de espaço de endereçamento.
* maxlogins - Numero maximo de logins para esse usuario
* maxsyslogins - Numero maximo de logins no sistema
* priority - Em qual prioridade padrao os processos desse usuário devem rodar.
* locks - Numero maximo de arquivos de locks que podem ser gerados pelo usuario.
* nice - Numero maximo de prioridade que o usuario pode setar, entre -20 (máxima prioridade) e 19 (minima prioridade).


meu_user hard fsize 100

O usuario nao pode criar um arquivo maior que 100kb

meu_user hard nproc 5

Nao pode rodar mais de 5 processos contando com o bash

@navegadores hard maxlogins 1
Os usuarios do grupo navegadores so podem logar uma vez no sistema

meu_user hard memlock 20000
O usuario so pode usar 20Mb de memoria

Acredito que apartir dessa explicacao voce pode encontrar um meio de limitar o seu usuario sofredor hehehehe

Ah, lembre-se todos os arquivos e edicoes aqui mensionados so sao possiveis com o root.




3. Teoria

M4iir1c10
m4iir1c10

(usa Arch Linux)

Enviado em 28/08/2009 - 11:04h

Quero avisar que essas minha resposta e uma teoria, eu nunca usei esse metodo, porque nunca prescisei:

Caso o usuario ainda nao existe:

groupadd navegadores
adduser -m -c 'Meu_user da Silva' -d /home/meu_user -s '/bin/sh' meu_user -g navegadores

caso o usuario ja exista:
editando o /etc/passwd voce vai encontral algo assim:

meu_user:x:591:502:Meu User:/home/meu_user:/bin/bash

repare que o terceiro e o quarto itens sao numeros que identificam o usuario e o grupo que ele pertence, sendo que 591 e o usuario e 502 e o grupo, modifique o segundo numero que e o numero do grupo, coloque o numero correspondente ao grupo navegadores.

certifique-se que voce tem na sua distro o PAM, caso nao tenha (que eu acho dificil), instale e vamos editar o arquivo para colocar as limitacoes.

caso seu linux seja baseado no fedora edite o arquivo /etc/pam.d/system-auth
encontre essa linha:

session required /lib/security/pam_limits.so
adicione a linha

account requisite /lib/security/pam_time.so

caso o seu sistema e baseado no debian voce deve acrescentar as duas linhas mencionadas acima nos aquivos common-session e common-account, os dois estao na pasta /etc/pam.d/

agora vamos comecar a limitar o usuario, primeiro limite: limite de horas

edite o arquivo /etc/security/time.conf

a ideia e serviços;ttys;usuarios;horas

sshd:*:meu_user:Mo2100-2200

com a linha acima o usuario so pode usar o servico de sshd das 21:00 ate as 22:00 na Segunda-Feira.

ja com a linha:
sshd:*:meu_user:!Mo2100-2200

ele pode usar todos os dias e horarios com exessao da Segunda-Feira entre as 21:00 ate as 22:00

Essas sao as abreviacoes aceitas:
* Su: Domingo
* Mo: Segunda
* Tu: Terca
* We: Quarta
* Th: Quinta
* Fr: Sexta
* Sa: Sabado
* Wk: Finais de semana (Sabado e Domingo)
* Wd: Dias da semana (Segunda a Sexta)
* Al: Todos os dias

http:*:meu_user:!Wd0800-1800

O usuario so pode acessar o http (internet) das 8:00 as 18:00 de Segunda a Sexta

Existe tambem a limitacao de recursos:

editando o arquivo /etc/security/limits.conf

usuario/grupo tipo de limite recurso valor do limite

* core - Limite do tamanho do arquivo coredump (em KB)
* data - Tamanho maximo de segmento de dados que um programa pode usar.
* fsize - Tamanho maximo de algum arquivo que o usuário possa criar.
* memlock - Tamanho de memoria alocada que os programas podem usar (em KB).
* nofiles - Numero maximo de arquivos abertos ao mesmo tempo.
* rss - Tamanho maximo de memoria compatilhada (em KB).
* stack - Valor maximo de um processo executado (em KB).
* cpu - Tempo maximo em minutos de uso da CPU.
* nproc - Numero maximo de processos executados ao mesmo tempo.
* as - Limite em KB de espaço de endereçamento.
* maxlogins - Numero maximo de logins para esse usuario
* maxsyslogins - Numero maximo de logins no sistema
* priority - Em qual prioridade padrao os processos desse usuário devem rodar.
* locks - Numero maximo de arquivos de locks que podem ser gerados pelo usuario.
* nice - Numero maximo de prioridade que o usuario pode setar, entre -20 (máxima prioridade) e 19 (minima prioridade).


meu_user hard fsize 100

O usuario nao pode criar um arquivo maior que 100kb

meu_user hard nproc 5

Nao pode rodar mais de 5 processos contando com o bash

@navegadores hard maxlogins 1
Os usuarios do grupo navegadores so podem logar uma vez no sistema

meu_user hard memlock 20000
O usuario so pode usar 20Mb de memoria

Acredito que apartir dessa explicacao voce pode encontrar um meio de limitar o seu usuario sofredor hehehehe

Ah, lembre-se todos os arquivos e edicoes aqui mensionados so sao possiveis com o root.




4. Re: como tirar todas as permissões de um usuário?

andre luiz
xiloba

(usa Slackware)

Enviado em 28/08/2009 - 13:34h

OI, eu tentei o que você falou, mas deu erro logo no começo do comando -m:
professor@professor-desktop:~$ adduser -m -c joao -d /home/joao -s '/bin/sh' joao -g navegadores
Unknown option: m
Option d is ambiguous (debug, disabled-login, disabled-password)
Option s is ambiguous (shell, system)
Option g is ambiguous (gecos, gid, group)
Use of uninitialized value in printf at /usr/sbin/adduser line 983.
adduser [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID]
[--firstuid ID] [--lastuid ID] [--gecos GECOS] [--ingroup GROUP | --gid ID]
[--disabled-password] [--disabled-login] user
Add a normal user

adduser --system [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID]
[--gecos GECOS] [--group | --ingroup GRUPO | --gid ID] [--disabled-password]
[--disabled-login] usuário
Adiciona um usuário de sistema

adduser --group [--gid ID] grupo
addgroup [--gid ID] grupo
Adiciona um grupo de usuário

adduser --group --system [--gid ID] grupo
addgroup --system [--gid ID] grupo
Adiciona um grupo de sistema

adduser usuário grupo
Adiciona um usuário existente a um grupo exitente

Arquivo de configuração global está em .
Outras opções são [--quiet] [--force-badname] [--help] [--version] [--conf
ARQUIVO].

professor@professor-desktop:~$ adduser -m -c joao -d /home/joao -s '/bin/sh' joao -g navegadores
Unknown option: m
Option d is ambiguous (debug, disabled-login, disabled-password)
Option s is ambiguous (shell, system)
Option g is ambiguous (gecos, gid, group)
Use of uninitialized value in printf at /usr/sbin/adduser line 983.
adduser [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID]
[--firstuid ID] [--lastuid ID] [--gecos GECOS] [--ingroup GROUP | --gid ID]
[--disabled-password] [--disabled-login] user
Add a normal user

adduser --system [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID]
[--gecos GECOS] [--group | --ingroup GRUPO | --gid ID] [--disabled-password]
[--disabled-login] usuário
Adiciona um usuário de sistema

adduser --group [--gid ID] grupo
addgroup [--gid ID] grupo
Adiciona um grupo de usuário

adduser --group --system [--gid ID] grupo
addgroup --system [--gid ID] grupo
Adiciona um grupo de sistema

adduser usuário grupo
Adiciona um usuário existente a um grupo exitente

Arquivo de configuração global está em .
Outras opções são [--quiet] [--force-badname] [--help] [--version] [--conf
ARQUIVO].
---------------------------------------------------------------
Então eu tentei sem o -m:
professor@professor-desktop:~$ adduser -c joao -d /home/joao -s '/bin/sh' joao -g navegadores
Option d is ambiguous (debug, disabled-login, disabled-password)
Option s is ambiguous (shell, system)
Option g is ambiguous (gecos, gid, group)
Use of uninitialized value in printf at /usr/sbin/adduser line 983.
adduser [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID]
[--firstuid ID] [--lastuid ID] [--gecos GECOS] [--ingroup GROUP | --gid ID]
[--disabled-password] [--disabled-login] user
Add a normal user

adduser --system [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID]
[--gecos GECOS] [--group | --ingroup GRUPO | --gid ID] [--disabled-password]
[--disabled-login] usuário
Adiciona um usuário de sistema

adduser --group [--gid ID] grupo
addgroup [--gid ID] grupo
Adiciona um grupo de usuário

adduser --group --system [--gid ID] grupo
addgroup --system [--gid ID] grupo
Adiciona um grupo de sistema

adduser usuário grupo
Adiciona um usuário existente a um grupo exitente

Arquivo de configuração global está em .
Outras opções são [--quiet] [--force-badname] [--help] [--version] [--conf
ARQUIVO].

professor@professor-desktop:~$


5. em resumo seu sistema esta pedindo a descricao do comando porque existem outras variaveis

M4iir1c10
m4iir1c10

(usa Arch Linux)

Enviado em 29/08/2009 - 08:14h

Faz o seguinte:

crie o grupo navegadores primeiro depois digite:

adduser 'Meu_user da Silva' --home /home/meu_user --shell '/bin/sh' meu_user --ingroup navegadores

segue dai e diz oque acontece...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts