———————————————————————————————
昨日回顾
1.系统中的用户有什么用?
程序运行需要一个用户身份,可以是不能登录系统(傀儡身份)
多个人操作一个系统时,需要创建多个用户,这样互相不影响. (默认初始环境一致)
2.创建用户,会操作哪几个配置文件?
/etc/passwd 用户属性
/etc/shadow 用户密码属性
/etc/group 组
/etc/gshadow 组密码
3.如何创建用户 修改用户 删除用户
useradd username
-u UID
-g [ GID | GroupName] 基本组
-G [GID | Groupname] 附加组
-c 注释
-s 指定登录Shell /bin/bash 正常登陆系统 /sbin/nologin 不 允许登录
-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 /tmp
6.用户的组
基本组(有且只能有一个):
用户的主要组,使用-g指定,前提是该组必须存在
创建用户时,不指定基本组,默认创建一个与用户同名的私有组
附加组(可以有N个)
当基本组无法满足授权需求时,可以添加至附加组. 附加组 可以有N个
7.组的创建 修改 删除
groupadd -g
groupmod -n -g
groupdel
8.提权
su 切换用户身份
su username 非登录式shell
su - usernmae 登录式shell
登录式与非登录式shell 区别在于加载的环境变量不一样.
sudo 提权:
1.由root用户事先分配可执行的命令权限
2.由root用户关联某个普通用户与对应的权限
sudo提权方式一: 使用sudo的内置别名创建组,创建命令组,最 后将两者进行关联
sudo提权方式二: 创建系统组,将用户加入组,然后在sudo对组 配置权限 (%group_n % 表示组)
————————————————————————————————————
今日内容
1.什么是权限?
2.为什么要使用权限?
3.权限与用户之间的关系?
4.权限中的rwx是干什么的?
5.验证权限rwx对文件和对目录的含义?
6.如何变更一个文件至其他用户?
方式一: 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
- 设定属主(读写) 属组(无)权限 其他人(无)
[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 s
bit
chattr l
sattr
Umask
, >>, 1> 2> &>