# useradd: unable to open password file

## funkoolow

salve a tutti,

come da topic, il revdep-rebuild necessita la ricompilazione di ldap ma durante il processo mi esce con quest'errore:

useradd: unable to open password file

ecco l'output completo:

```
>>> Emerging (1 of 2) net-nds/openldap-2.3.35-r1 to /

 * openldap-2.3.35.tgz RMD160 ;-) ...                                                                                  [ ok ]

 * openldap-2.3.35.tgz SHA1 ;-) ...                                                                                    [ ok ]

 * openldap-2.3.35.tgz SHA256 ;-) ...                                                                                  [ ok ]

 * openldap-2.3.35.tgz size ;-) ...                                                                                    [ ok ]

 * checking ebuild checksums ;-) ...                                                                                   [ ok ]

 * checking auxfile checksums ;-) ...                                                                                  [ ok ]

 * checking miscfile checksums ;-) ...                                                                                 [ ok ]

 * checking openldap-2.3.35.tgz ;-) ...                                                                                [ ok ]

 * 

 * Scanning datadir(s) from slapd.conf and

 * the default installdir for Versiontags

 * (/var/lib/openldap-data may appear twice)

 * 

 * 

 * All datadirs are fine, proceeding with merge now...

 * 

 * Adding user 'ldap' to your system ...

 *  - Userid: 439

 *  - Shell: /sbin/nologin

 *  - Home: /usr/lib/openldap

 *  - Groups: ldap

useradd: unable to open password file

!!! ERROR: net-nds/openldap-2.3.35-r1 failed.

Call stack:

  ebuild.sh, line 1631:   Called dyn_setup

  ebuild.sh, line 703:   Called qa_call 'pkg_setup'

  ebuild.sh, line 44:   Called pkg_setup

  openldap-2.3.35-r1.ebuild, line 170:   Called enewuser 'ldap' '439' '-1' '/usr/lib/openldap' 'ldap'

  eutils.eclass, line 583:   Called die

```

per curiosità ho provato il comando a mano:

```
localhost salon # useradd ldap -d /usr/lib/openldap -g ldap -s /sbin/nologin

useradd: unable to open password file

```

ho trovato sulla rete qualche indicazione in merito alla rimozione di file di lock temporanei tipo /etc/.pwd.lock (effettivamente creati dal sistema sia dopo il revdep che dopo il comando manuale), ma anche cancellandoli l'errore di ripresenta.

Come mi posso muovere?

----------

## cloc3

 *funkoolow wrote:*   

> 
> 
> ```
> localhost salon # useradd ldap -d /usr/lib/openldap -g ldap -s /sbin/nologin
> 
> ...

 

sembrerebbe un problema del tuo useradd, non dell'ebuild di ldap.

riusciresti a modificare manualmente il file /etc/group (dopo backup preventivo) o incontri blocchi simili di permessi?

io ho:

```

cloc3@s939 ~ $ ls -l /etc/passwd /etc/group

-rw-r--r-- 1 root root 1295 14 apr 21:59 /etc/group

-rw-r--r-- 1 root root 2489 14 mag 22:25 /etc/passwd

cloc3@s939 ~ $ grep ldap /etc/passwd /etc/group

/etc/passwd:ldap:x:439:439:added by portage for openldap:/usr/lib64/openldap:/sbin/nologin

/etc/group:ldap:x:439:

```

----------

## funkoolow

```
salon@localhost ~ $ ls -l /etc/passwd /etc/group

-rw-r--r-- 1 root root  899 Jun 23 21:56 /etc/group

-rw-r--r-- 1 root root 1712 May  5 22:18 /etc/passwd

```

non mi sembra ci siano problemi da questo punto di vista... potrebbe essere utile un check della partizione?

----------

## cloc3

 *funkoolow wrote:*   

> potrebbe essere utile un check della partizione?

 

bu. prima dovresti farti un'idea di cosa checkare.

puoi accedere ai file manualmente, con un editor di testo?

ho guardato il codice di useradd:

```

   if (!pw_open (O_RDWR)) {

      fprintf (stderr, _("%s: unable to open password file\n"), Prog);

```

sembra proprio che l'unica possibilità sia un difetto di permessi in scrittura.

non è che la partizione di root, per qualche arcano motivo, risulti montata readonly?

----------

## funkoolow

```
localhost salon # mount

/dev/hda5 on / type ext3 (rw,noatime,user_xattr)

```

ho anche provato ad editare manualmente il file /etc/passwd ed effettivamente, appena attivo l'inserimento mi esce il warning "warning: changin a readonly file", eppure il file è di proprietà di root ed è da esso scrivibile:

```
localhost salon # ls /etc/passwd -al

-rw-r--r-- 1 root root 1712 May  5 22:18 /etc/passwd

```

----------

## cloc3

 *funkoolow wrote:*   

> 
> 
> ho anche provato ad editare manualmente il file /etc/passwd ed effettivamente, appena attivo l'inserimento mi esce il warning "warning: changin a readonly file", eppure il file è di proprietà di root ed è da esso scrivibile:
> 
> 

 

quindi vi condivide il problema. ma riesci almeno a forzare la scrittura con w!?

io a questo punto proverei ad accedere da LiveCd. se scrive tranquillamente, significa che il tuo sistema monta la root readonly.

----------

