Aller au contenu

scripts sous solaris


bjork6

Messages recommandés

Je suis un newbie sous solaris ( bref unix) et je dois faire un script qui sera exécuté au démarage. Je m'explique: j'ai bien sur mon compte root, un groupe cadre et un autre groupe d'usagers ordinaires. Je dois empêcher les usagers ordinaires de pouvoir se logger entre minuit et 6 heures du matin sans toutefois restreindre l'accès à ceux qui sont du groupe cadre et bien sur root. Alors voilà, je n'ai pas vraiment d'idée de comment je pourrais faire ? Est-ce que qqn à une idée ? Je me doute que je devrai placer mon script dans le répertoire /etc/profile mais comme je suis newbie je ne sais que faire ? Est-ce que qqn connait un site qui explique très bien ce genre de problème ? Merci Bjork6

Lien vers le commentaire
Partager sur d’autres sites

Je ne connais pas solaris mais si le system est base sur le meme principe que linux (ce serais plutot l'inverse), il y a dans /etc un repertoire init.d. Tu colle ton script dedans et tu fait un lien du type SnumeroNonDuScript dans /etc/rc3.d.

Apres si ces repertoires n'existent pas il doit y avoir un equivalent.

Pour explication, init.d (sous linux) est le repertoire on l'on met tous les daemons que l'on veux lancer au demmarrage. On fait un lien dans les repertoires rc0.d, rc1.d etc en fonction du moment ou il doit etre lancer. Le rc3.d correspond au lancement lors d'une connexion par un utilisateur. Le rc5.d se lance lorsqu'une interface graphique est lancer pour les autre je ne me souvient plus.

Lien vers le commentaire
Partager sur d’autres sites

Mouaip, tu peux passer par /etc/profile.d, effectivement, mais c'est pas très sûr d'un point de vue sécurité. Ton idée, c'était de faire un script qui regarde l'heure et qui fait "logout" si on est dans la bonne période horaire, c'est ça ? Ca peut marcher, mais faut pas que tes utilisateurs soient trop malins. Sinon, ils vont supprimer dans leur ~/.bashrc la ligne qui source /etc/bashrc. Et là tu l'as dans l'os.

Essaye plutôt de regarder du côté de pam_time. Sur Fedora Linux (et RedHat), il y a un fichier /etc/security/time.conf qui permet de régler ce que tu veux faire. Sous Solaris, ben je connais pas :-)

A+

Gauret

Lien vers le commentaire
Partager sur d’autres sites

Bon, alors est-ce que j'utilise init.d ou profile? Et comment faire un lien pour que le script soit appelé à la bonne place. En passant j'ai oublié de dire que pour le moment je N'ai pas besoin de gérer les utilisateurs qui sont déjà loggé masi bien seulement ceux qui essayent de se logger en-dehors des heures de bureau. Soit dit en passant c'est seulement un exercice que j'ai à faire alors c'a n'a pas besoin d'être à toute épreuve, en autant que ca fait ce que je veux que ca fasse, moi chui bien content.

Alrs est-ce que qqn peut me montrer un exemple(très simple mais du genre complet) pour que mon abruti de cerveau puisse faire le lien et comprendre comment ca fonctionne ?

Du genre ( ici j'écris n'importe quoi ,juste pour montrer le genre d'Aide que j'ai besoin ):

if [ condition ]

then

faire ceci

else

faire cela

fi

Alors voilà, j'espère que qnn a compris ce que je recherche comme info.

En passant, merci les mecs d' avoir pris le temps de me répondre, c'est sympa ! :p:|

Lien vers le commentaire
Partager sur d’autres sites

Je dirais que init.d ne peux pas marcher, parce que ces scripts ne sont lancés qu'au démarrage du système.

Ton script serait un truc du genre :

#! /bin/bash

# si je suis dans le groupe cadre ou que je suis root : fin du script
groups | grep "cadre" > /dev/null 2>&1
if [ $? == 0 -o  `id -u` == 0 ]; then
 exit
fi

HEURE=`date +%H`
# Si  l'heure est inferieure a 6 alors bye bye
if [ $HEURE <= 6 ]; then
 pkill -9 -u `id -u`
fi

Voilà, bien sûr c'est à tester. La commande que j'utilise pour se déloguer est un peu brutale, mais ça devrait marcher.

A+

Gauret

Lien vers le commentaire
Partager sur d’autres sites

re,

j'ai fait une petite recherche histoire de car ton prob me tracassais. J'ai trouver ceci:

Dans /etc/security/ il y a un fichier nome access.conf, fait une copy de sauvegarde genre cp /etc/security/acces.conf /etc/security/acces.conf.blocgroup

edit le fichier acces.conf.blocgroup et rajoute a la fin -:@nomDuGroupe:ALL

maintenant il ne te reste plus qu'a creer un script qui ce lance a une certaine heure et qui: 1 renome acces.conf en acces.conf.ori, 2 renome acces.conf.blocgroup en acces.conf.

Tu ecris un second script qui se lance a une autre heure et qui lui fait l'inverse.

Bon deux choses:

1 oui je sais c'est tirer par les cheveux mais j'ai pas trouver mieux

2 sur ccertaine distrib le fichier /etc/security/acces.conf correspond a /etc/login.acces ou a /etc/usertty (a voir dc pour la solaris)

Une derniere chose. les recherches que j'ai faite ont ete sur les fichiers suivants:

/etc/porttime /etc/login.acces /etc/security/access.conf et /etc/usertty

google a pas trop d'info ou alors j'ais pas trop chercher mais au moins je suis sur d'une chose. Ta reponse est la dedans (en tout cas vu ce que j'ai lu)

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...