一、用户和组账号的概述; 二、用户及组账号的管理; 三、管理目录及文件的属性; 四、扩展; 一、用户和组账号的概述; 1.概念:用户:包含一个名和密码,人在计算机中的体现方式,包含root、普通用户、程序用户; 组:用户的集合,批量管理用户群权限,包含基本组、附加组(一个用户只能属于一个基本组,但是可以属于多个附加组); 权限:限制用户访问资源(文件、app、进程、硬件等); UID:每个用户账号都有一个数字标识(身份证),root(0)、普通用户(500-60000)、程序用户(1-499); GID:每个组账号的唯一身份标识;root(0)、普通组账号(500-60000)、程序组账号(1-499); 2.用户和组的文件; /etc/passwd ##账号文件 /etc/shadow ##密码文件 /etc/group ##组账号文件 /etc/gshadow ##组密码文件,很少使用 3.用户账号文件格式:/etc/passwd 用户名:密码占位符:UID:GID:全名:家目录:登陆shell解释器 密码占位符:可能是以密文的字符串代表或者X密码占位符; 登陆shell解释器:用户默认的的解释器,默认情况用户使用/bin/bash作为shell,若修改为/sbin/nologin(禁止登陆), 4.用户密码文件格式;/etc/shadow 用户名:MD5加密的密码字串信息:上次修改密码到现在的时间:密码最短有效天数:密码最长有效天数:提前几天警 告用户密码将要过期:在密码过期多少天后禁用账户:账号失效时间(默认为空,表示永久);保留字段 密码字串信息: !!:未初始化密码,新建用户的默认状态 密码字符串:修改密码后的状态 !!加密字符串或*加密字符串:密码被锁定,不能登陆 空:登陆不需要密码,只能本地登录(无需密码) 5.组账号文件:/etc/group 组名:密码占位符:GID:成员列表 二、用户及组账号的管理; 1.用户的管理: 增:useradd 选项 用户名 选项:-d ##指定家目录 -M ##不指定家目录 -s ##指定用户的登陆shell -g ##指定用户的基本组 -G ##指定用户的附加组(可指定GID) 删:userdel -r 用户名 删除用户的同时也将家目录一并删除 改:usermod 选项 用户名 选项:包含创建用户的所有选项 passwd 用户名 ##为用户设置密码 passwd 选项 用户名 选项:-d ##清空用户的密码(不用密码登录) -l ##锁定用户 -u ##解锁用户 -S ##查看用户锁定状态 chsh -s 解释器目录 用户名 ##更改用户的shell解释器 查: grep 用户名 /etc/passwd ##查看账号信息 id 用户名 ##显示用户UID和所属组 w ##查看当前主机的登陆情况 2.组的管理: 增:groupadd 组名 选项-g可指定GID; 删:groupdel 组名 改:gpasswd 选项 用户名 组名 选项:-a ##将单个用户添加到某个组 -M ##将多个用户添加到某个组,用户之间用逗号隔开 -d ##将某个用户在某个组中删除 查: groups 用户名 ##查看用户属于哪个组 grep 组名 /etc/group ##查看组信息 三、管理目录及文件的属性; 1.概念: 访问权限:读取(r)、写入(w)、执行(x) 归属:属主:拥有该文件的用户 属组:拥有该文件的组账号 2.查看文件或目录的属性: ls -ld 目录或文件位置 格式:文件类型、权限、inode数量、属主、属组、大小、日期、文件名 权限列表: 第一个字符:文件类型,d目录、b块设备文件、c字符设备文件、l链接文件、-普通文件; 第2-4个字符:属主对文件的权限; 第5-7个字符:属组对文件的权限; 第8-10个字符:任何用户对文件的权限; 权限的表示: r:读取,查看内容,也可以用4表示; w:写入,写入(删除、更改、移动等)内容,也可用2表示; x:执行,执行此文件或cd到此目录,也可用1表示; 3.设置文件或目录的权限; 语法:chmod [ugoa] [+-=] [rwx] 文件或目录 举例:chmod g-x, o-r 文件或目录 选项:-R 表示递归权限,目录下的子目录子文件继承父级目录的权限; 语法:chmod 775 文件或目录 .4.设置目录或文件的归属; 语法:chown 属主 文件或目录 ##设置其属主 chown :属组 文件或目录 ##设置其属组 chown 属主:属组 文件或目录 ##设置其属主和属组 注:选项-R 递归可将其子目录子文件继承父级目录的归属; 四、扩展: 1.umask文件反权限: umask ##查看系统的默认权限反掩码值,文件最大权限为666,目录最大权限为777 umask ### ##手动更改文件权限的反掩码值,更改后创建文件或目录验证反掩码值 2.chattr锁定文件: chattr +i 文件路径 ##锁定文件,不得移动删除等 chattr -i 文件路径 ##解锁文件 账号和权限管理课堂练习 tail /etc/passwd 查看账号文件 tail /etc/shadow 查看密码文件 useradd -d /tmp/u01 u01 新建用户u01并指定家目录为/tmp/u01,指定基本组为u01 tail /etc/passwd 验证创建的用户u01 tail /etc/shadow 验证创建的用户u01 passwd u01 为u01设置密码 123123 123123 passwd -S u01 查看用户状态 usermod -L u01 锁定用户u01 passwd -S u01 查看用户状态 passwd -u u01 解锁用户u01 passwd -S u01 查看用户状态 chsh -s /sbin/nologin u01 更改u01的登陆shell为/sbin/nologin su - u01 登陆u01,发现不能登陆 chsh -s /bin/bash u01 更改u01的登陆shell为/bin/bash su - u01 成功登陆u01 exit 退出会话 userdel -r u01 删除u01用户 tail /etc/passwd 验证无u01用户 tail /etc/group 查看组账号文件 groupadd -g 666 g01 创建GID为666的组g01 tail -1 /etc/group 验证创建的组g01 useradd u01 创建三个用户 useradd u02 useradd u03 gpasswd -M u02,u03 g01 将u02,u03添加到g01 gpasswd -a u01 g01 将u01添加到g01 groups u01 查看u01用户属于哪个组 grep g01 /etc/group 查看g01组都包含哪些用户 gpasswd -d u03 g01 将u03用户在g01组中删除 grep g01 /etc/group 验证g01组内成员 cd /tmp 将工作目录切换到/tmp rm -rf ./* 删除当前目录下的所有文件 mkdir benet 创建目录benet touch ./benet/1.file 创建benet目录下的文件1.file ls -ld benet 查看benet目录的默认权限和归属 chmod g-x benet 将benet目录的属组去掉执行权限 ls -ld benet 验证benet目录的权限是否去除属组的执行权限 chmod 744 benet 将benet目录的权限设置为rwxr--r-- ls -ld benet 验证benet目录的权限是否同上 chmod a-r benet 将benet目录的所有人都去掉q读取权限 ls -ld benet 验证benet目录是否还有读取权限 chmod 755 benet -R 设置benet目录权限为rwxr-xr-x,并递归到其子文件子目录 ls -ld benet/1.file 验证benet目录下的子文件的权限是否同上 chown u01 benet/1.file 设置1.file文件的属主为u01 ls -ld benet/1.file 验证1.file文件的属主是否更改为u01 chown u02:g01 benet/1.file 同时设置1.file文件的属主为u02,属组为g01 ls -ld benet/1.file 验证1.file的归属 |
|