一、账号
1.用户的类型
1.超级管理:权限最高的用户
2.普通用户:权限受到限制的用户
3.程序用户:不是给人登录使用的,给程序使用的,这些用户一般不允许登录到系统,一般是为了支持程序运行(超级管理员和普通用户都是登录到系统中,程序不是完美的,程序有漏洞,用程序用户管理程序,程序用户不能登录到系统,防止了程序被破解后,继续攻击系统,系统不会受到影响)
2.组类型
基本组:一定要有且只有一个
附加组:可有可无,可以有多个
主要职位:运维工程
3.uid和gid
uid:用户的身份证号
gid:用户组的身份证号
系统是靠uid来区分用户身份的,uid的范围定义绝对路径:vim /etc/login.defs
用户的uid为0就是超级管理员,不是因为他叫root
uid范围:0-60000
centos7 | centos6 | |
超级管理员 | 0 | 0 |
普通用户 | 从1000开始 | 从500开始 |
程序用户 | 1-999 | 1-499 |
4、文件
1.用户相关的文件
用户账号文件,用来存放保存用户名称、宿主目录、登录shell等基本信息:/etc/passwd
1.root:用户的名称
2.x:密码占位符
3.0:uid
4.0:gid
5.root:备注信息
6./root:家目录位置
7./bin/bash:shell环境
2.用户密码文件
/etc/shadow:存放密码及密码策略的文件
1.用户名称
2.加密的密码(如果第二列是!!或*该用户不可以登录到系统中,如果为空代表该用户密码可以直接登录就是无密码)
3.上次修改密码的时间,就是最后一次修改密码的时间
4.最小修改密码间隔时间(修改密码之后多少时间之内不给再修改密码)如果为0则是不限制下次修改密码的时间,如果该项为3,比如今天修改密码,想再次修改密码就需要3天以后
5.密码有效期,如果你设置为3,代表3天后需要修改,否则无法登录
6.密码到期前多少天提醒你密码快到期了,请修改密码
7.密码到期后宽限时间,如果为3,密码到期后还可以再登录3天
8.账号失效时间
9.保留字段未启用
二、命令
1.useradd
useradd只有新建一个用户进行设置,不能对已有的用户使用
命令格式:useradd 选项 用户名
1.没有指定用户的目录位置时,会自动在/home目录下创建一个与用户同名的宿主目录,并在该目录中建立用户的各种初始配置文件
2.没有指定用户所属组的位置时,会自动建立一个同名的基本组账号,组账号的记录信息保存在/etc/group和/etc/shadow文件中
举例:不指定位置,创建用户Eva
选项 | 功能 |
-u | 指定uid |
-s | 指定的登录shell类型 |
-M | 不建立家目录 |
-d | 指定家目录位置(可以是不存在的目录) |
-e | 失效时间,格式是yy-mm-dd的日期格式 |
-g | 指定基本组 |
-G | 指定附加组 |
-r | 随机生成一个uid 1-999的用户并且不建立家目录 |
-c | 备注信息 |
-p | 密码,必须要是加密过后的密码 |
举例:建立uid为1111,指定为sbin下nologin类型,不建立家目录,名称为99
useradd -u 1111 -s /sbin/nologin -M 99
2.passwd
passwd
命令格式:passwd 选项 用户名
passwd 修改密码
passwd 用户名(不加用户名 修改当前用户的密码)
选项 | 功能 |
-d | 清空用户密码 |
-l | 锁定用户无法登录 |
-u | 解锁用户 |
-s或S | 查看用户是否被锁定 |
举例:免交互设置密码,更改99用户的密码为123123(此命令方便且不需重复输入)
echo 123123 | passwd 99 --stdin
3.usermod
usermod:对已有用户的属性进行修改使用usermod命令
命令格式:usermod 选项 用户名 usermod 选项 已有用户名
选项 | 功能 |
-l | 修改用户的名称,先写新名字,再写旧名字 |
-u | 指定uid |
-s | 指定的登录shell类型 |
-d | 指定家目录位置(可以是不存在的目录) |
-e | 失效时间,格式是yy-mm-dd的日期格式 |
-g | 指定基本组 |
-G | 指定附加组 |
-r | 随机生成一个uid 1-999的用户并且不建立家目录 |
-c | 备注信息 |
-L | 锁定用户 |
-U | 解锁用户 |
-p | 密码,必须要是加密过后的密码 |
cat /dev/urandom | tr -dc '[:alnum]' | head -c12----------生成随机密码
4.userdel
userdel:删除用户
命令格式:userdel 选项 用户名
选项 | 功能 |
-r | 连家目录一起删除 |
举例:删除用户Eva并且删除Eva的家目录
userdel -r Eva
三、用户账号的初始配置文件
新建用户账号时,从/etc/skel目录中复制而来
cat /etc/default/useradd
用户宿主目录下的初始配置文件只对当前用户有效:~/ .bash_profile
#此文件中的命令将在该用户每次登录时被执行,他会设置一些环境变量,并且会调用该用户的~/.bashrc文件:~/.bashrc
#此文件中的命令将在该用户每次打开新的bash shell时(包括登录系统)被执行(登录 切换 新的bash环境):~/.bash_logout
#此文件中的命令将在该用户每次退出时bash shell时使用:/etc/bashrc
四、文件/目录的权限和归属
程序访问文件时的权限,取决于此程序的发起者
1.进程的发起者,同文件的属主则应用文件属主权限
2.进程的发起者,属于文件属组,则应用文件属组权限
应用文件“其他”权限
1.权限
权限分三种
r:读
文件:可以看里面的内容
文件夹:可以用ls看文件夹中的文件列表
w:写
文件:可以修改文件的内容
文件夹:新建文件(文件夹),删除文件(文件夹),移动文件(文件夹)
x:执行
文件:可以允许(命令,脚本),颜色是绿色
文件夹:执行是最小的权限,如果没有执行,读写就无法使用
权限项 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
字符表示 | r | w | x | r | w | x | r | w | x |
数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
权限分配 | 文件所有者 | 文件所有者 | 文件所有者 | 文件所属组 | 文件所属组 | 文件所属组 | 其他用户 | 其他用户 | 其他用户 |
2.修改文件的属性
非数字法:
chmod:可以修改文件的权限
命令格式:chmod -R 指明 属主/属组/其他人+权限 文件
-R:递归
属主:u
属组:g
其他人:o
所有人:a
加上:+
减去:-
赋予:=
chmod u+r 文件名
chmod u=r 文件名
chmod u-r 文件名
chmod a+r 文件名 所有人
数字表示法:
4=读
2=写
1=执行
例子:给esdeath加上所有权限
chmod 777 esdeath
五、组
1.添加组
groupadd [-g GID] 组账号名
命令格式:groupadd 账号名
命令格式:groupadd -g GUID 账号名
2.组管理
1.新建组
命令格式:gpasswd 选项 用户名 组账号
注:用户在前,组在后
选项 | 功能 |
-a | 添加一个用户进组 |
-d | 从组内删除一个用户 |
-M | 定义组成员列表,以逗号分割 |
举例:将用户Eva加入到组EVA中
将用户Eva从组EVA中删除
定义组成员列表
2.删除组
groupdel 组账号名