分类: LINUX
2010-04-23 22:26:31
linux /etc/passwd文件内容详解
/etc/passwd是存放OS用户信息的地方,它对所有用户可见。
给Linux新增一用户:
useradd -g test_g -d /home/test -m test(新建test用户,属于test_g组,用户目录是/home/test)
然后查看etc/passwd,可以在此文件的最后一行看打刚创建的用户的信息如下:
test:x:504:503::/home/test:/bin/bash
内容解析: 用户名:密码:UID:GID:帐号描述:用户主目录:登录shell
为新用户设置密码:输入命令:passwd test
再查看etc/shadow可以看到这样的信息:
test:$6$x7MncjL2$Gh4MzRwoM/80tz4/yQrV7glHZVx5TVbBIV8s11FqIj2aAQ
tghjVK2gymaExHfp4BOfrBXvn4zHU931CxFCR3/0:14722:0:99999:7:::
/etc/shadow文件内容解析:
用户名:密码:上次修改密码的日期:两次修改口令间隔最少的天数:两次修改口令间隔最多的天数:密码变更提前几天警告:帐号失效日期:帐号取消日期:保留条目(目前没用)
上次修改密码的时间:这个时间是从1970年01月01日算起到最近一次修改口令的时间间隔(天数),您可以通过passwd 来修改用户的密码,然后查看/etc/shadow中此字段的变化;
两次修改口令间隔最少的天数:如果设置为0,则禁用此功能;也就是说用户必须经过多少天才能修改其口令;此项功能用处不是太大;默认值是通过/etc/login.defs文件定义中获取,PASS_MIN_DAYS 中有定义;
两次修改口令间隔最多的天数:这个能增强管理员管理用户口令的时效性,应该说在增强了系统的安全性;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_MAX_DAYS 中定义;
提前多少天警告用户口令将过期:当用户登录系统后,系统登录程序提醒用户口令将要作废;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_WARN_AGE 中定义;
在口令过期之后多少天禁用此用户:此字段表示用户口令作废多少天后,系统会禁用此用户,也就是说系统会不能再让此用户登录,也不会提示用户过期,是完全禁用;
用户过期日期:此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永久可用;
禁用帐号:将shadow文件的第二个字段(密码)设为*或!,那么这个帐号就被禁用了。
如果在 /etc/passwd 文件中的 password 字段包含 * (星号),则只有 root 用户才能更改密码