Solaris用户管理(一):用户与组管理
2008-07-01 09:19
用户管理是系统管理的基础。Solaris中不但支持传统Unix所支持的用户和组的概念,还从Solaris 8开始引入了基于角色的访问控制(RBAC),提供了一种更加安全、灵活的方式来进行权限分配和管理。
先看看Solaris下的基本用户管理。(详细的资料能够自行查阅man手册)
Solaris 下的基本用户管理体系包括/etc目录下的passwd、group和shadow三个配置文件,以及useradd、usermod、userdel、 passwd、groupadd、groupmod和groupdel七个基本命令,以及groups等辅助命令组成。
1配置文件
1.1passwd
/etc/passwd文件中保存了最基本的用户信息,包括用户名、密码、用户id等等,该文件由一系列的记录组成,每一个记录占据一行,其格式为:
用户名:密码:用户ID:用户所在组ID:注释:用户主目录:使用的shell
其中,用户名就是一般使用的登陆名了,而所谓的注释也一般被称做用户的全名。这里须要说起的是密码一项。为了安全起见,密码已经再也不已明文的形式存放在passwd文件中,而是被保存到了/etc/shadow文件中,在这里用一个字母“x”进行表示。
1.2shadow
/etc/shadow文件中存储了加密后的用户密码,而且(默认)仅有root用户是可读的。该文件一样由一系列记录组成,每一个记录占据一行,格式以下:
用户名:密码:上次修改密码的时间:两次密码修改最小间隔天数:密码有效天数:密码过时前进行警告的天数:最大连续不登陆天数:密码过时的绝对日期:登陆失败次数
其中,登陆失败次数暂未使用,而全部的相对时间都是从1970年1月1日起计数的。
1.3group
/etc/group文件中存储了用户组的信息,该文件有一系列记录组成,每一条记录占据一行,格式以下:
组名:密码:组ID:用户列表
这里,用户列表中的每一个用户之间用逗号“,”进行分隔。
须要指出的是,在passwd文件中标识的用户组为该用户所在的主组,而每一个用户能够同时出如今多个组中,须要经过group文件进行存储。
2基本命令
2.1用户管理命令
基本的用户管理命令包括useradd、usermod、userdel和passwd四条。
useradd命令的基本用法以下所示:
useradd [-u uid | -g gid | -d dir | -s shell | -c comment | -m] usrname
其中,uid为用户ID,gid为用户主组ID,dir为用户的主目录,comment为注释(一般为用户全名),加上-m选项表示建立用户主目录,usrname则为用户的登陆名。
在建立好用户后,一般须要使用passwd命令为用户设置初始密码:
passwd usrname
须要根据系统提示重复输入两次密码便可。
*忘记root密码的解决方法:重启计算机,选择进入failsafe模式,而后根据提示,将根目录挂在到/a目录下,修改/a/etc/passwd文件,将其中root那一项的密码留空便可。
此外,使用命令passwd -l usrname还可以将账号临时锁定,知道管理员为其从新设定密码为止。通常的,建议不要轻易删除用户,而是使用该命令将其临时锁定便可。
建立好用户后,还可使用usermod命令来修改其基本信息,该命令的参数和useradd命令的相似,就再也不赘述了。惟一须要指出的是,usermod命令能够经过-l参数来修改用户名。
若是实在但愿删除某个用户,就可使用userdel命令:
userdel [-r] usrname
若是加上-r选项,则会在删除该用户的同时删除该用户的主目录。
2.2组管理命令
基本的组管理命令包括groupadd、groupmod和groupdel三条。
建立组的groupadd格式以下:
groupadd -g gid grpname
这里的gid为组ID,若是再加上-o选项则代表该组ID能够重复(不太清楚这样设置的目的*_*)。
修改组属性的groupmod命令格式以下:
groupmod [-g gid] [-n newgrpname] grpname
最后,可使用groupdel命令删除一个组:
groupdel grpname
2.3辅助命令
除了使用上述基本命令以外,还可使用其余一些命令查看用户和组的信息,经常使用的包括如下一些。
查看用户所属的所有组:groups usrname
查看组的信息:getent group grpname
查看当前登陆用户信息:id
切换到其余组:newgrp grpname
查看最近登陆的用户:last
当前登陆用户:who
---------------------------------------
/home is an auto mount directory. The home directory for user in Solaris should be created in /export/home
/home 已被automount用了,因此不能在这里建目录,若是非要使用/home,把/etc/auto_master文件的
/home auto_home 这一行注释掉。
2.4 删除用户
#userdel dave
而后再删除dave用户的主目录/home/dave。也可使用选项”r”来一步完成。
#userdel -r dave
注:若是该用户正在链接,是删不掉的,咱们能够先kill 掉该用户。 在删。
# who
root console 3月 18日 10:06 (:0)
dave pts/2 3月 18日 10:19 (10.85.10.80)
root pts/4 3月 18日 10:07 (:0.0)
#ps -t pts/2
PID TTY TIME CMD
1118 pts/2 0:00 ps
1112 pts/2 0:00 bash
#kill -9 1118
#kill -9 1112
# who
root console 3月 18日 10:06 (:0)
root pts/4 3月 18日 10:07 (:0.0)