我的linux学习9 linux的帐号与身份…

时间:2021-10-19 05:21:31

/etc/passwd文件的分析:例如  root:x:0:0:root:/root:/bin/bash  以:分隔共7部分,分别是如下

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 以:分隔为4部分

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.