Tengo que cambiar la propiedad del archivo / directorio usando chmod
. Sé solo el nombre de usuario de los propietarios pero quiero cambiar el nombre de grupo predeterminado simultáneamente. En esta etapa, el nombre del grupo no está decidido, así que pongo el mismo nombre de usuario
chown -R username:username path_to_dir
El comando puede ejecutarse para varios sistemas / usuarios, así que mi preocupación es que linux siempre tenga un par de nombre de usuario (usuario): nombre de usuario (grupo) O en algún momento este nombre de grupo predeterminado puede dar error.
Aunque he empezado a encontrar GID del usuario pertenece
id username | tr '(=)' ':' | awk -F: '{print $3}
Pero por conocimiento quiero saber. Hasta ahora, el análisis de, /etc/passwd
/etc/groups
excepto pocos usuarios, como "apagar, detener, sincronizar, operar" o todos los usuarios también se han incluido en grupos.
EDITAR 1: id -gn nombre de usuario también es una buena opción
id -g username
?id -gn username
que imprime el nombre en lugar de la ID.Respuestas:
No hay garantía de que groupname =
username
existirá.El escenario más común es que los administradores de sistemas usan en Linux crear un nuevo usuario localmente en el sistema sin una especificación explícita para el grupo, lo que significa que el grupo se creará de manera predeterminada igual que el nombre de usuario y se le asignará al usuario que tenga el GID predeterminado debe ser del grupo recién creado.
Esto no significa que otro administrador del sistema seguirá este procedimiento y si agrega otros servicios de nombres a la mezcla como NIS o LDAP, el grupo asignado por defecto probablemente no será el mismo que el nuevo GID con el nombre del grupo igual que el nombre de usuario.
Por lo tanto, no debe confiar en el hecho de que username = groupname
fuente
useradd
script que por defecto crea un grupo con el mismo nombre, no todas tienen. La última vez que lo usé (hace muchos, muchos años), el script de creación de usuarios de slackware por defecto tenía un solo grupo delusers
que todos los usuarios se hicieron miembros. docs.slackware.com/slackbook:users sugiere que este puede ser el caso.Aunque el idioma de grupo privado del usuario a menudo se usa en los sistemas Linux modernos, * nix en realidad no requiere un grupo primario único para cada usuario, y es muy posible que varias cuentas de usuario compartan un grupo primario común como
users
ostaff
.Incluso en los casos en que se aplica el idioma UPG, no hay una razón particular por la cual el GID numérico de un UPG particular deba ser igual al UID del propietario, aunque la mayoría de las herramientas de creación de cuentas intentarán asignar UID y GID en orden, si son disponible. Los ID pueden salirse fácilmente del paso si los usuarios y / o grupos necesitan ser consistentes en múltiples sistemas (por ejemplo, para acomodar recursos compartidos NFS preexistentes).
fuente
Como Ramesh ha indicado por defecto, el UID y el GID son iguales para los usuarios comunes. Sin embargo, este no es siempre el caso, por lo que no debe hacer una suposición ya que esto puede causar estragos en su sistema. Asignar permisos de archivo / carpeta a un grupo incorrecto es algo desordenado, ¿no?
Entonces, la respuesta corta: no, UID no siempre es igual a GID. Aún así,
/etc/passwd
contiene tanto el UID como el GID del grupo predeterminado en la misma línea, por lo que es bastante fácil extraerlos.fuente
adduser
en lugar deuseradd
y los valores por defecto en/etc/adduser.conf
se establecen enUSERGROUPS=yes
lo que crea un grupo para cada nuevo usuario. Sin embargo, estos grupos generalmente (no siempre) tienen el mismo GID que el UID del usuario para el que fueron creados.Desde este enlace, veo la siguiente información.
Una identificación de usuario (UID) es un número entero positivo único asignado por un sistema operativo tipo Unix a cada usuario. Cada usuario se identifica con el sistema mediante su UID, y los nombres de usuario generalmente se usan solo como una interfaz para humanos.
Los UID se almacenan, junto con sus nombres de usuario correspondientes y otra información específica del usuario, en el
/etc/passwd
archivo, que se puede leer con el comando cat de la siguiente manera:El tercer campo contiene el UID, y el cuarto campo contiene el ID de grupo (GID), que por defecto es igual al UID para todos los usuarios comunes.
EDITAR
Sin embargo, como señala @Karlson, no es cierto que el UID sea igual a GID por defecto.
La declaración es verdadera solo si no se agregan grupos ordinarios por separado y no se especifican explícitamente grupos en ninguna creación de usuario . Por defecto gid para el siguiente usuario agregado =
max(gid) + 1
. No existe una correlación entre UID y GID requerida por ningún sistema * NIX, solo coinciden en algunos casos.Más referencias
http://www.thegeekstuff.com/2009/06/useradd-adduser-newuser-how-to-create-linux-users
fuente
-g
indicadoruseradd
del programa, se creará un grupo para usted y, a menos que se haya producido un cambio de GID, será = UID. Sin embargo, si no se conoce el método de creación, no puede confiar en el hecho de que este será el caso:uid=123456(ME) gid=777(ABC) groups=777(ABC)