-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Content-ID:
Mal, claro: no es "su" sino "sudo". Y no puedes especificar usuario.
Para hacerlo con "su" necesitas la contraseña del usuario1; y además la sintaxis es incorrecta, porque el comando "chown" tendría que estar detrás de un "-c".
¿A que no te has leído el manual de su ni de sudo? :-P
Leí tantos que terminé como lombriz en spaguetti ... @:S
X-)
Veamos ... así las cosas, el comando correcto sería:
1. usuariox@testserver:~$su usuario1 -c chown usuario1 prueba.txt
Y le pedirá la contraseña de "usuario1", con lo cual el comando "chown...." fallará, porque si el fichero no es ya de "usuario1" no tendrá permisos para cambiarlos. Se ejecuta con los privilegios de "usuario1". Sólo el propietario puede cambiar permisos. Eso no es sudo, el fichero /etc/sudoers se ignora.
2. usuariox@testserver:~$sudo usuario1 ; -c chown usuario1 prueba.txt
Tampoco. Con el ";" separas dos comandos distintos, y el segundo "-c chown usuario1 prueba.txt" dirá que no encuentra el comando "-c". La sintaxis sería: sudo chown usuario1 prueba.txt Y es el /etc/sudoers quien determina que contraseña le pide y a qué usuario le va a convertir. Y como deseas convertir un fichero que no es suyo, tienes dos alternativas: convertirlo en genérico o en root. Tendrías que poner: OPERADORES ALL=(generico) /bin/chown Y no estoy seguro de que funcione. O bien podrías probar: sudo -u usuario1 chown usuario1 prueba.txt lo cual fallará si el propietario es "generico". Podrías entonces probar: usuario1 ALL=(root) /bin/chown usuario1 /path/* usuario2 ALL=(root) /bin/chown usuario2 /path/* usuario3 ALL=(root) /bin/chown usuario3 /path/* usuario4 ALL=(root) /bin/chown usuario4 /path/* y para ejectar deberías usar: sudo /bin/chown usuario1 /path/prueba.txt Y luego necesitas otra definicion para pasar al contrario: OPERADORES ALL=(root) /bin/chown generico /path/*
Me enrredé otra vez ... cataplum !!!
Sería agregar en la rutina "algo" que pida primero la identidad del usuario y su clave (¿como contrasto esto con la del sistema?) ... y luego ejecute el sudo chown ... ¿ o algo así ?.
Primero olvidate del script y consigue que funcione en consola. Recuerda que si fallas dos o tres veces con el sudo se autobloquea y no te permite probar más: y no te lo dice, te deja probar hasta que te aburras, pero no te hace caso, aunque mandará un correo al root en secreto. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkj9GFcACgkQtTMYHG2NR9WyLwCglxkdrTvAoYhTUrwAtD5KMecX FCYAoICJ5Ucr38js1nyF6jP0BZbtoU+A =3vzM -----END PGP SIGNATURE-----