Linux系统中三大使用对象
- 管理员
- 用户(普通使用者)
- 一堆需求相似或相同的用户组队在一起叫做用户组
- 其他人
他们这三大对象形象的比喻一下的话:
管理员是“上帝”
用户是“被分配一块资源,去做对应的事情”
其他人“观光游览旅游人员”
系统如何知道用户是谁呢?通过账号!
账号的信息放在里配置文件目录etc下的文件中,如果某个人要登录系统是的时候,系统就会去etc目录下的文件中找这个账号的信息,看看他在当前系统下是哪类使用对象,系统拿到登录用户的用户名后,去下面的文件中找到用户对应的数字ID来确认用户的身份和其归属的权限与资源使用的范围。
- /etc/passwd 文件中存放所有的账号信息
- /etc/shadow 文件中存放所有账号的密码
- etc/group 文件中存放着所有用户组名的信息。
- etc/gshadow 文件中存放所有用户组密码。
三个文件的解释
/etc/passwd
例
wang:x:1001:1001:wang:/home/wang:/bin/bash
//注册名:口令:用户标识号:基本组标识号:用户名:用户主目录:命令解释程序
补充:
- 用户标识号
- 0为管理员
- 1- 65535;其中1- 499 一般分给系统用户,500+登录的一般用户
/etc/shadow
例
//
//登陆名:加密密码:最近一次的密码修改时间(距离1970-1-1的时间):最短使用期限:最长使用期限:警告区间:非活动区间(登陆就要修改密码):账号的过期期限:预留段
testuser2:!!:16973:0:99999:7:::
备注:账号的所有信息都可以修改配置文件来完成。
/etc/group 附加组
例
// 用户组名称:用户组密码:GID:用户列表
wang:x:1000:wang
//该组用户列表中每个用户之间用,号分割,本字段可以为空;如果字段为空表示用户组为GID的用户名
基本组和附加组
基本组就是创建用户是就被分配的组,而附加组是该用户创建完成后想要加入并加入进去的组。
用户密码的修改
- 普通用户:passwd
- 要符合密码安全性策略:足够复杂
- 管理员:
- 改自己密码:passwd
- 改其他用户密码:passwd UserName
- -l:锁用户 用户密码前加两个!
- -u:解锁
用户的权限
对于每个文件来说都有对应三个身份的权限设置即:r,w,x,
- 管理员来说文件永远都有全部权限,也可以修改他人权限
- 用户自己对拥有者为自己的文件默认拥有全部权限,同时对用户组和其他人的权限可以随意设置。
- 用户组的权限一般都是被设定好的。
- 其他人身份可以访问的权限都是用户或者管理员赋予的并指定区域的
用户创建,删除时可以同时做什么呢?事后有哪些信息可以根据情况修改呢?–》账号的管理
账号创建
账号的简单创建:useradd ,系统会默认配置对应的文件
- useradd的创建用户时是有一些默认值的可以通过 useradd -D 调用出来默认值(管理员身份运行)
- 以下信息实际是在/etc/default/useradd 文件中调用出来的
// 100 的默认用户组是user,也就是让用户组合和用户名相同
GROUP=100 《==默认的用户组
HOME=/home 《==默认的主文件夹所在目录
INACTIVE=-1 《==密码失效日,在shadow内的第7列,0表示过期失效,-1表示永远都不失效,如30则表示30天后失效
EXPIRE= 《==密码失效日,在shadow内的第9列
SHELL=/bin/bash 《==默认的shell
SKEL=/etc/skel 《==用户主文件夹的内容数据参考目录
CREATE_MAIL_SPOOL=yes 《==是否主动帮用户创建邮件信箱(mailbox)
- 同时账号创建的同时可以,指定一些设置
- <备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
- <登入目录>:指定用户登入时的启始目录;
- <有效期限>:指定帐号的有效期限; -
- <缓冲天数>:指定在密码过期后多少天即关闭该帐号; -
- <群组>:指定用户所属的群组; -
- <群组>:指定用户所属的附加群组; -
- 自动建立用户的登入目录;
- 不要自动建立用户的登入目录; -
- 取消建立以用户名称为名的群组;
- 建立系统帐号;
- 指定用户登入后所使用的shell;
- 指定用户id。
以上操作在useradd的选项中可以操作。
管理账号 usermod
- 锁定账号密码,是账号密码无效
- 解锁账号密码
- 修改账号名称,和其用户组
- 修改创建时可以指定的信息都可以在次修改
删除账号userdel
- 删除账号和其指定的配置文件