Instalé Cygwin pero tengo problemas para operarlo cómodamente. Me gustaría poder, por ejemplo, 'su peter' donde peter tiene sus propias preferencias para el directorio de inicio y el shell. No me importa la seguridad. No necesito que estas "cuentas de usuario" sean visibles para los mecanismos de Windows.
Mis esfuerzos se han visto obstaculizados. No sé cómo configurar "no se requiere contraseña" en /etc/passwd. 'su' da el comando no encontrado.
(Por cierto, instalé Cygwin en una máquina diferente hace varios años sin ningún problema. ¿Estoy luchando con las "mejoras" recientes?)
Déjame aclarar mi pregunta. Las funciones de /etc/passwd son: * asignar un directorio de inicio. Quiero que george y peter tengan directorios diferentes. No me importa si george y peter pueden modificar los archivos de cada uno o no * Quiero que george pueda usar un shell diferente al de peter. No quiero que goerge necesite escribir ** tcsh ** cd /home/george ** source .cshrc para cada shell que se genere. ¿Existe una manera fácil de lograr esto? ¿La instalación de Windows tiene siquiera el concepto de shell Cygwin preferido?
Respuesta1
No me importa la seguridad.
No necesito que estas "cuentas de usuario" sean visibles para los mecanismos de Windows.
Cada usuario de Cygwin debe tener un usuario de Windows correspondiente.
¿Cómo agrego un nuevo usuario en Cygwin?
- Crear un usuario de Windows
- Cree el usuario en Windows (Inicio > Panel de control > Administrar cuentas de usuario > Agregar...)
- Crea el usuario Cygwin correspondiente
Ejecute los siguientes comandos:
mkpasswd -l > /etc/passwd mkgroup -l > /etc/group
Esto sincronizará los usuarios y grupos de Cygwin con la cuenta de usuario de Windows.
Si está en un dominio, utilice
-d
en lugar de-l
- Configurar el shell de los usuarios
Cambie el shell predeterminado del usuario según corresponda modificando
/etc/passwd
(que es un archivo de texto sin formato)El formato del archivo es el siguiente:
Username:Password:UID:GID:Info:Home:Shell
- Modifique los permisos del directorio de inicio del usuario según sus necesidades
No sé cómo configurar "no se requiere contraseña"
Si realmente no te importa la seguridad y no quieres usar contraseña:
password -p username
De la passwd
documentación:
Sinopsis
passwd [OPTION] [USER]
Opciones
...
-p, --pwd-not-required
no se requiere contraseña para USUARIO.
Fuentecontraseña
¿Estoy luchando con las "mejoras" recientes?
A partir de la versión 1.7.34 de Cygwin /etc/passwd
ya no se utiliza de forma predeterminada para administrar cuentas de usuario.
Si
/etc/passwd
existe, se utilizará, pero sólo para atender instalaciones existentes y situaciones especiales.Si
/etc/passwd
no existe aún puedes crearlo. Vermkpasswdygrupo mkpara más información.
Desde la versión 1.7.34, Cygwin utiliza la administración de usuarios nativa de Windows.
- Active Directory si está disponible,
- SAM en caso contrario.
Debe utilizar el nuevo mecanismo para administrar cuentas de usuario en lugar de /etc/passwd
:
A partir de Cygwin 1.7.34, Cygwin utiliza una traducción interna automática de Windows SID a POSIX UID/GID. Este mecanismo, que es el método preferido para el mapeo SID<=>UID/GID, se describe en detalle en laAsignación de cuentas de Windows a cuentas POSIX.
Antes de Cygwin 1.7.34, la última parte del SID, el llamado "Identificador relativo" (RID), se usaba de forma predeterminada como UID y/o GID cuando se creaban los archivos /etc/passwd y /etc/group usando el
mkpasswd
ymkgroup
herramientas. Estas herramientas, además de leer cuentas/etc/passwd
y/etc/group
archivos, todavía están presentes en versiones recientes de Cygwin, pero debes cambiar a la traducción automática antes mencionada, a menos que tengas necesidades muy específicas. De nuevo, mira Asignación de cuentas de Windows a cuentas POSIXpara los detalles.
FuenteCuentas POSIX, permisos y seguridad:
su
da comando no encontrado.
Instalar sshd
y utilizar ssh username@localhost
como su
reemplazo.
Puede definir un su
alias para hacerlo más fácil.
¿Por qué no funciona?
El
su
comando ha estado dentro y fuera de las distribuciones de Cygwin, pero no ha sido portado a Cygwin y nunca ha funcionado. Actualmente está instalado como parte desh-utils
, pero nuevamente, no funciona.Preferiría instalarlo
sshd
y usarlossh username@localhost
comosu
reemplazo.Para obtener información técnica sobre por qué
su
no funciona, leaAcerca del comando 'su'y mensajes de archivo de correo relacionados.
Fuente¿Por qué no funciona?