linux用户分为三种,普通用户,超级管理员,程序用户
普通用户:权限受到限制的用户
超级管理员:拥有至高无上的权利
程序用户:不是给人使用的,是给程序使用,程序用户是不允许登录的
系统如何区分用户的身份
系统区分用户的身份使用的是uid号
超级管理员的uid号 默认是0
普通用户的uid号 centos7 是 1000(包括1000) -60000 centos6 是 500-60000
程序用户的uid号 1-999
如何查看用户的uid:id 用户名
用户信息一般存放在/etc/passwd中
格式为:
liwu :x :1003:1003:普通用户:/home:/liwu:/bin/bash
liwu:用户名
x:密码占位符
1003:uid
1003:gid (组id)
普通用户:备注信息
/home/liwu:家目录位置
/bin/bash:默认的shell类型 /bin/nologin 这个shell类型无法登录
密码和账号有效期等信息放在/etc/shadow中
root:$6$4V9hEko/:19717:7:99999:7:8: 19718 :
格式为:
root: 用户名
$6$4V9hEko: 加密的密码 * !!代表不可以登录,若该字段为空,则表示无需密码即可登录
19717:从1970-1-1开始,最近一次修改密码的时间
7:七天以后,才可以修改密码
99999:密码的时间,99999天=273年 基本上等于永久有效
7:密码过期前7天,会提醒你改密码
8:密码过期8天后会被锁定
19718:明天过期,用户的有效期,超过有效期登录不了系统
保留字段:未使用
useradd
格式:useradd [选项] 用户名
-u 指定uid
-M 不生成家目录
-s 指定shell类型 /bin/nologin
-e 指定用户的失效时间 (YYYY-MM-DD)
-d 指定家目录
passwd
格式为:passwd [选项] 用户名 更改密码 (当前用户只能修改自己的密码,只要超管才能修改别人的密码)
-l 锁定用户
-u 解锁用户
-S 查看用户的状态
-d 清空密码
免交互修改密码 echo"123123" |passwd 用户 --stdin
usermod 对已有的用户属性进行修改
格式为:usermod [选项] 用户名
选项基本和useradd一致
-l 修改用户名
-L 锁定用户
-U 解锁用户
-u 修改uid
-s 更改shell类型
主要用这俩
userdel [选项] 用户名
-r 删除家目录
新建组
groupadd [选项] 组名
-g 后面跟gid
删除组
groupdel 组名
gpasswd [选项] 组名
-a 向组内添加一个用户 -a 用户
-d 从组内删除一个用户 -d 用户
-M 定义组成员列表,以逗号分隔
w who users查看当前登录用户信息
top linux的任务管理器
程序访问文件时的权限,取决于此程序的发起者
进程的发起者,同文件的属主:则应用文件属主权限
进程的发起者,属于文件属组;则应用文件属组权限
应用文件“其它”权限
例子 root用户和普通用户 是否都可以看 (cat /etc/shadow)
访问的人群分为了三类
1.所属主(u) 2.所属组(g) 3.其他人(o)
权限分为了三类
1.读取(r 4) 2.写入(w 2) 3.执行(x 1)
文件夹: 有r 可以看文件夹下有哪些文件
有w 可以修改文件夹下的文件
有x 执行是文件夹的最小权限(文件夹的权限一定要有x,没有x,rw也没用)
文件:有r 可以看文件内容 有w 可以修改文件内容 有x 执行 可以运行文件
权限和属组的表现形式
rw- r-- r--
属主 属组 其他
root 可读可写 root组中的其他用户 只可读 其他用户 只可读
一个文件删除,和本身权限有关吗
和 所在文件夹有关 只要文件夹有wx权限就可以删除
复制一个文件,需要什么权限
当前用户一定要有读 r 的权限
权限也可以用数字表示
r 4 w 2 x 1
rw- r-- r--
6 4 4
修改权限
格式为:chmod [选项] 文件
-r 递归 所有都改
u 属主
g 属组
o 其他人
a 所有人
+是加上 在原有的基础上 加上权限
-是减去 在原有的基础上,减去权限
= 赋予 原有的权限不看, 就是等于号后面的权限
可以使用数字,也可以使用字母
例:chmod u+x 1.txt 给 1.txt 在原有的权限上加上 执行的权限
修改 属主 属组
-R 递归修改 所有都改
格式为:chown [选项] 属主:属组 文件或文件夹
属主,属组都改 chown 用户名:组名 文件
只改属主 chown 用户名 文件
只改属组 chown :组名 文件 ( : . 都可以)
umask 的值可以用来保留在创建文件权限
实现方式:
新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变
新建目录的默认权限: 777-umask
非特权用户umask默认是 002
root的umask 默认是 022
suid
#chmod u+s /usr/bin/vim
#此处s表示当使用这个命令程序时,把当前用户当成文件的所属主
guid
#chmod g+s /usr/bin/vim
#此处g表示当使用这个命令程序时,把当前用户当成文件的所属组
Sticky
# Sticky 位
#具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权
#在目录设置Sticky 位,只有文件的所有者或root可以删除该文件
#sticky 设置在文件上无意义
[root@localhost aa]#chmod o+t /opt/aa
# 添加Sticky 位
[root@localhost opt]#chmod o-t /opt/aa
#减少Sticky 位