Linux是一个多用户、多任务的操作系统,可以让多个用户同时使用系统,为了保证用户之间的独立性,允许用户保护自己的资源不受非法访问。为了使用户之间可以共享信息和文件,也允许用户分组工作。
当安装好Linux 后,系统默认的账号为root,该账号为系统管理员账号,对系统有完全的控制权,可对系统进行任何设置和修改。
useradd、passwd、userdel、usermod、chage
Linux存在三种用户:root用户,系统用户,普通用户。
系统中每一个用户都有一个ID,是区分用户的唯一标志。root用户的ID是0;系统用户的UID范围是1~999;大多数是不能登录的,因为他们的登录shell为/sbin/nologin;普通用户的UID范围是1000~60000。
用户默认配置信息是从/etc/login.defs文件中读取。用户基本信息在/etc/passwd文件中;用户密码等安全信息在/etc/shadow文件中。
useradd(adduser)命令
语法:useradd [选项] [用户账号]
功能:建立用户账号,账号建好之后,再用passwd设定账号的密码。可以用userdel删除账号。使用useradd命令建立的账号被保存在/etc/passwd文本文件中。
useradd命令各选项及其功能:
-c 加上备注文字,备注文字保存在passwd的备注栏中
-d 指定用户登录时的起始目录
-D 变更默认值
-e 指定账号的有效期限
-f 指定在密码过期后多少天关闭账号
-g 指定用户所属的组群
-G 指定用户所属的附加组群
-m 自动建立用户的主目录
-M 不要自动建立用户的主目录
-n 取消建立以用户名称为名的组群
-r 建立系统账号
-s 指定用户登录后所使用的Shell
-u 指定用户ID
注意:用useradd username添加一个名为username的用户,useradd会自动把/etc/skel目录中的文件复制到用户的主目录,并设置适当的权限(除非添加用户时用-m选项:useradd -m xxx)。
一个人能否使用Linux系统,取决于该用户在系统中有没有账号。
passwd命令
语法:passwd [选项] 用户账号
功能:passwd命令可以更改自己的密码(或口令),也可以更改别人的密码。如果后面没有跟用户账号,就是更改自己的密码。否则就是为这个账户设置或更改密码。前提是该账号必须是已经用useradd命令添加的账号才可以。只有超级用户才可以修改其它用户的口令。
在早期的Linux版本中,经过加密程序处理过的用户口令,存放在passwd文件的第二个字段。但是为了防范有人对这些加密过的密码进行破解,Linux把这些加密的密码移到etc/shadow 文件中,而原来的/etc/passwd文件放置密码的地方,只留一个x字符,而对/etc/shadow 文件只有超级用户有读取权限,这就叫做最新的shadow password功能。
添加用户:
useradd username
为用户设置密码:
passwd username
用户添加成功后,会在/etc/passwd文件最后一行找到用户信息例如:
user1:x:1000:1000: TestServer:/home/user1:/bin/bash
在/etc/passwd文件的最后一行可以找到密码相关的信息:
user1:$1$z5COW1aI$84BmF7uUAzga48m/ieDHR1:16461:0:99999:7:::
/etc/passwd文件中字段安排如下(6个冒号,7个字段):
【用户名:密码:UID:GID:用户描述:用户主目录:用户登录Shell】
/etc/shadow文件中字段安排如下(8个冒号,9个字段)
【账号名称:密码:上次更动密码日期:密码不可被更动的天数:密码需要重新变更的天数:密码需要变更期限前的警告期限:账号失效期限:账号取消日期:保留】
注意:用户标识码UID和组标识码GID的编号从1000开始,如果创建用户账号或组群时未指定标识码,那么系统会自动指定从编号1000开始且尚未使用的号码。
userdel命令
语法:userdel [-r] [用户账号]
功能:删除用户账号及其相关的文件。如果不加参数,那么只删除用户账号,而不
删除该账号的相关文件。
参数:-r 删除用户主目录以及目录中的所有文件。
如果只是临时禁止用户登录系统,那么不用删除用户账号,可以采取临时查封用户
账号的办法。编辑口令文件/etc/passwd,将用户所在行的用户口令域的字符x替换
成*字符即可,这样该用户则无法登录系统,需要时,可以再更改回来,则用户可重
新登录系统。
注意:#find /-user username -exec rm{}\ 命令删除用户username的所有文件。
usermod命令
语法:usermod [选项] 用户账户
功能:修改用户信息。
具体使用方式查看man命令
chage命令
语法:
chage [- l] [-m mindays] [-M maxdays] [-I inactive] [-E expiredate] [-W warndays] [-d lastdays] username
功能:更改账户密码过期信息。