1. 这一章主要介绍linux的相关用户账号管理。每个登陆者至少都会取得两个ID,一个是使用者ID(User ID,UID),一个是群组ID(group ID,GID)。
2. 当你输入账号和密码时,系统帮你做了什么呢?
1)先找寻/etc/passd里面是否有你的输入账号,若没有就跳出,如有则将该账号对应的UID和GID读出来,另外该账号家目录与shell设定也一并读出
2)核对密码表。这时Linux会进入/etc/shadow里面找出对应的账号与UID,然后核对一下你刚输入的密码与里面的密码是否相同
3)若一切ok,就进入shell控管的阶段啦。
3. 我们可以看一下passwd中的信息:
共有7个信息:
1)账号名称:就是账号啦,对应UID
2)密码:由于密码放在shadow中,故这里只显示x
3)UID:使用者标识,0表示系统管理员,1-499为系统账号,500-65535表示可登陆账号
4)GID
5)用户信息栏说明
6)家目录
7)shell
4. 下面看一下shadow中的内容:
有9个字段:
1)账号名称
2)密码
3)最近更动密码的日期
4)密码不可更动的天数
5)密码需要重新变更的天数
6)密码需要变更期限前的警告天数
7)密码过期后的账号宽限时间
8)账号失效日期
9)保留
5. 如果一般用户的密码忘记了,就切换到root身份然后重新赋值好了,如果root密码忘了就比较麻烦,需要先进入单用户模式(init1),系统会主动给予root权限的bash接口,此时再以passwd修改密码即可,或者用live cd开机后挂载根目录去修改/shadow,将里面的root密码字段清空,再重启后root就不用密码登陆了,登陆后再以passwd指令去设定root密码。
6. /etc/group中存放了以下信息:
存在4个字段:
1)组名
2)群组密码
3)GID
4)此群组支持的账号密码
7. 我们可以使用groups指令来有效与支持群组的观察
新增使用者:useradd,useradd user1,useradd -u 700 -g users bird
删除使用者:userdel
8. 设定密码就用passwd就行了,passwd user就是给user设定密码
9. 列出user的详细密码参数:chage -l user
10. 除了新增与移除用户,linux还提供相关的指令来进行账号相关数据的微调,就是usermod。
usermod -c “user test” user:在user的说明栏加上user test
usermod -e "2009-12-31" user:使user密码早2009-12-31失效
连同家目录删去user:userdel -r user
11. 还有一个比较重要的指令就是finger,finger可以查阅很多用户相关的信息,大部分都是/etc/passwd中的信息,例如finger user查阅user的信息,finger可以显示目前在系统上登陆的用户与登录时间。
类似的groupadd和groupmod就不讲啦。
12. su -可以将身份变为root,但需要密码,sudo 指令执行root的指令串,切换到普通用户就su -user即可。
13. 如果想要知道目前登录在系统上的用户,可以用w或who来查阅,如果想要知道每个账号的最近登录时间,就用lastlog啦,都是直接输入就可以看到了。