一、了解Solaris 10 用户配置文件
1 、了解标准用户
表-1 列出了系统在安装过程中创建的标准用户(其中所列内容与/etc/passwd文件的描述是一致的)。表中的组id号是用户所在的首要组的代号。这是solaris安装过程中自动设置的。
表-1 Solaris 系统标准用户
用户名
用户id
用户组id
用户主目录
shell 类型
root
0
0
/root
/sbin/sh
bin
2
2
/usr/bin
daemon
1
1
/
adm
4
4
/var/adm
sys
3
3
/
lp
71
8
/usr/spool/lp
uucp
5
5
/usr/lib/uucp
nuucp
9
9
/var/spool/uucppublic
svctag
95
12
/
webservd
80
80
/
smmsp
25
25
Gdm
50
50
/
listen
37
4
/usr/net/nls
postgres:
90
90
/
/usr/bin/pfksh
nobody
60001
60001
/
2 了解标准用户组
表-2列出了系统安装过程中创建的标准用户组(其中就是/etc/group文件所描述的内容)。
组名称
组ID
用户组成员
root
0
root
other
1
root
bin
2
root,bin,daemon
sys
3
root,bin,adm
adm
4
root,daemon
tty
7
nuucp
9
root
lp
8
daemon,lp
staff
10
daemon
12
uucp
14
uucp
nogroup
65534
smmsp
25
noaccess
60002
sysadmin
14
webservd
80
nobody
60001
postgres
90
gdm
50
3了解solaris 10 用户、用户组配置文件
● /etc/passwd
与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码口令的加密保存等;/etc/passwd 和/etc/shadow 文件是互补的。/etc/passwd 的内容简介:
在/etc/passwd 中,每一行都表示的是一个用户的信息;一行有7个段位;每个段位用:号分割,图-1是我的系统中的/etc/passwd 的行;
图-1 /etc/passwd文件
第一字段:用户名(也被称为登录名);在上面的例子中,我们看到用户名是 cjh;
第二字段:口令;在例子中我们看到的是一个x,其实密码已被映射到/etc/shadow 文件中;
第三字段:UID ,用户ID,101;
第四字段:GID,组ID,1;
第五字段:用户名全称,这是可选的;
第六字段:用户的家目录所在位置;cjh这个用户是/home/cjh ;
第七字段:用户所用SHELL 的类型,cjh是 bash ;所以设置为/bin/sh ;
● /etc/shadow
/etc/shadow文件是/etc/passwd 的影子文件,这个文件并不由/etc/passwd 而产生的,这两个文件是应该是对应互补的;shadow内容包括用户及被加密的密码以及其它/etc/passwd 不能包括的信息,比如用户的有效期限等;这个文件只有root权限可以读取和操作,权限如下:
# ls -l /etc/shadow
-r-------- 1 root root 1256 08-08 05:01 /etc/shadow
/etc/shadow 的权限不能随便改为其它用户可读,这样做是危险的。如果您发现这个文件的权限变成了其它用户组或用户可读了,要进行检查,以防系统安全问题的发生。
/etc/shadow 的内容分析;
/etc/shadow 文件的内容包括9个段位,每个段位之间用:号分割;我们以如图-2的例子说明;
图 -2 /etc/shadow文件
第一字段:用户名(也被称为登录名),在/etc/shadow中,用户名和/etc/passwd 是相同的,这样就把passwd 和shadow中用的用户记录联系在一起;这个字段是非空的;
第二字段:密码(已被加密),这个字段是非空的;
第三字段:上次修改口令的时间;这个时间是从1970年01月01日算起到最近一次修改口令的时间间隔(天数),您可以通过passwd 来修改用户的密码,然后查看/etc/shadow中此字段的变化;
第四字段:两次修改口令间隔最少的天数;如果这个字段的值为空,帐号永久可用;
第五字段:两次修改口令间隔最多的天数;如果这个字段的值为空,帐号永久可用;
第六字段:提前多少天警告用户口令将过期;如果这个字段的值为空,帐号永久可用;
第七字段:在口令过期之后多少天禁用此用户;如果这个字段的值为空,帐号永久可用;
第八字段:用户过期日期;此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永久可用;
第九字段:保留字段,目前为空,以备将来发展之用;
● /etc/group 简介
/etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用户组的用户之间具有相似的特征。比如我们把某一用户加入到root用户组,那么这个用户就可以浏览root用户家目录的文件,如果root用户把某个文件的读写执行权限开放,root用户组的所有用户都可以修改此文件,如果是可执行的文件(比如脚本),root用户组的用户也是可以执行的;用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者是把用户下的文件的权限设置为完全私有;另外root用户组一般不要轻易把普通用户加入进去,
● 理解/etc/group 内容
/etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;格式如下:
group_name:passwd:GID:user_list
在/etc/group 中的每条记录分四个字段:
第一字段:用户组名称;
第二字段:用户组密码;
第三字段:GID
第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;
举个例子,如图-3 。
图-3 /etc/group 内容
注:用户组root,x是密码段,表示没有设置密码,GID是0,root用户组下包括root。
● /etc/skel 目录;
/etc/skel目录一般是存放用户启动文件的目录,这个目录是由root权限控制,当我们添加用户时,这个目录下的文件自动复制到新添加的用户的家目录下;/etc/skel 目录下的文件都是隐藏文件,也就是类似.file格式的;我们可通过修改、添加、删除/etc/skel目录下的文件,来为用户提供一个统一、标准的、默认的用户环境;/etc/skel 目录下的文件,用useradd 和adduser 命令添加用户(user)时,系统自动复制到新添加用户(user)的家目录下;如果我们通过修改 /etc/passwd 来添加用户时,我们可以自己创建用户的家目录,然后把/etc/skel 下的文件复制到用户的家目录下,然后要用chown 来改变新用户家目录的属主;
二、Solaris 用户、用户组命令列表
Solaris提供了一个图形配置工具:SMC。但是Solaris管理员还是应当使用专用命令完成Solaris用户和用户组的管理工作。Solaris用户和用户组管理命令和SMCr相比具有许多优点:
● 命令更加灵活,使用命令通常比使用SMC具有更多选项。
● 命令运行更快,不必等待Solaris处理图形。
● SMC工具是另一层软件,也是另一个出错源。
表-3是 Solaris 用户、用户组管理命令列表
命令名称
功能描述
useradd
useradd命令用来建立用户账号和创建用户的起始目录。
userdel
userdel命令用来删除一个用户。
usermod
usermod命令修改已有用户的信息,即更改用户的有关属性,如用户id号、主目录、用户组、登录shell等。
passwd
passwd命令用来修改账户的登录口令。
groupadd
groupadd命令用来添加新组到系统中。
groupdel
groupdel命令用来删除组账户。
groupmod
groupmod命令用来修改用户组的属性。
vipw
vipw命令可以直接编辑/etc/passwd文件。它允许超级用户编辑系统口令文件/etc/passwd。默认编辑器是vi,在对/etc/passwd文件编辑时首先锁定文件,编辑完成后再解锁。这样保障文件的一致性。vipw命令在功能上等同于命令“vi /etc/passwd”,但是安全性更高。
vigr
vigr命令可以直接编辑/etc/group文件。vigr命令通常直接使用。只有一个选项“-v”显示版本号。它通常允许root用户编辑系统口令文件/etc/group。默认编辑器是vi,在对/etc/group文件编辑时首先锁定文件,编辑完成后再解锁。这样保障文件的一致性。vigr命令在功能上等同于命令“vi /etc/group”,但是安全性更高。
newgrp
newgrp命令用来转换用户的当前组到指定的组账户。用户必须属于该组才能执行。
groups
groups命令显示指定用户所属的组,如果没有指定则显示当前用户所属的组。
who
who命令用来显示系统中有哪些用户登录系统及其修改信息。
pwck
pwck命令用于检测用户账号信息的完整性。
grpck
grpck命令用于检测用户组账号信息的完整性。
id
id命令用来显示用户当前的gid、uid、用户所属的组列表。
su
su命令用来让用户暂时变更登入的身份。
CIO之家 www.ciozj.com 公众号:imciow