/etc/passwd文件的分析:例如
1:帐号名称,对应uid
2:密码,放在/etc/shadow
3:UID,其中0代表系统管理员,1~499其实与500~65535差不多,普通帐户。
4:GID,与/etc/group有关
5:解释帐号的意义
6:用户家目录
7:Shell命令,注:有一个/sbin/nologin可以让帐号无法登录,利用这点可以制作纯pop邮件帐号者数据。
/etc/shadow文件分析:例如xiaozhe:$1$o8IR4$3dhoIo0a2ESg2Fv/Af9xM.:15380:0:99999:7:::以:分隔共9部分。linux日期为:1970.01.01
1:帐号名称:必须与/etc/passwd里面的相同
2:密码:一般密码栏第一个字符为(*)或(!)表示这个账户不能用来登录,如果想让某个账户不能登录,可以在密码栏第一个字符加上(*)
3:最近更改密码的日期: 以天数来计算的
4:密码不可更改的天数:0表示随时可以修改,如果设置为10表示修改密码后10天内不能再次修改
5:密码需要重新更改的天数:99999表示不需要重新输入。如果设置表示在这个时间内要重新设置密码,否则帐号会失效。
6:密码更改期限前的警告期限:在帐号失效前7天警告用户
7:密码过期的宽限时间:如果设置为N表示密码失效后的N天内还是可以登录
8:帐号失效日期:与第三个字段一样用天数计算,一般用在收费系统。
9:保留:保留字段。
/etc/group文件分析:例如,root:x:0:root
1:用户组名称
2:用户组密码,通常不设置,保存在/etc/gshadow
3:GID:用户组ID
4:支持的账号名称:一个账号能加入多个组,如果想让xiaozhe加入root用户组,在最后加上(,xiaozhe),注意不要空格,例如:root:x:0:root,xiaozhe
有效用户组和初始用户组:
初始用户组:用户登录时默认/etc/passwd里面的用户组
groups:输出我所属的用户组,并且第一个输出的用户组为有效用户组。
newgrp groupname:可以用来切换有效i用户组~~~~
帐号管理:
useradd username:参数过多,使用在查或者书上308页。
默认情况的相关信息在:/etc/default/useradd中
关于用户家目录参考:/etc/skel/*
关于用户UID/GID的设置在/etc/login.defs中
passwd [useraccount]:修改密码
usermod:相关数据的修改,参数过多,使用查看书上312页。
userdel [-r] username:删除用户,-r 连同用户的家目录也一起删除。
如果要全部删除,先find / -user username 把其余文件也要删除掉
用户功能:
chsh [-ls] : -l 列出当前系统的shell,-s设置自己的shell
chfn:更改自己的相关信息
id [username]:查看某人或自己的相关UID/GID信息
新增与删除用户组:基本与/etc/group和/etc/gshadow有关
groupadd [-g gid][-r]:-g直接给予某个gid。-r建立系统用户组,与/etc/login.defs内的GID_MIN有关。
groupmod [-g gid] [-n group_name]:-g修改已有的GID数字,-n修改已有的用户组名称。
groupdel:删除用户组
passwd的一些用法,管理员管理用户很方便:
-l:将username帐号的密码锁住,在/etc/shadow内的密码栏修改。
-u:将帐号解锁
-n:后面接天数,最短天数;即/etc/shadow内的第四栏
-x:后面接天数,最长天数;即/etc/shadow内的第五栏
-w:后面接天数,警告天数;即/etc/shadow内的第六栏
-S:显示username的相关信息
su [-lcm] username:其中 su -表示该用户想要变换身份为root,并且使用root的环境设置参数,如/root/.bash_profile
,-l 切换用户。
sudo:如果很多人管理主机,都需要知道root密码,会很不安全,所以当使用sudo时,只要查看/etc/sudoers里面你是否有权限,然后输入自己的密码确认就可以切换用户。修改使用visudo命令
PAM模块:一般如果执行某命令,例如passwd,就会搜索/etc/pam.d/passwd设置文件的数据,回传下一个操作(修改成功或者失败)
pam的设置文件都放在/etc/pam.d/这个目录中,更多相关设置放在/etc/security/*中
lastlog:显示帐号最近登录时间;
发送消息给在线用户:
w:查看有几个人在线,假如xiaozhe在线
write xiaozhe : 输入内容后按crtl+d。
xiaozhe的终端就会显示消息,如果不想看,可以mesg n关闭,开启mesgy。查看当前mesg状态直接输入mesg.