昨日回顾
1.系统中的用户有什么用?
程序运行需要一个用户身份,可以不能登陆系统(傀儡身份)
多个人操作一个系统时,需要创建多个用户,这样互相不影响。(默认初始环境一致)
2.创建用户,会操作哪几个配置文件?
/etc/passwd 用户属性 /etc/shadow 用户密码属性 /etc/group 组 /etc/gshadow 组密码
3.如何创建用户 修改用户 删除用户
useradd username
-u UID -g [GID |GroupName] 基本组 -G[GID | Groupname] 附加组
-c 注释 -s指定登陆shell -d 指定用户的家目录 -M不指定用户的家目录
-r 系统用户 [通常201-999]并且没有家目录
usermod 修改用户 -l 修改用户的名称
userdel 删除用户 -r 会删除用户的家目录,以及用户的邮箱
4.为用户添加密码 (复杂度要高,密码需要三月一修改)
passwd Username 只能是root操作
passwd 修改自己的密码 (普通用户和root都能操作)
echo "123" |passwd --stdin Username 非交互式设定密码(批量设定密码)
5.用户的创建流程
用户在创建过程中会依赖俩个配置文件 /etc/login.defs /etc/defaults/useradd
如果在创建用户 自行指定选项,会覆盖/etc/login.defs /etc/defaults/useradd
-u 2000 -s /bin/bash /sbin/nologin -d /home/temp
6.用户的组
基本组(有且只能有一个)
用户的主要组,使用-g指定,前提是该组必须存在
创建用户时,不知能基本组,默认创建一个与用户同名的私有组
附加组(可以N个)
当基本组无法满足授权需求时,可以添加至附加值组,附加组可以有N个
7.组的创建 修改 删除
groupadd -g
groupmod -n -g
groupdel
8.提权
su 切换用户身份 su username 非登录式shell
su -username 登录式shell
登录式与非登录式shell 区别在于加载的环境变量不一样.
sudo 提权 1.由root用户事先分配可执行的命令权限 2.由root用户关联某个普通用户与对应的权限
sudo提权方式一: 使用sudo的内置别名创建组,创建命令组,最 后将两者进行关联
sudo提权方式二: 创建系统组,将用户加入组,然后在sudo对组 配置权限 %group_n
今日内容
1.什么是权限?
2.为什么要使用权限?
3.权限与用户之间的关系?
4.权限中的rwx是干什么的?
5.验证权限跟rwx对文件和对目录的含义?
6.如何变更一个文件至其他用户?
r (read) 读取权限 4
w (write) 写入权限 2
x(execute)执行权限 1
-(没有权限) 没有权限 0
不常用基本放弃方式一
方式一: ugo user group other all=ugo[root@bgx ~]# touch file #创建文件
[root@bgx ~]# chmod a=rwx file #给所有人添 加读写执行权限
[root@bgx ~]# chmod a=-rwx file #取消所有的 权限
[root@bgx ~]# chmod u=rwx,g=rw,o=- file #属主读写执 行,属组读写,其他人无权限
[root@bgx ~]# chmod ug=rwx,o=r file #属主属组读 写执行,其他人读权限 [root@bgx ~]# ll file
-rwxrw-r-- 1 root root 0 Apr 13 03:29 file
方式二:number r=4 w=2 x=1 -=0
针对文件最高设定为 777 但是一般都是666
1.设定属主(读写)属组(读)权限 其他人(无) rw-r----- 翻译数字为640
[root@oldboyedu opt]# chmod 640 1.txt
[root@oldboyedu opt]# ll 1.txt
-rw-r-----. 1 oldboy root 8 Aug 7 10:07 1.txt
#2. 设定属主(读写) 属组(无)权限 其他人(无)
[root@oldboyedu opt]# chmod 600 1.txt
[root@oldboyedu opt]# ll
total 4
-rw-------. 1 oldboy root 8 Aug 7 10:07 1.txt
##针对目录设定权限: 777
#选项: -R递归修改
[root@bgx ~]# mkdir dir
[root@bgx ~]# chmod 777 dir/ #修改目录允许所有人访问
[root@bgx ~]# chmod -R 755 dir/ #修改目录及子目录权限
[root@bgx ~]# ll -d dir/ drwxr-xr-x 2 root root 6 Apr 13 03:34 dir/
针对hr部门的访问目录/home/hr 设置权限 要求如下:
1.root用户和hr组的员工可以读,写,执行
2.其他用户没有任何权限
[root@bgx ~]# groupadd hr
[root@bgx ~]# useradd hr01 -G hr
[root@bgx ~]# useradd hr02 -G hr
[root@bgx ~]# mkdir /home/hr
[root@bgx ~]# chgrp hr /home/hr
[root@bgx ~]# chmod 770 /home/hr
[root@bgx ~]# ll -d /home/hr drwxrwx--- 2 root hr 6 Apr 13 03:26 /home/hr
权限验证
针对文件:
r: 能读取文件内容
cat head less tail more
w: 能写入文件 (不能看) vim
x: 能执行文件(如果没有r权限,单有x 没有用)
rw: 能查看文件,能编辑文件. 不能执行.不能删除,不能移动,不能复 制 (1)
rx: 能查看文件,不能编辑,能执行. 不能删除,不能移动,不能复制 (2)
rwx: 能查看文件,能编辑文件,能执行. 不能删除\移动\复制 --->使用 较少
针对目录的权限:
r: 具有浏览目录的权限,无法进入目录,使用ls 查看目录下的文件会 报错,但会显示文件名称, 如果使用 ls-l 只能看到文件名称,其他的 全部无法查看.
w: 什么权限也没有
x: 能进入目录,其他什么也没有
rx: 能进入目录,能查看目录下的文件,至于操作文件,需要看文件本 身的权限. (1)
rw:
rwx: 如果目录赋予了w权限,则该目录下的文件可以复制\删除\移 动\修改\文件使用最多: rw=6 rx=5 644目录使用最多: rx = 5 755
属主和属组变更
chown 更改属主以及属组 -R:递归修改
准备环境,创建文件和目录
[root@bgx ~]# mkdir dir/test1 && touch dir/file#示例1: 修改所属主为bin [root@bgx ~]# chown bin dir/#示例2: 修改所属组为adm [root@bgx ~]# chown .adm dir/#示例3: 递归修改目录及目录下的所有文件属主和属组
[root@bgx ~]# chown -R root.root dir/
今日总结
1.什么是权限? 权限就是一种约束解释
2.为什么要有权限?
3.权限和用户之间的关系?
4.权限如何设定? chmod
ugo方式 out
number方式 7 rwx 6 rw 5 rx 4 r 3 wx 2w 1 x
r =4
w=2
x= 1
755 --->7属主 5 属组 5 其他
5.测试r w x 每一位的权限?
6.通常权限的组合使用方式? 文件: r rw rx 目录: rx rwx
7.如何变更一个文件属主和属组. chown -R 递归
特殊权限 suid sgid sbit chattr lsattr Umask > >> 1> 2> &>