第四章
 
管理用户和文件权限
 
2.1用户和组账号概述
1)
用户账号:超级用户,普通用户和程序用户。
Ø 
超级用户,即root
用户,类似于Windows
系统中的Administrator
用户,
非执管理任务时不建议使用root
用户登录系统
Ø 
普通用户帐号一般只在用户自己的宿主目录中有完全权限
Ø 
程序用户:用于维持系统或某个程序的正常运行,一般不允许登录到系统。例如:bin
、daemon
、ftp
、mail
2)
组账号
基本组(私有组):每个用户至少有一个组。
附件组(公共组):同时包括在其他组中。
3)
UID
和GID
Ø 
root
用户的UID
的固定值为0
、root
组帐号的GID
号为固定值0
Ø 
1~499
的UID
、GID
默认保留给程序用户使用,普通用户/
组使用的UID
、GID
号在500
~60000
之间
2.2
用户账号管理
   1
用户账号文件
      A . passwd
文件位置:/etc/passwd
     
例:benet:x:500:500:BENET Student User:/home/benet:/bin/bash
字段1
:用户帐号的名称
  
字段2
:用户密码字串或者密码占位符“x”
 
字段3
:用户帐号的UID
 
字段4
:所属基本组帐号的GID
 
字段5
:用户全名
 
字段6
:宿主目录
 
字段7
:登录Shell
信息
      B
.shadow
文件位置:/etc/shadow
        
例benet:$1$po/zD0XK$4HSh/Aeae/eJ6dNj1k7Oz1:14495:0:99999:7:::
    
字段1
:用户帐号的名称
字段2
:加密的密码字串信息
 
字段3
:上次修改密码的时间
 
字段4
:密码的最短有效天数,默认值为0
 
字段5
:密码的最长有效天数,默认值为99999
 
字段6
:提前多少天警告用户口令将过期,默认值为7
 
字段7
:在密码过期之后多少天禁用此用户
 
字段8
:帐号失效时间,默认值为空
 
字段9
:保留字段(未使用)
2)
useradd
命令——添加用户账户
 A      
格式:useradd [
选项]... 
用户名
B      
常用命令选项
-u
:指定 UID
标记号
-d
:指定宿主目录,缺省为 /home/
用户名
-e
:指定帐号失效时间:YYYY-MM-DD
-g
:指定用户的基本组名(或UID
号)
-G
:指定用户的附加组名(或GID
号)
-M
:不为用户建立并初始化宿主目录
-s
:指定用户的登录Shell
3)
passwd
命令——为用户设置密码
A     
格式:passwd [
选项]... 
用户名
B     
常用命令选项
-d
:清空用户的密码,使之无需密码即可登录
-l
:锁定用户帐号
-S
:查看用户帐号的状态(是否被锁定)
-u
:解锁用户帐号
 4
)usermod
命令——修改用户账户属性
       A   
格式:usermod [
选项]... 
用户名
B    
常用命令选项
-l
:更改用户帐号的登录名称
-L
:锁定用户账户
-U
:解锁用户账户
以下选项与useradd
命令中的含义相同
 -u
、-d
、-e
、-g
、-G
、-s
注意:usermod
有两个选项“-L”
、“-U”
,分别用于锁定、解锁用户帐号,这两个选项与passwd
命令的“-l”
、“-u”
选项作用基本相同,只不过大小写存在区别
5
)userdel
命令——删除用户账户
a)
格式:userdel [-r] 
用户名
b)
添加 -r
选项时,表示连用户的宿主目录一并删除
6)
用户账户的初始化配置文件
A   
文件来源
新建用户帐号时,从 /etc/skel
目录中复制而来
B  
主要的用户初始配置文件
~/.bash_profile
:用户每次登录时执行
~/.bashrc
:每次进入新的Bash
环境时执行(登陆时执行吗)
~/.bash_logout
:用户每次退出登录时执行
2.3
组账户管理
   1
)组账户文件
     
与用户帐号文件相类似
/etc/group
:保存组帐号基本信息
/etc/gshadow
:保存组帐号的密码信息(很少用)
   2
)groupadd
命令——添加组账户
   3
)gpasswd
命令——添加、删除组成员
     
例如:gpasswd –a(add)/-d(delete) mike(
用户) root
(组)
4)
groupdel
命令——删除组账户
格式:groupdel 
组名称
2.4
用户和组账号查询。
1
) id
命令
用途:查询用户身份标识
格式:id [
用户名]
2
)groups
命令
用途:
查询用户所属的组
格式:groups [
用户名]
3
)finger
命令
用途:查询用户帐号的详细信息
格式:finger [-l] [
用户名]
4
)users
、w
、who
命令
用途:查询已登录到主机的用户信息
2.5
图形化得用户和管理工具
    
打开方式:system-config-users
后输入管理员密码
1. 管理文件/目录的权限和归属
权限
读取:允许查看文件内容、显示目录列表
写入:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行:允许运行程序、切换目录
归属(所有权)
属主:拥有该文件或目录的用户帐号
属组:拥有该文件或目录的组帐号
 3.1
查看文件/
目录的权限和归属
   
注意:“-rw-r—r--”
部分的第一个字符表示文件类型,可以是d(
目录)
、b(
块设备文件)
、c(
字符设备文件)
,减号“-”
(普通文件)、字母“l”
(链接文件)等
 3.2
设置文件/
目录的权限
 
表示用户u g
表示组 o
表示其他   a
表示所有
用户组和其他
Chmod - -reference
文件1 
文件2 
把文件1
的权限复制给文件2
思考: chmod  u+x,o-r   aa
3.3  
设置文件/
目录的归属    chown
命令
格式:chown 
属主  
文件或目录
              chown :
属组 
文件或目录
              chown 
属主:
属组 
文件或目录
常用命令选项
-R
:递归修改指定目录下所有文件、子目录的归属
 3.4
使用附件权限
1)
SET
位权限(SUID;SGID
A   
主要用途:
 
为可执行(有 x
权限的)文件设置,权限字符为”s”
 
其他用户执行该文件时,将拥有属主或属组用户的权限
B    SET
位权限类型:
 SUID
:表示对属主用户增加SET
位权限
 SGID
:表示对属组内的用户增加SET
位权限
例子:ll /usr/bin/passwd
   2)
粘滞位权限
主要用途:
 
为公共目录(例如,权限为777
的)设置,权限字符为“t”
 
用户不能删除该目录中其他用户的文件
应用示例:/tmp
、/var/tmp
   3)
设置附件权限
使用权限字符
 chmod ug±s 
可执行文件...
 chmod o±t 
目录名...
使用权限数字:
 chmod mnnn 
可执行文件...
 m
为4
时,对应SUID
,2
对应SGID
,1
对应粘滞位,可叠加