6、1/etc/passwd文件它包含七个由冒号分隔的字段:
1、登录名
2、经过加密的口令或者口令占位符
3、UID
4、默认的GID
5、GECOS信息:全名,办公室,分机号,住宅电话
6、主目录
7、登录shell
例子:
knight:x:1000:1000:knight,,,:/home/knight:/bin/bash
关于加密口令,如果通过手工编辑/etc/passwd文件来创建一个新的帐号,要么要在加密口令字段添一个星号或者一个X,。星号可以防止在设置一盒真实口令之前发生未授权使用该帐号。千万不能留空。
对于不设主目录的用户,登录之后会显示没有主目录。如果把/etc/login.defs中的DEFAULT_HMOM设为no,就会禁止没有主目录的用户登录。
6、2/etc/shadow文件
每个用户一行,每行有九个用冒号分隔的字段:
1、登录名
2、加密后的口令
3、上次修改口令的时间
4、两次修改口令之间的最少天数
5、两次修改口令之间做多的天数
6、提前多少天警告用户口令即将过期
7、在口令过期之后多少天禁用帐号
8、帐号过期的日期
9、保留字段,目前为空
唯独要求非空的字段是用户名和口令。里面的时间是指1970年1月1日到现在的天数。我们可以使用工具pwconv让shadow文件的内容和passwd文件的内容保持一致。pwconv会用/etc/login.defs里指定的默认值填充shadow文件里大多数隐蔽的参数。
6、3/etc/group文件
四个内容
组名,加密的口令或者X,GID号,成员列表
6、4添加用户
1、编辑passwd和shadow文件,定义用户帐号
2、把用户添加到/etc/group文件里
3、设置一个初始口令
4、创建用户主目录
编辑passwd和shadow文件时,可以运行vipw命令,确定只有一个人在编辑。然后将用户添加到相应的组。
之后就是设置初始口令:
passwd user
创建主目录,改变属主和权限:
mkdir /home/user
chown user:group /home/user
chmod 700 /home/user
接下来就是复制默认的启动文件,默认的放在/usr/local/lib/skel. 我的ubuntu是放在/etc/skel
可以采用一下命令复制:
cp /etc/skel/[a-zA-Z]* ~user
chwon user:group ~user/[a-zA-Z]*
chmod 600 ~user/[a-zA-Z]*
6、5删除用户
一般要使用到命令:
find -nouser
find filesystem -xdev -nouser
6、6禁止登录
可以用一个程序替换用户的shell。这个伪shell不应该在/etc/shells文件中。
6、7账户管理工具
可以直接使用
useradd
usermod
userdel
习题:
1、手动添加一个账户,不用useradd命令。
要注意对passwd,shadow和group文件的编辑,还有就是对默认启动参数的拷贝
2、编写一个脚本,帮助监视/etc/passwd文件是否正常(除非动动脑筋,否则需要有超级用户权限)
a)找出有UID0的所有项
b)找出没有口令的所有项(需要/etc/shadow文件)
c)找出有重复UID的所有项
d)找出有重复登录名的所有项
e)找出没有作废日期的所有项(需要/etc/shadow)
阅读(1093) | 评论(0) | 转发(0) |