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)