知人者智,自知者明。胜人者有力,自胜者强。 ——老子
前期回顾
1.系统中的用户有什么用?程序运行需要一个用户身份,可以是不能登录系统 (傀儡身份)
多个人操作一个系统时,需要创建多个用户,这样互相不影响.(默认初始环境一致)
2.创建用户,会操作哪几个配置文件?/etc/passwd 用户属性
/etc/shadow 用户密码属性
/etc/group 组
/etc/gshadow 组密码
3.如何创建用户 修改用户 删除用户
useradd 创建用户-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 非登录式shellsu - usernmae 登录式shell
登录式与非登录式shell 区别在于加载的环境变量不一样.
sudo 提权
1.由root用户事先分配可执行的命令权限
2.由root用户关联某个普通用户与对应的权限sudo提权方式一: 使用sudo的内置别名创建组,创建命令组,最后将两者进行关联
sudo提权方式二: 创建系统组,将用户加入组,然后在sudo对组配置权限 %group_n
Linux基本权限
1.什么是权限?
2.为什么要使用权限?
3.权限与用户之间的关系?
4.权限中的rwx是干什么的?
5.验证权限rwx对文件和对目录的含义?
6.如何变更一个文件至其他用户?
1.什么是权限:
操作系统对用户执行权力的限制,约束用户对系统所能做的操作访问等。
2.为什么要有权限:
系统不可能只有一个root用户,会有很多个用户,为了保护每个登陆用户的隐私和工作环境,所以就有了权限。
3.权限与用户之间的关系:
在Linux系统中,针对文件定义了三种身份,分别是属主、属组、其他人,每一种身份又对应第三种权限,分别是可读、可写、可执行。
4.权限中的rwx分别代表什么含义:r(read) 读取权限 4
w(write) 写入权限 2
x(execute) 执行权限 1
方式一: 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
-rw-------. 1 oldboy root 8 Aug 7 10:07 1.txt
例题3.选项: -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/
例题4.针对 hr 部门的访问目录/home/hr 设置权限,要求如下:(root 用户和 hr 组的员工可以读、写、执行 ,其他用户没有任何权限)
[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
5.权限验证
1.针对文件:r: 能读取文件内容 cat head less tail more
w: 能写入文件 (不能看) vim
x: 能执行文件(如果没有r权限,单有x 没有用)
rw: 能查看文件,能编辑文件. 不能执行.不能删除,不能移动,不能复制
rx: 能查看文件,不能编辑,能执行. 不能删除,不能移动,不能复制
rwx: 能查看文件,能编辑文件,能执行. 不能删除\移动\复制 --->使用较少
2.针对目录的权限:r: 具有浏览目录的权限,无法进入目录,使用ls 查看目录下的文件会报错,只会显示文件名称
w: 什么权限也没有
x: 能进入目录,其他什么也没有
rx: 能进入目录,能查看目录下的文件,至于操作文件,需要看文件本身的权限
rw: 没这样干的 out
rwx: 如果目录赋予了w权限,则该目录下的文件可以复制\删除\移动\修改\
文件使用最多: rw=6 rx=5 默认644
目录使用最多: rx = 5 默认755
6.属主和属组变更
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/