第四章 管理用户和文件权限
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 命令中的含义相同
p -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 命令
A 格式:chown 属主 文件或目录
chown : 属组 文件或目录
chown 属主: 属组 文件或目录
B 常用命令选项
-R :递归修改指定目录下所有文件、子目录的归属
3.4 使用附件权限
1) SET 位权限(SUID;SGID )
A 主要用途:
为可执行(有 x 权限的)文件设置,权限字符为”s”
其他用户执行该文件时,将拥有属主或属组用户的权限
B SET 位权限类型:
SUID :表示对属主用户增加SET 位权限
SGID :表示对属组内的用户增加SET 位权限
例子:ll /usr/bin/passwd
2) 粘滞位权限
A 主要用途:
为公共目录(例如,权限为777 的)设置,权限字符为“t”
用户不能删除该目录中其他用户的文件
B 应用示例:/tmp 、/var/tmp
3) 设置附件权限
A 使用权限字符
chmod ug±s 可执行文件...
chmod o±t 目录名...
B 使用权限数字:
chmod mnnn 可执行文件...
m 为4 时,对应SUID ,2 对应SGID ,1 对应粘滞位,可叠加