Título: [Bash] Problema al crear usuario con useradd
Publicado por: javier1986 en 1 Marzo 2013, 18:41 pm
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 ^^
Título: Re: [Bash] Problema al crear usuario con useradd
Publicado por: -Myx- en 2 Marzo 2013, 01:04 am
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'
Título: Re: [Bash] Problema al crear usuario con useradd
Publicado por: javier1986 en 2 Marzo 2013, 12:41 pm
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 +++
Título: Re: [Bash] Problema al crear usuario con useradd
Publicado por: -Myx- en 3 Marzo 2013, 07:26 am
Viendo la salida de strace, me parece que tenes SELinux activado. Si es asi, no puedo ayudar mucho, salvo con este link. 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
|