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