权限 :
约束用户能对操作系统所在的操作
权限有什么用?保护用户的隐私 可以按需开放对应的权限
调整权限:chmod
number r=4 w=2 x=1 -=0
目录 755 777 700
文件 644 600
命令 755
创建用户,会操作那几个配置文件
`/etc/passwd 用户属性
/etc/shadow 用户密码属性
/etc/group 组
/etc/gshadow 组密码`
如何修改删除用户?
`useradd username 创建用户`
` -u UID
-g [GID|GroupName]基本组
-G [GID|GroupName]附加组
-c 注释
-s 指定登录shell /bin/bash 正常登录系统 /sbin/nologin 不允许登录
-d 指定用户的家目录
-M 不指定用户的家目录
-r 系统用户[通常201-999]并且没有家目录
usermod username 修改用户
-l 修改用户名称
userdel username 删除用户
-r 会删除用户的家目录,以及用户的邮箱`
为用户添加密码:
注意密码的复杂度要高,密码需要三月一修改
`passwd Username 只能是root操作
passwd 修改自己的密码(普通用户与root都能操作)
echo "123" | passwd --stdin Username 非交互式设定密码(批量设定密码)`
用户的创建流程
`用户在创建的过程中会依赖两个配置文件
/etc/login.defs
/etc/defaults/useradd
如果在创建用户自行指定选项,会覆盖这两个文件
-u 2000
-s /bin/bash /sbin/nologin
-d /home /tmp
基本组:(有且只能有一个)
1.用户的主要组,使用-g指定,前提是该组必须存在
2.创建用户时,不指定基本组,默认创建一个与用户同名的私有组
附加组:(可以有N个)
1.当基本组无法满足授权需求时,可以添加至附加组
组的创建修改删除
groupadd -g
groupmod -n -g
groupdel`
sudo
提权
登录式与非登录式shell区别在于加载的环境变量不一样
su 切换用户身份
su username 非登录式shell
su - username 登录式shell
sudo 提权
由root用户事先分配可执行的命令权限
由root用户关联某个普通用户与对应的权限
sudo提权方式
1.使用sudo的内置别名创建组,创建命令组,然后将两者进行关联
2.创建系统组,将用户加入组,然后在sudo对组配置权限%group_n
···
`权限中的rwx是干什么的
r=读取权限 对应权限:4
w=写入权限 对应权限:2
x=执行权限 对应权限:1
-(没有权限) 对应权限:0
如何变更权限
使用chmod命令
方式一:ugo(user group other)
a=rwx 全部人
u=rwx,g=rx,o=- 分别
方式二:number r=4 w=2 x=1 -=0
针对文件设定权限
主(rw),组(r),其他(-)
[root@oldboy ~]# chmod 640 1.txt
最高为777,但一般都是666
针对目录设定权限
-R 递归修改
[root@oldboy ~]# chmod 777 dir/
[root@oldboy ~]# chmod -R 777 dir/
权限验证
针对文件
使用最多的:rw=6 rx=5 644
r: 能读取文件内容
cat head less tail more
w: 能写入文件(不能看)
vim
x: 能执行文件(如果没有r权限,单有x没有用)
rw: 能查看文件,能编辑文件,不能执行,不能删除移动复制
rx: 能查看文件,不能编辑文件,能执行,不能删除移动复制
rwx: 能查看文件,能编辑文件,能执行,不能删除移动复制`
针对目录
使用最多的:rx=5 755
r: 具有浏览目录的权限,无法进入目录,使用ls查看目录下的文件会报错,会显示文件名称,使用ls -l只能看到文件名称,其他全部无法查看
w: 什么权限也没有
x: 能进入目录,其他什么也没有
rx: 能进入目录,能查看目录下的文件,至于操作文件,需要看文件的权限
rwx: 如果目录赋予了w权限,则该目录下的文件可以复制删除移动修改
属主和属组变更
[root@oldboy ~]# chown uname:或者.gname filename
[root@oldboy ~]# chown uname filename
[root@oldboy ~]# chown :或者.gname filename
[root@oldboy ~]# chown u:.g 目录名
-R 递归修改目录属主属组