第四章 管理用户和文件权限
 
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对应粘滞位,可叠加