账户和权限管理

一.用户和组账号概述

1.用户账号

超级用户:root

普通用户:自定义用户

程序用户:无法登录

还有一种匿名用户:nobody

2.组账号

基本组(私有组):伴随着用户的创建而创建 与用户同名

附加组(公共组):附加组 直接创建空组,可以添加已有的用户,给组设置权限 改组中的所有用户都具备此权限

3.UID和GID

UID用户标识号

GID组标识号

二.用户账号文件每一段含义

1./etc/passwd 举例:root:x:0:0:root: /root: /bin/bash

第一段:用户账号(root)

第二段:密码占位符(x)

第三段:用户账号(0)

第四段:组账号(0)

第五段:用户说明(root)

第六段:宿主目录(/root)

第七段:登录shell(/bin/bash)

2./etc/shadow

<img src="http://itmc.oss-cn-hangzhou.aliyuncs.com/blog/20191031/222455674.png" alt="mark" style="zoom:75%;" />

根据这幅图来说明

14374:离1970.1.1的天数

0:密码最短期限

99999:密码最长期限

7:密码到期提前7天提醒

三.命令
useradd:添加账号

-u:指定UID

-d:指定用户家(宿主)目录,当与-M一起使用时不生效

-M:不建立宿主目录

-e:指定账户失效时间

-s:指定用户登录shell

passwd:设置更改用户口令

-l锁定账号 -u解锁账号 -d清空指定用户密码 -s查看用户账户状态

UID 0 root 1~999程序用户 1000~60000普通用户

/sbin/nologin 用户无法直接登陆和被切换登录

passwd -l 用户被锁定,无法直接登录,但是可以从root用户切换登录

passwd不指定用户名时,就是修改当前用户的密码

usermod

-L锁定

-U解锁

其他和useradd相同

userdel

-r 同时删除宿主目录

用户账号的初始配置文件

~/.bash_profile ~/.bashrc ~/.bash_logout

groupadd 添加组
gpasswd添加/删除组成员

-a只添加一个用户 -d组内删除一个用户 -M定义组成员列表,以逗号分隔 -M 使用的时候,相当于重新定义组员,会清空之前的组员。慎用

groups查询用户所属组
id查询用户标识
finger:查询用户账号的详细信息
w,who,users:查询已登录到主机的用户信息

四.文件的权限和归属

访问权限包括读取,写入,可执行三种基本类型。

归属

属主:拥有该文件或目录的用户账号

属组:拥有该文件或目录的组账号

<img src="http://itmc.oss-cn-hangzhou.aliyuncs.com/blog/20191031/225025819.png" alt="mark" style="zoom:75%;" />

chmd:设置文件权限及归属

-R:递归修改指定目录下所有子项的权限

字符组合

ugoa

u:代表属主

g:代表属组

o:其他用户

a:所有用户

+:增加权限

-:减少权限

=:设置权限

权限掩码umask(反码)