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

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可以查看用户登录状态 。

推荐阅读