linux 登录大致过程: 1. 先寻找 /etc/passwd 里面是否有你输入的账号,如果没有跳出;如果有的话将该账号对应的UID 和 GID(在 /etc/group 中)读出来,另外,该账号的主文件夹与 shell 设置也一并读出。 2. 再来就是核对密码了。这时 Linux 会进入 /etc/shadow 里面找出对应的账号和 UID , 然后核对一下你刚刚输入的密码是否相符 3. 如果一切 OK,就进入 shell 控管阶段了
/etc/passwd 文件结构
每一行代表一个账号,里面有很多账号本来就是系统正常运行所必须的系统账号,如 bin,daemon,adm,nobody等。不能随便删除。一共 7 个字段:1.账号名称 : 就是账号,用来对应 UID 的 。 root 的 UID 对应0(第3字段)2.密码 x3.UID : 用户标示id 范围 特性0(系统管理员) 当 UID 为0是系统账号,所以系统管理员不止root1~499(系统账号) 保留给系统使用的 ID,其实除了0以外,其他UID权限与特性并没有不一样。由于系统上启动的服务希望以最小的权限去运行,因此不希望使用root身份执行这些服务,所以我们就要提供这些运行中程序的所有者账号才行。这些系统账号通常是不可登录的,所有才有 /sbin/nologin 这个特殊的 shell 存在1~99 : 由 distributions 自行创建的系统账号100~499 : 若用户有系统账号需求,可使用的账号 UID500~65535(可登陆账号) : 一般给用户用的。4.GID : 这个与 /etc/group 有关。5.用户信息说明列6.主文件夹 : 如果想要该账号的主文件夹移动到其他硬盘去,修改这个。7. Shell : 用户登录系统后会取得一个 shell 来与系统内核通信。默认的shell是否为bash ,就是这个字段指定。/sbin/nologin 这个shell可以让账号无法取得 shell 环境的登录操作。/etc/shadown 文件结构
一共9个字段:1.账号名称:必须与 /etc/passwd 相同2.密码 : 编码后的密码3.最近更改密码日期:从1970-01-01开始4.密码不可被更动的天数:最近一次修改后需要经过几天才能修改。0表示都可以修改。5.密码需要重新修改的天数:指定在最近一次更改密码后在多少天内需要再次更改密码6.密码需要更改期限前的警告天数(与第5个字段比)7.密码过期后的账号宽限时间(密码失效日)8.密码失效日期9.保留/etc/group 文件结构
1.用户组名称2.用户组密码 : 通常不需要3. GID :/etc/passwd 第四个字段对应的 GID4.此用户组支持的账号名称:某个账号想加入此用户组,将该账号填入这个字段即可。有效用户组 和 初始用户组
每个用户在他的 /etc/passwd 第四列中有 GID ,这个是他的初始用户组。即用户登录时,就立即拥有这个组的权限。groups : 有效与支持用户组查看
newgrp : 有效用户组的切换
/etc/gshadow
1.用户组名 2.密码列 : 如果是 ! ,表示不具有用户组管理员3.用户组管理员账号4.该用户组的所属账号账号管理
添加账号:useradd [-u UID] [-g 初始用户组] [-G 次要用户组] [-mM] [-c 说明栏] [-d 主文件夹绝对路径] [-s shell] 用户账号名useradd 参考文件:
由 /etc/default/useradd 调用出来
1.GROUP=100 : 新建账号的初始用户组使用GID为100 私有用户组机制:一个账号一个用户组 共有用户组机制:公用一个用户组2.HOME=/home : 用户主文件夹的基准目录3.INACTIVE=-1 : 密码过期后是否会失效的设置值,0表示立即失效,-1表示不会失效4.EXPIRE=账号失效日期 5.SHELL=/bin/bash : 默认使用的 shell 程序名字6.SKEL=/etc/skel : 用户主文件夹参考基准目录7.CREATE_MAIL_SPOOL=yes : 创建用户的 mailboxuseradd 这个程序在创建用户时,至少会参考:/etc/default/useradd/etc/login.defs /etc/skel/*passwd
创建用户后,没密码,/etc/passwd 是 ! 的。passwd [--stdin] // 所有人均可以修改自己的密码passwd [-l] [-u] [--stdin] [-S] [-n] [-x] [-w] [-i] 账号 //root 功能usermod :修改账号
usermod [-cdegGlsuLU] usernameuserdel : 删除账号
userdel -r username-r : 连同用户的主文件夹也一起删除用户功能
finger [-s] username chfn [-foph] [账号名称] //change fingerchsh [ls] // change shellid [username]用户组
groupadd [-g gid] [-r] 用户组名groupmod [-g gid] [-n group_name] 用户组名groupdel [groupname]gpasswd : 用户管理组员功能gpasswd groupname新闻热点
疑难解答