【Linux学习】课时8 用户、组和权限管理

曾巧文 发布于:2012-4-20 13:20 分类:Linux学习 标签: Ubuntu linux 系统 课时

1、用户、组和权限管理
掌握用户、组管理的相关配置文件和命令
掌握权限管理的相关设置和常用命令

2、用户管理
用户类型:
超级用户的用户名为root,它具有一切权限,只有进行系统维护(例如建立用户等)或其他必要情形下才用超级用户登录,以避免系统出现安全问题。
系统用户:Linux系统正常工作所必需的内建的用户,主要是为了满足相应的系统进程对文件属主的要求而建立的,系统用户不能用来登录。
普通用户是为了让使用者能够使用Linux系统资源而建立的,大多数用户属于此类。

3、用户管理
用户识别:UID
实际上,Linux系统并不会直接认识“用户名”,它只认识id号。每个用户都有一个数值,称为UID。
用户名与id号的对应关系在/etc/passwd
用户的密码存放在/etc/shadow中
用户的登陆过程:
在/etc/passwd查看是否有这个用户,如有则读取这个用户的UID
在/etc/shadow中核对UID的密码
进入Shell控制阶段

4、用户管理
用户账号配置文件:/etc/passwd
passwd文件中每一行都有七列,分别为:用户名、密码、UID、GID、说明信息、主目录、登录时使用的Shell。
密码列为x,表示密码已移到/etc/shadow文件中。Shell列为nologin用作替代账号无法登录的命令
UID中,0表示“系统管理员”、1-499用于系统保留的服务、500以上的给一般用户使用。

5、用户管理
用户账号配置文件:/etc/shadow
shadow文件中每一行都有九列,分别为:用户名、密码、最近更改密码的日期(从1970年1月1日算起)、密码不可更改的天数(MIN_DAYS)、密码需要重新更改的天数(MAX_DAYS)、密码更改期限前的警告期限(WARN_AGE)、密码过期的宽限时间、账号失效日期、保留字段。
shadow文件中,密码字段为“*”表示用户被禁止登录,密码字段为“!”表示密码未设置或者用户被锁定。

6、用户组管理
概述、用户组的分类
Linux的组有私有组、系统组、标准组之分。
建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,这个组只容纳了一个用户。
标准组可以容纳多个用户,组中的用户都具有组所拥有的权利。
系统组是Linux系统自动建立的。
一个用户可以属于多个组,用户所属的组又有初始组和有效组之分。
用户登录时属于的组叫这个用户的初始组
用户创建文件时,文件的所属组称为用户的有效组

7、用户组管理
用户组配置文件:/etc/group
共有四列,分别为:用户组名称、用户组密码(通常无需设置,记录在/etc/gshadow)、GID:组的ID号、支持的账号名称(组内的成员,如果字段为空表示用户组为GID的用户)。
用户组配置文件:/etc/gshadow
用户组名称、密码、组管理员账号、组成员账号。

8、用户管理
添加用户命令:/sbin/useradd
格式: useradd[选项]用户名
-u:设置UID,用户ID和用户名必须是唯一的。
-g:指定用户所属的初始用户组(组必须存在)
-G:设置用户所属的其它用户组
-m|M:强制建立|不建立用户主目录
-c:添加用户说明
-d:设置用户主目录路径
-s:设置用户登录时使用的shell
示例:
useradd user1
useradd –m –u 1002 –g users user1

9、用户管理
添加用户命令:/sbin/useradd
useradd命令做了什么?
修改了/etc/passwd文件
修改了/etc/shadow文件
可能修改了/etc/group和/etc/gshadow文件
可能创建了用户主目录
useradd命令根据什么做这些事情?
参看/etc/default/useradd文件
参看/etc/login.defs文件
根据/etc/skel目录内容创建用户主目录

10、用户管理
删除用户命令:/sbin/userdel
格式: userdel[-r]用户名
-r:删除用户的同时将用户主目录删除
设置用户密码命令:/bin/passwd
创建完用户后默认是无法登陆的,需设密码
格式: password[-lu]用户名
-l:锁定用户 (只有root用户可以操作)
-u:解锁用户 (只有root用户可以操作)
注意:一般用户可以输入passwd命令设置自己的密码(前提是未被锁定),root用户可以输入 “passwd 用户名”设置用户的密码。

11、用户管理
修改用户设置命令: usermod
格式:usermod [-dgGlsu] username
-d : 设置主目录 usermod –d newdir –m user
-g : 设置初始组 usermod –g gid|gname user
-G : 设置所属组 usermod –G gid|gname user
-l : 修改用户名 usermod –l newname user
-s :修改shell usermod –s newshell user
-u : 设置uid (不建议这种操作)

11、用户组管理
添加用户组命令:/usr/sbin/groupadd
格式:groupadd groupname
删除用户组命令:/user/sbin/groupdel
groupdel groupname
当该组是某个用户的初始组时,不能删除
管理用户组属性
groups:查看用户的所属组
groupmod:-g指定GID,-n指定name
注意:不要随意改变GID的值

12、用户组管理
设置组密码命令:gpasswd
root使用格式:gpasswd [-AM] group
-A : -A adminUser 设置组管理员
-M : -M user1,user2 添加组成员
组管理员使用格式:gpasswd [-ad] group
-a : -a user 添加组成员
-d : -d user删除组成员
不用选项时设置组密码
注意:组管理员可以操作的,root用户也可以操作

13、用户组管理
初始用户组与有效用户组
初始用户组(initial group),passwd中的GID,当用户登录时就拥护该组的权限。
有效用户组(effective group),使用groups命令时,显示的第一个用户组(该用户创建文件时,文件的所属组)。
命令newgrp:切换用户的有效用户组:newgrp groupname
如果用户已经属于组group1,则可使用newgrp group1命令直接切换其有效组。
如果用户不属于组group2,则使用newgrp group2切换时,需输入group2的组密码。

