组是能够共享文件和其它资源的用户的集合。每一个用户组有一个名字,组ID(GID)和属于该组的用户名列表。一个GID确认属于一个系统内部的组。
组管理
一个用户属于两个组:
- 基本组:规定一个组,系统分配用户创建的文件给该组,每一个用户必须属于一个基本组;
- 第二组:规定用户属于一个或多个组,最多可以为16个组。
密码和组管理文件的典型分别是/etc/passwd和/etc/group。
- 创建和维护帐号:为每一个用户创建至少一个注册名,然后使用groupadd命令带参数-d/-G为每个注册名分配一个或多个组。
- groupadd –g 分配基本组成员;
- groupadd –G 分配附加组成员;
- 以下是具体的用户和用户组管理命令
- 用户注册useradd login-name 定义默认的目录作为新用户的主目录;
- 要创建所定义的默认信目录,可以用useradd –m login-name
- 用户组改名: groupmod –n new-group-name old-group-name
- 改变用户和用户组属性usermod
#groups 用户名 //显示该用户在哪些组中
如:#groups root
……
#grep management /etc/group //查看组management是否存在
#id //查看当前用户所在有组及ID
uid=0(root) gid=1(other) //当前root与other组相关联
如果root用户想作为另一个组,如SYS的成员,则必须用:
#newgrp sys
# id
uid=0(root) gid=3(sys)
此时,root用户的任何操作会与组sys联系起来,如:
#touch root.txt
# ls -l root.txt
-rw-r--r-- 1 root sys 0 Apr 22 19:10 root.txt
pwck----检查/etc/passwd完整性 pwconv----转换到阴影口令。它根据现有的/etc/passwd文件创建/etc/shadow文件,如果系统 中已经存在该文件,则将被合并。此外,在成功转换后,仍可能在/etc/passwd中添加普通未 加阴影的帐号。因此,需要定期检查/etc/passwd的内容以确保所有的口令都已阴影化。 pwunconv----去除阴影。 chage命令,判断用户是否必须更改口令。执行时使用-M选项可以强制用户在指定期限之后更改口令。
用户管理
添加用户: #useradd –u uid –g gid –d home_dir –s path_to_shell –c Comment login_name
#useradd –u 1004 –g 100 –d /opt/www –s /bin/sh –c “web user” www
要注意的问题,其中uid必须在系统中不存在,一般从1000开始,小于1000的被系统使用,另外GID必须存在,
这就要求一般要先创建group,然后利用#cat /etc/groups查看到GID后,再行添加。
如果命令执行不成功,原因可能如下:
1. UID已经被使用;2. GID不存在;3. Comment中包含了特殊字符,发“”,!,/等;4. 指定的Shell不存在;5. 磁盘满了。。。
#cat /etc/group
root::0:root
other::1:
bin::2:root,bin,daemon
sys::3:root,bin,sys,adm
adm::4:root,adm,daemon
uucp::5:root,uucp
mail::6:root
tty::7:root,adm
lp::8:root,lp,adm
nuucp::9:root,nuucp
staff::10:
daemon::12:root,daemon
sysadmin::14:
smmsp::25:smmsp
nobody::60001:
noaccess::60002:
nogroup::65534:
admin::100:
//其中多数是默认创建的组,如adm,root等。
#grep www /etc/passwd //查找一下创建是否成功
修改用户属性:
#usermod –u 1005 www //将上面创建的www用户的UID由1004改为1005
#passwd www //为www用户修改口令
#grep www /etc/shadow //查看密码是否设置成功
实践:
# grep test /etc/shadow
test:*LK*:::::::
上面的LK表示当前用户无效或者被锁定。这里是因为我没有为test设置口令。
#passwd –l www //临时使得用户www无效,这时用上面命令查看,显示*LK*
用passwd重新为其设置密码,即可又使其生效
#userdel –r www //彻底删除用户及其主目录(包括目录下的文件 )
最后,Solaris上图形化的用户管理工具是admintool