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类型
可更改的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 位