14、权限管理
修改所属主和所属组
命令:chown
命令格式:chown [-R] 用户名[:组名] 文件
-R : 递归式修改,可修改目录下的所有内容
示例:chown user1 file1
示例:chown user1:group1 file1
示例:chown –R user1 dir1
命令:chgrp
命令格式:chgrp 组名 文件
示例:chgrp group1 file1
示例: chgrp –R group1 dir1

15、权限管理
修改文件权限属性
命令:chmod
格式:chmod [u|g|o|a][+|-|=][rwx]
格式:chmod nnn(数字组合) 文件
示例:chmod u+x file1
示例:chmod 777 dir1

image

 

 

16、权限管理
关于目录权限
实验1:验证目录的rwx权限
实验2:
将root创建的目录dir1权限设为777,在dir1下创建一个文件file1,问:file1所属的用户和组是什么?普通用户user1能删除这个文件吗?

image

17、权限管理
默认权限
umask命令
设置显示创建文件时的默认权限
umask显示默认权限掩码值
umask –S 显示权限值
umask nnn(掩码值) 设置默认权限
umask值的设置
使用umask命令设置umask值后,重新登录shell时,所做设置失效。
如需对所有用户设置,可修改/etc/bashrc,如需对某个用户设置,可修改该用户主目录下的.bashrc文件。

18、权限管理
特殊权限
setUid (设置用户id位) : 对应符号s
普通用户可以使用passwd设置自己的密码,修改只有root才拥有的写权限的/etc/passwd?
当一个程序一旦设置了该标记以后,运行该程序的进程将拥有该程序所有者同样的权限。
设置可执行文件的s位: chmod [u+s|4xxx] file
示例:设置/bin/touch的s位 ;设置vim的s位
注意:这个权限位是针对可执行文件而言的。
setGid ( 设置组id位 )
运行该程序将拥有该程所属组同样的权限。
设置方法:chmod [g+s|2xxx] file

19、权限管理
特殊权限
sticky (粘着位) : 对应符号t
当一个目录被设置为“粘着位”时,则该目录下的文件只能由以下用户才能删除
root
该目录的所有者
该文件的所有者
设置目录的t位: chmod [+t|1xxx] dir
示例:设置权限为777的目录的t位,测试删除
注意:这个权限位是针对目录而言的。

20、权限管理
sudo(superuser do)指令
让用户以另一种身份(通常是以root身份)执行某些规定的命令(命令可精确到选项)。
当用户执行sudo时,根据/etc/sudoers 文件,以判断用户是否有执行sudo的权力
执行sudo时需要输入用户自身的密码
visudo指令
编辑/etc/sudoers文件
用户 主机=(用户身份) 命令
username ALL=(ALL) ALL

21、批量增加用户
使用newusers和chpasswd工具
1、创建类似于/etc/passwd的文本文件user.txt
2、使用命令: newusers < user.txt
3、使用命令:pwunconv 取消shadow功能
4、创建 “用户名:密码” 格式的文本文件pass.txt
5、使用命令:chpasswd < pass.txt
6、使用命令:pwconv启动shadow功能
使用shell脚本
脚本中使用useradd和passwd命令

22、磁盘配额
磁盘配额 ( quota )
对用户|组设置硬盘容量限制
使用情形:www服务器的网页空间容量限制;邮件服务器的邮箱空间容量限制……
注意磁盘配额是针对整个分区的且只对root无效。
磁盘配额限制内容
最低限制 ( soft ) : 用户在一段时间 (宽限时间 )内可以超过最低限制的容量,但必须在宽限时间内将磁盘容量降到最低限制的容量范围之内。
最高限制 ( hard ) : “绝对不能超过”的容量,这个值应该比最低限制的值大。
配置实例:qgroup ( quser1 , quser2 )

23、磁盘配额
步骤1:文件系统启动磁盘配额支持
在/etc/fstab的选项字段设置启动quota
在第四个字段添加usrquota,grpquota
重新载入文件系统
运行mount –a重新载入文件系统
查看/etc/mtab文件,看文件系统是否载入,是否启动磁盘配。

24、磁盘配额
步骤2:扫描文件系统的用户使用情况
使用命令:quotacheck –avug [mountpoint]
-a : 扫描/etc/fstab中所有设置了quota的分区
-v : 显示过程
-u : 针对用户扫描文件系统
-g : 针对组扫描文件系统
该命令会在分区根目录下生成磁盘配额记录文件 : aquota.user 、 aquota.group
步骤3:启动磁盘配额
使用命令:quotaon –avug

25、磁盘配额
步骤4:编辑磁盘配额限制值
使用命令:edquota [-ugpt] [用户或组]
-u : 配置用户, 如:edquota –u quser1
-g : 配置组, 如:edquota –g qgroup
-p : 复制设置, 如:edquota –p quser1 quser2
-t : 设置宽限时间, 如:edquota –t
步骤5:查看quota结果报告
使用命令:quota 或者 repquota

版权所有:《曾巧文博客-关注互联网IT技术,记录生活点滴》 => 《【Linux学习】课时8 用户、组和权限管理
本文地址://qiaowen.net/post-1159.html
除非注明,文章均为 《曾巧文博客-关注互联网IT技术,记录生活点滴》 原创,欢迎转载!转载请注明本文地址,谢谢。

有 4414 人浏览,获得评论 0 条

发表评论:

Powered by emlog 粤ICP备12040901号

>>本作品采用-知识共享署名-非商业-禁止演绎-协议-进行许可 |站点地图 | | | | 开放分类目录 |