Solaris系统管理培训(7)

/ns/wz/sys/data/20020801202103.htm

Solaris系统管理培训(第七章:系统安全)

提供者:jzj 发表日期:2002-01-24

--------------------------------------------------------------------------------

UIDs(用户ID) 
UIDs用于区别文件和目录的所有者。保存在 /etc/passwd。 
GIDs(用户组ID) 
GIDs用户区别用户、文件、目录的组成员。 
/etc/passwd文件记录了系统的用户帐号的信息 
格式 
loginID:x:UID:GID:comment:home directory:login shell 
#more /etc/passwd 
root:x:0:1:Super-User:/:/sbin/sh 
daemon:x:1:1::/: 
bin:x:2:2::/usr/bin: 
sys:x:3:3::/: 
adm:x:4:4:Admin:/var/adm: 
lp:x:71:8:Line Printer Admin:/usr/spool/lp: 
uucp:x:5:5:uucp Admin:/usr/lib/uucp: 
nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico 
listen:x:37:4:Network Admin:/usr/net/nls: 
nobody:x:60001:60001:Nobody:/: 
noaccess:x:60002:60002:No Access User:/: 
nobody4:x:65534:65534:SunOS 4.x Nobody:/: 
jxbcpp:x:901:410:Dave Lister:/export/home/jxbcpp:/bin/sh 
loginID 用户名 
x 隐藏的口令。加密的口令放在/etc/shadow文件中 
UID 用户ID 
GID 组ID 
comment 描述 
home directory 个人主目录 
login shell 登录后使用的shell 
/etc/shadow文件记录了系统用户的加密后口令 
格式 
loginID:password:lastchg:min:max:warn:inactive:expire: 
#more /etc/shadow 
root:LXeokt/C/oXtw:6445:::::: 
daemon:NP:6445:::::: 
bin:NP:6445:::::: 
sys:NP:6445:::::: 
adm:NP:6445:::::: 
lp:NP:6445:::::: 
smtp:NP:6445:::::: 
uucp:NP:6445:::::: 
nuucp:NP:6445:::::: 
listen:*LK*::::::: 
nobody:NP:6445:::::: 
noaccess:NP:6445:::::: 
nobody4:NP:6445:::::: 
lister:ubQhZXEMv/lyI:10336:7:90:5:30:: 
loginID 对应用户名 
password 加密后的口令。LK表示锁定帐号,NP表示无口令 
lastchg 最后更改口令的日期与1970年1月1日之间相隔的天数 
min 改变口令需要最少的天数 
max 同一口令允许的最大天数 
warn 口令到期时,提前通知用户的天数 
inactive 用户不使用帐号多少天禁用帐号 
expire 用户帐号过期的天数 
最后一个字段未用 
/etc/group文件记录了系统的用户组的信息 
格式 
groupname:password:GID:userlist 
#more /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,tty,adm 
lp::8:root,lp,adm 
nuucp::9:root,nuucp 
staff::10: 
daemon::12:root,daemon 
sysadmin::14:lister,torey 
nobody::60001: 
noaccess::60002: 
Groupname 组名 
password 口令。已经不使用 
GID 组ID 
userlist 成员列表 

一个用户可以同时属于多个组。 
id命令用于查看用户的id号(用户号) 
命令格式 
id [ options ] [ username ] 
$ id 
uid=10450(student1) gid=150(learning) 
$ id -a 
uid=10450(student1) gid=150(learning) groups=150(learning),14(sysadmin) 
不加参数显示用户所在的id号用户和主要组id号。 
-a参数显示用户的所在所有组的组id号。 
改变用户 
su命令用户改变当前的用户。 
$ su - jxbcpp 
Password: 
su命令后可以加-,也可以不跟。如果跟-,则切换到那个用户后执行用户的启动脚本,如.profile。
改变文件所有者 
chown user_name filename 

# ls -l memo 
-rw-r--r-- 1 rimmer other 0 Jul 6 18:30 memo 
# chown chris memo 
# ls -l memo 
-rw-r--r-- 1 chris other 0 Jul 6 18:30 memo 
# cd /export/home 
# chown -R chris mydocs 
-R选项把mydocs目录下所有子目录及其文件的所有者都改变为chris。
# chown -R lister:staff mydocs 
把mydocs目录的所有者改为lister,所在组改为staff。 
注:只有管理员才能改变所有者。 

/etc/default/login文件 
其中包含了CONSOLE=这一行, 
如果CONSOLE=/dev/console未注释,则root只能在控制台登录。如果注释了此行,root可以远程登录。
查看登录状态 
命令who、finger、last可以查看用户登录状态。 
? who 
查看本机登录的用户状态。显示用户名、登录的设备、登录时间以及登录的主机名字。
$ who 
rimmer pts/1 Dec 21 07:07 (nepal) 
lister console Dec 21 12:18 (:0) 
用户rimmer从机器nepal上登录。而用户lister则在本地登录。 
? finger 
显示本地和远程系统用户的详细信息。包括用户名、用户注释信息、终端名、空闲时间、登录时间、登录主机名。
$ finger bevw 
Login name: bevw In real life: bev’s account 
Directory: /home/bevw Shell: /bin/ksh 
Last login Wed Oct 21 08:07 on console from :0 
No unread mail 
No Plan. 
? last 
显示系统的最近用户登录状况。 
$ last 
rimmer pts/4 pluto Fri Dec 18 10:24 - 11:00 (00:36) 
lister pts/4 pluto Tue Dec 8 09:39 - 09:49 (00:10) 
rimmer pts/4 pluto Thu Dec 3 15:16 - 15:17 (00:00) 
rimmer console :0 Wed Dec 2 08:47 still logged in 
reboot system boot Wed Dec 2 08:44 
rimmer pts/0 pluto Tue Dec 1 17:27 - 17:28 (00:00) 
rimmer pts/3 pluto Tue Dec 1 16:13 - 16:39 (00:26) 
rimmer pts/2 pluto Tue Dec 1 15:32 - 15:38 (00:06) 
holly term/a pluto Tue Dec 1 15:12 - 08:41 (17:29)