linux学习笔记-day12-passwd和shadow
passwd和shadow文件都存放于/etc/
目录下。如果这两个文件不存在或者出现问题,则linux系统将无法登录。
passwd文件每一行分为7个字段,第一行如下
root:x:0:0:root:/root:/bin/bash
第1个字段为用户名;第2个字段表示密码,早期的UNIX系统将密码存放到这个字段中,后来存放于shadow文件中。第3个字段为UID表示系统用户的唯一标志符,是一个整数,早期这个字段是16位,现在已经支持32位,0表示root用户。第4个字段也是数字,表示用户所在的组标志,gid;第5个字段为注释,没有特别的含义,第6个字段为用户的家目录;第7个字段为用户的shell。linux的shell有sh, csh, ksh, tcsh,bash等。该字段除了具体的shell还有/sbin/nologin
表示该用户不允许登录。
shadow文件的每一行分为9个字段
root:!:17769:0:99999:7:::
第1个字段为用户名,对应passwd文件的第1个字段。第2个字段为密码,应该是一段很长的密文,但是不知道为什么ubuntu为一个感叹号。第3个字段是上次更改密码的日期,是一个数字,以1970年1月1日为基数计算出来的。第4个字段要过多少天才可以更改密码,为0表示不受限制。第5个字段为密码到期日期,99999表示无到期时间。如果为7表示密码7天后到期。第6个字段为密码到期前的警告期限,如果设置为7,则表示密码到期前7天将会发出警告。第7个字段表示账号失效期限。第8个字段表示账号的生命周期。第9个字段是保留字段。
/etc/group
文件存储组信息,具体如下
root:x:0:
第1个字段表示组名称。第2个字段表示组密码,linux中组基本不设密码,x表示无密码。第3个字段表示GID。第4个字段表示该组下面的用户,用,分隔。
增加组命令
groupadd test
增加test组,gid从1000开始递增。
删除组命令
groupdel test
如果组包含用户则无法删除该组,直到组下面的用户全部删除之后才能删除组。
增加用户的命令使用useradd
后面有5个选项
- -u 表示自定义uid
- -g 自定义gid
- -d 自定义家目录
- -M 不建立家目录
- -s 自定义shell
useradd test
上面的命令不加任何选项,则会自动创建用户,并且创建同名的组
删除用户使用userdel
命令
linux中使用passwd
命令修改密码
passwd test
则修改test用户的密码。如果后面不加用户名,则修改当前用户的密码。并且只有root用户可以修改其他用户的密码,普通用户只能修改当前用户的密码。