Tengo q hacer un programa con perl en entorno LINUX q cumpla estas normas: (mas abajo os pongo lo q he echo)
El programa se dice GestioUsuaris.pl
1. se le ha de pasar un parametro al programa, ha de ser una a(para hacer una alta) o una b(para hacer una baja)
2. Si el parametro es una b, ha de pedir el nombre de un grupo
3. Si queremos hacer una alta:
- a. Q dee el usuario de alta
- b. q de el grupo de alta
- c. q asigne el usuario al grupo.
- d. q cree un directorio para el grupo con el
el nombre del grupo.
- e. Q ponga el administrador (root) como
propietario del direcotrio.
- f. Que dee permisos a l'usuario propietario para poder hacer todo lo que queria en el directorio, i tambien dar todos los permisos a los usuarios del grupo correspondiente al direcortio, y ningun permiso al resto de los usuarios.
4. Si queremos hacer una baja al usuario, si este existe:
- a. Eliminar el usurio
- b. Borrar el usuario de todos los grupos a los q esta asignado
5. Ha de informar por pantalla de las acciones q va realizando.
Y yo eh echo esto, pero no se si esta bien->
#! /usr/bin/perl
do
{
print"Nombre del usuario: ";
$nus=;
print'Alta -> a o Baja -> b ?';
$altbaix=;
if($altabaix eq a)
{
`useradd $nus`;
printSTDOUT"Usuario dado de alta...";
print"Nombre del grupo: ";
$grup=;
`groupadd $grup`;
printSTDOUT"Grupo dado de alta...";
`$usermod -G $grup $nus`;
printSTDOUT"Usuario assignatdo al
grupo...";
print"Nombre del directorio: ";
$direc=;
`md $direc`;
print"Directorio creado...";
(como hago q el directorio tenga el mismo nombre q el grupo??
(no se poner el usuario root como propietario del direcotrio -> e)
`chmod g+rxw $`; -> (q variable va?)
`chmod u-rxw $`;-> (q variable va?)
printSTDOUT"Permisos al usuario
propietario dados...";
(no se como dar todos los permisos a los usuarios del grupo correspondiente al direcortio, y ningun permiso al resto de los usuarios. -> f)
}
else($altabaix eq a)
{
`userdel -r $grup`;
`usermod -G $nus`;
`usermod -g $grup`;
printSTDOUT"Usuario dado de baja";
}
print"Sortir? S/N";
$fi=;
}while($fi ne 'n');