[Bash] Problema al crear usuario con useradd

Iniciado por javier1986, 1 Marzo 2013, 18:41 PM

0 Miembros y 1 Visitante están viendo este tema.

javier1986

Hola,
Quiero crear un usuario pero no quiero que su home sea el que pone por defecto (/home) sino que lo quiero poner en /home_local que es una carpeta que he creado y cuelga desde la raiz.
Esta carpeta le he puesto permisos 777

# useradd -m -d /home_local/metal  pep
Al ejecutar esta orden me da el siguiente error:
useradd: no se puede crear el directorio /home_local/metal

Que estoy haciendo mal?
espero que esta sección del foro sea donde debería publicar esta duda :)
Gracias ^^

-Myx-

No hay ninguna razon para que eso falle.

Yo que vos empezaría de cero borrando el /home_local y volviéndolo a crear.

Sino, podes fijarte ejecutando el comando que te da error asi.

# strace useradd -m -d /home_local/metal pep 2>&1 | less

Y fijate cerca del final que syscall devuelve '= -1'

javier1986

He hecho la orden como me has dicho y creo que da un error por permisos de la carpeta /home_local pero esta tiene permisos

drwxrwxrwx.   2 root root  4096 mar  2 12:26 home_local

Te pego la parte final del strace para que lo puedas ver y gracias por contestar


open("/sys/fs/selinux/context", O_RDWR|O_LARGEFILE) = 10
write(10, "system_u:object_r:default_t:s0\0", 31) = 31
read(10, "system_u:object_r:default_t:s0\0", 4095) = 31
close(10)                               = 0
open("/sys/fs/selinux/mls", O_RDONLY|O_LARGEFILE) = 10
read(10, "1", 19)                       = 1
close(10)                               = 0
socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC, 0) = 10
connect(10, {sa_family=AF_FILE, sun_path="/var/run/setrans/.setrans-unix"}, 110) = -1 ENOENT (No such file or directory)
close(10)                               = 0
socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC, 0) = 10
connect(10, {sa_family=AF_FILE, sun_path="/var/run/setrans/.setrans-unix"}, 110) = -1 ENOENT (No such file or directory)
close(10)                               = 0
gettid()                                = 1608
open("/proc/self/task/1608/attr/fscreate", O_RDWR|O_LARGEFILE) = 10
write(10, "system_u:object_r:default_t:s0\0", 31) = 31
close(10)                               = 0
mkdir("/home_local/metal", 0)           = -1 EACCES (Permission denied)
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 10
fstat64(10, {st_mode=S_IFREG|0644, st_size=2512, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb770e000
read(10, "# Locale name alias data base.\n#"..., 4096) = 2512
read(10, "", 4096)                      = 0
close(10)                               = 0
munmap(0xb770e000, 4096)                = 0
open("/usr/share/locale/es_ES.UTF-8/LC_MESSAGES/shadow.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/es_ES.utf8/LC_MESSAGES/shadow.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/es_ES/LC_MESSAGES/shadow.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/es.UTF-8/LC_MESSAGES/shadow.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/es.utf8/LC_MESSAGES/shadow.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/es/LC_MESSAGES/shadow.mo", O_RDONLY) = 10
fstat64(10, {st_mode=S_IFREG|0644, st_size=62178, ...}) = 0
mmap2(NULL, 62178, PROT_READ, MAP_PRIVATE, 10, 0) = 0xb71f8000
close(10)                               = 0
write(2, "useradd: no se puede crear el di"..., 59useradd: no se puede crear el directorio /home_local/metal
) = 59
readlink("/proc/self/exe", "/usr/sbin/useradd", 4096) = 17
ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
fstat64(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
readlink("/proc/self/fd/0", "/dev/pts/0", 31) = 10
stat64("/dev/pts/0", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
lstat64("/dev/pts/0", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
sendto(3, "x\0\0\0Z\4\5\0\3\0\0\0\0\0\0\0op=adding home d"..., 120, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 120
poll([{fd=3, events=POLLIN}], 1, 500)   = 1 ([{fd=3, revents=POLLIN}])
recvfrom(3, "$\0\0\0\2\0\0\0\3\0\0\0H\6\0\0\0\0\0\0x\0\0\0Z\4\5\0\3\0\0\0"..., 8988, MSG_PEEK|MSG_DONTWAIT, {sa_family=AF_NETLINK, pid=0, groups=00000000}, [12]) = 36
recvfrom(3, "$\0\0\0\2\0\0\0\3\0\0\0H\6\0\0\0\0\0\0x\0\0\0Z\4\5\0\3\0\0\0"..., 8988, MSG_DONTWAIT, {sa_family=AF_NETLINK, pid=0, groups=00000000}, [12]) = 36
_llseek(8, 1273, [1273], SEEK_SET)      = 0
close(8)                                = 0
munmap(0xb7716000, 4096)                = 0
unlink("/etc/shadow.lock")              = 0
_llseek(5, 2040, [2040], SEEK_SET)      = 0
close(5)                                = 0
munmap(0xb7719000, 4096)                = 0
unlink("/etc/passwd.lock")              = 0
_llseek(6, 745, [745], SEEK_SET)        = 0
close(6)                                = 0
munmap(0xb7718000, 4096)                = 0
unlink("/etc/group.lock")               = 0
_llseek(7, 594, [594], SEEK_SET)        = 0
close(7)                                = 0
munmap(0xb7717000, 4096)                = 0
unlink("/etc/gshadow.lock")             = 0
close(4)                                = 0
readlink("/proc/self/exe", "/usr/sbin/useradd", 4096) = 17
ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
fstat64(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
readlink("/proc/self/fd/0", "/dev/pts/0", 31) = 10
stat64("/dev/pts/0", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
lstat64("/dev/pts/0", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
sendto(3, "p\0\0\0Z\4\5\0\4\0\0\0\0\0\0\0op=adding user a"..., 112, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 112
poll([{fd=3, events=POLLIN}], 1, 500)   = 1 ([{fd=3, revents=POLLIN}])
recvfrom(3, "$\0\0\0\2\0\0\0\4\0\0\0H\6\0\0\0\0\0\0p\0\0\0Z\4\5\0\4\0\0\0"..., 8988, MSG_PEEK|MSG_DONTWAIT, {sa_family=AF_NETLINK, pid=0, groups=00000000}, [12]) = 36
recvfrom(3, "$\0\0\0\2\0\0\0\4\0\0\0H\6\0\0\0\0\0\0p\0\0\0Z\4\5\0\4\0\0\0"..., 8988, MSG_DONTWAIT, {sa_family=AF_NETLINK, pid=0, groups=00000000}, [12]) = 36
time(NULL)                              = 1362222515
send(9, "<86>Mar  2 12:08:35 useradd[1608"..., 73, MSG_NOSIGNAL) = 73
exit_group(12)                          = ?
+++ exited with 12 +++




-Myx-

Viendo la salida de strace, me parece que tenes SELinux activado.

Si es asi, no puedo ayudar mucho, salvo con este link.

Cita de: rhatdan
This works for me.
mkdir /somedir
semanage fcontext -a -e /home /somedir
restorecon -R -v /somedir
useradd -b /somedir somedir

http://forums.fedoraforum.org/showthread.php?t=275621