欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

UNIX中用户账户的创建、删除和管理

程序员文章站 2022-03-16 22:29:23
这篇文章主要介绍了UNIX中用户账户的创建、删除和管理相关资料,需要的朋友可以参考下... 14-07-20...

创建用户的12个步骤

1、分配一个惟一的uid
      查看系统策略中是否有关于选择uid的规定。使用下一个可用的uid,然后确保它不是保留uid,没有其他的用户使用,或者没有与安装文件系统的远程服务器中的uid发生冲突。
2、选择一个默认的gid
      查看系统策略中是否有关于选择gid的规定,并且判断哪个gid适合于该用户使用。
      检查用户是否需要添加到任何其他组中,无论是本地(在/etc/groups中)或者远程(如在nis netgroups映射中)。
3、分配一个唯一的用户名
      查看系统策略中关于生成用户名的规定。以确保推荐使用的用户名不属于保留范畴,并且没有其他用户使用。
4、分配home目录空间
      查看系统策略中是否有关于分配新用户home目录的规定。确保系统中有足够的空间用于创建用户,还要分配额外的合理空间,使用户可以创建文件。
5、选择shell
      查看系统策略中是否有关于选择新用户登录shell的规定。以确认在所有相关的系统中都有推荐使用的shell,并且存在于/etc/shells中。
6、创建/etc/passwd项
      在前一个步骤所选择的参数的基础上,使用vipw手动在/etc/passwd文件中创建一个项。注意,大家可以使用任意文本编辑器来完成这项工作,但vipw会进行文件锁检查,并且可以防止损坏root项。
      或者立即禁用新帐户,或者为它设置一个安全的密码。
7、在必要时修改/etc/group和netgroups
      编辑/etc/group文件,另外还要修改新用户的非默认组所有权。
8、创建home目录
      使用mkdir命令来创建用户选择的home目录。
9、复制配置文件
      查看系统策略中关于本地策略、帮助和点文件的规定,将它们复制到用户相应的home目录中。
10、设置配额
      查看系统策略中关于在home和其它文件系统中设置 配额的规定。为每个文件系统设置配额。
11、设置所有权    
        用户需要有权访问自己的home目录和文件。使用chown -rh命令来设置用户和组所有权。使用该选项时,chown命令可以递归浏览所有的子目录,但不会废弃(dereference)任何符号链接。
12、测试
       花一些时间来验证新用户账户——这样可以省去很多麻烦。以用户身份登录,进入用户预订的环境(如果可能)。

删除用户的12个步骤

1、删除帐户的步骤
     1)先锁定用户帐户,可使用passwd命令
     2)使用户所有文件失效,find / -user uid -xdev -exec {} chmod 000 \;    ,这里-xdev的作用是只在本文件系统中搜索。默认情况下,find命令不会废弃链接文件,他只是修改链接文件的所有者,而不是链接文件所指向的文件的所有者。
     3)查看用户的状态,要确保用户没有登录到系统中,也没有某个进程正在使用该用户。
     4)将账户信息和用户所属文件(用户的home目录),包括邮件备份到可移动存储上。
     5)邮件转发处理
     6)检查哪些文件系统为用户设置了配额。
     7)删除/etc/passwd和/etc/shadow中的项,用vipw删除,运行pwck来确保文件的一致性。调用pwconv来更新shadow文件的内容。要记住,一旦从主email服务器中删除/etc/passwd项,用户就不能再接受本地邮件。用户名和uid可以返回到池中,以供新帐户使用,但是在一段时间内,不应该再次进行分配,防止用户恢复使用。
    8)从/etc/group中删除对用户名的引用,运行grpck来验证文件的一致性。
    9)删除home目录及相关文件。
    10)删除邮件目录
    11)查看无主文件,find / -xdev -nouser,不要自动删除无主文件,某些关键的系统文件属于不存在的用户,这种情况有其合法原因,也可能是因为疏忽。
    12)删除用户配额。
在确定用户处于非活动状态后就可以使用userdel -r命令来删除用户账户。但是该命令的用途很有限,有些功能还需要手动去执行和检查。   


关于unix用户管理的注意点

最佳操作
对策略的考虑
l  提前定义策略。
l  了解可以忽视和违反策略的人。
l  确保所有的管理员都知道策略,并且在适当的时候可以很好地使用。
l  清晰地定义可以用帐户的人。
l  清晰地定义生成用户名的方式。
l  清晰地定义指派帐户、发布帐户和回收帐户的方式。
对用户名和uid的操作
l  强制用户与帐户一对一地映射。
l  将小于100的uid保留为系统帐户。
l  保证uid的惟一性。
l  保证用户名的惟一性。
l  定期运行pwck。
对组名和gid的操作
l  保证gid的惟一性。
l  保证组名的惟一性。
l  尽可能指派小于60000的gid

l  不要让用户超出本地最大的组成员数(通常是16)
l  定期运行grpck(如果提供gpasswd,就要提高运行频率)
帐户锁定时的操作
l  强制锁定失败的登录尝试。
l  在密码散列值域中使用特殊字符“*”和“!”。最好使用特定的字符短语,如“*lk*”。
l  虽然从技术上来讲可以清空密码散列值域,但是不要这样做。
l  通过就爱那个登录shell指定为/dev/null或者/bin/true或者/bin/false,来锁定shell访问。