Linux新增用户过程详解
Linux系统中,当使用useradd添加用户时,会将系统的/etc/skel目录下的所有文件复制到新添加用户的家目录中。该目录下的所有文件都是隐藏文件(以.点开头的文件)。
通过修改、添加、删除/etc/skel目录下的文件,我们可为新创建的用户提供统一的、标准的、初始化用户环境。
再来看下/etc/default/useradd 文件,该文件时创建用户是使用的默认文件,内容如下:
# useradd defaults file GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes
该文件参数值解析如下:
GROUP = 100 表示 用户组ID HOME = /HOME 表示家目录的位置 INACTIVE = -1 表示 是否启用帐号过期停权,-1表示不启用。 EXPIRE= 表示账号是否启用过期设置 无表示不启用 SHELL = /bin/bash 表示账号使用shell种类 SKEL = /etc/skel 表示账号使用默认文件内容, 可以理解为添加用户的目录默认文件存放位置。也就是说,当用户用useradd添加用户时,用户主目录下的文件都是从这个目录中复制的 CREATE_MAIL_SPOOL=yes 表示是否创建邮箱缓存 yes表示创建
还有个配置文件可以关注下(仅作了解用)/etc/login.defs文件,该文件用来定义创建用户时需要的一些用户配置信息
useradd命令解析
-c 注释 -d 设置用户家目录 -e 设置账号终止日期 -g 指定用户所属组(主组) -G 指定用户附属组(可多个) -s 指定用户登陆的shell -u 指定用户的uid -m 自动创建用户登陆目录 -M 不自动创建用户登陆目录
Example:
useradd -c "test" -u 800 -s /sbin/nologin test
常见问题:
1、登陆后提示符变为-bash4.1$
解析:
出现这种情况通常都是因为用户的家目录的环境变量配置文件被删除了。解决该问题只需要将/etc/skel下的文件复制到用户家目录中注销后重新登陆即可。