Como restringir arquivos de um usuário para outro usuário

0

Na minha máquina existem contas de usuário. Minha pergunta é como restringir o acesso aos arquivos do usuário. Significa que ninguém mais pode acessar meus arquivos. Como posso configurar essa restrição?

Quantos usuários root são possíveis para uma máquina Linux?

Editar:       Sou um dos usuários do meu sistema com o nome TOM (na verdade, meu sistema tem dois usuários TOM e JERRY ),
Eu instalei todos os pacotes como root usando

yum install <package name>

Restrição:   Ninguém mais acessa meu pacote e arquivo que contém em TOM user

    
por user3021349 05.12.2013 / 10:13

3 respostas

-1

Você não pode usar o comando yum com usuário regular como TOM , o comando Yum pode ser usado apenas pelo poder root e se você tiver instalado um pacote com o yum, todo usuário poderá usá-lo. Mas se você tiver tar package , você pode alterar o diretório de instalação da seguinte maneira: (Se esse pacote gerou com ferramentas automáticas GNU)

./configure --prefix=/home/myusername/bin
make; make install

e coloque / home / myusername / bin na sua variável PATH . Com esta solução, esse pacote é executado com o nome de usuário myusername!

Mas se o seu arquivo for um arquivo binário ou txt , você poderá definir a permissão adequada e, se parecermos mais precisos, desejar escrever um programa que funcione apenas com específico UID e USERNAME você pode simplesmente verificar a variável UID porque ela é somente leitura e você pode confiar nela. veja abaixo o script e coloque-o em um arquivo check.sh: (Eu escrevi SHELLSCRIPT porque aqui é o Unix e Linux)

#!/bin/bash

COUNTER=0
FLAG=0
declare -r MYUID=500
declare -r USNAME=Sepahrad

for i in 'cut -d: -f3 /etc/passwd'
do
    COUNTER=$(( COUNTER + 1 ))
    [ $i -eq $MYUID ] && TMP=$(head -n'echo $COUNTER' /etc/passwd | tail -n1 | cut -d: -f1) && [ "$TMP" == "$USER" ] && [ $MYUID -eq $UID ] &&  FLAG=1
done

if [ $FLAG -eq 1 ]
then

    echo "Hello $USNAME ($UID)"
elif [ $FLAG -eq 0 ]
then
    echo "You don't have permission to see thi file $USER ($UID)"; exit 1
fi

Este script é executado apenas para o usuário que tem UID = 500 e nome de usuário Sepahrad. (Você pode alterá-lo por um editor), mas se você não quiser que nenhum usuário veja sua origem, mesmo root, você pode compilá-lo com o comando shc como: shc -v -r -T check.sh

    
por 05.12.2013 / 12:00
4

A maneira típica de restringir o acesso aos seus arquivos é ter as permissões no seu diretório home chmod 700 (caso o proprietário do grupo do diretório de usuário seja compartilhado com outros), ou chmod 770 caso você tenha o seu próprio 'grupo que ninguém mais é membro.

root users (que uid 0) sempre pode acessar esses arquivos.

Pode haver apenas um usuário com o nome root , mas pode haver vários nomes associados ao uid 0, então você pode ter vários usuários com privilégios de root.

Se outras pessoas tiverem acesso root à máquina na qual seu diretório de usuário está, você não deve manter informações confidenciais lá, a menos que sejam criptografadas (mas a criptografia deve ser feita em um sistema diferente).

    
por 05.12.2013 / 10:23
2

'access' como usado por você pode ser explicado em mais detalhes como leitura / escrita / delete, etc. Sticky bit irá ajudá-lo com delete para os outros que você pode seguir o que @Anthon disse. root é superusuário, então sim, não mantenha dados "sensíveis", a menos que ...

Já tentou configurar o sticky stick no seu dir? Eu estou supondo que você esteja usando o linux.

por exemplo. link O exemplo aqui é auto-explicativo para o seu caso.

[ link ]

    
por 05.12.2013 / 12:10