用户和组
【用户名; 密码占位符;uid:基本组的gid:用户描述信息:用户家目录:解释器】
jm:x:1001:1001::/home/jm:/bin/bash
添加用户 / 修改用户属性 /删除用户 / 创建组 /添加
[root@localhost ~]# useradd jm //创建用户
[root@localhost ~]# grep jm /etc/passwd //从用户信息文件理显示jm用户信息
jm:x:1001:1001::/home/jm:/bin/bash
[root@localhost ~]# id jm //显示 用户基信息
uid=1001(jm) gid=1001(jm) 组=1001(jm)
管理员设置密码:交互式设置密码 passwd 用户名
数字/小写字母/大写字母/特殊符号
[root@localhost ~]# passwd jm //给jm设置密码
更改用户 jm 的密码 。
新的 密码:123
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
----------
[root@localhost ~]# su - jm //切换到普通用户
[root@localhost ~]# $ passwd //设置密码
更改用户密码
为jm更改stress 密码
Unix密码为123
新的密码 :新的密码需要满足复杂度要求,太难了
管理员设置非交互式:
格式: echo 密码 | passwd -- stdin 用户名
[root@localhost ~]# useradd kk
[root@localhost ~]# echo 123 | passwd --stdin kk
更改用户 kk 的密码 。
passwd:所有的身份验证令牌已经成功更新。
对已经存在的用户,进行属性修改 使用usermod
格式: usermod 【选项】 用户
[root@localhost ~]# usermod -u 1110 jm4 //修改jm4的uid
[root@localhost ~]# id jm4
uid=1110(jm4) gid=1005(jm4) 组=1005(jm4)
[root@localhost ~]# usermod -s /sbin/nologin jm4 //禁止用户jm4登陆服务器
[root@localhost ~]# tail -1 /etc/passwd
jm4:x:1110:1005::/home/jm4:/sbin/nologin
=========================================
删除用户 userdel
-r 删除用户的同时删除家目录。
[root@localhost ~]# userdel yy //删除用户
[root@localhost ~]# ls /home //没有删除yy的家目录
jm jm1 jm2 jm3 jm4 juanmao kk yy
[root@localhost ~]# tail /etc/passwd //但是将用户删除了
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
juanmao:x:1000:1000:juanmao:/home/juanmao:/bin/bash
jm:x:1001:1001::/home/jm:/bin/bash
jm1:x:1002:1002::/home/jm1:/bin/bash
jm2:x:1003:1003::/home/jm2:/bin/bash
jm3:x:1004:1004::/home/jm3:/bin/bash
jm4:x:1110:1005::/home/jm4:/sbin/nologin
kk:x:1006:1006::/home/kk:/bin/bash
[root@localhost ~]# userdel -r kk //删除用户的同时删除家目录
[root@localhost ~]# ls /home
jm jm1 jm2 jm3 jm4 juanmao yy
[root@localhost ~]# tail /etc/passwd
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
juanmao:x:1000:1000:juanmao:/home/juanmao:/bin/bash
jm:x:1001:1001::/home/jm:/bin/bash
jm1:x:1002:1002::/home/jm1:/bin/bash
jm2:x:1003:1003::/home/jm2:/bin/bash
jm3:x:1004:1004::/home/jm3:/bin/bash
jm4:x:1110:1005::/home/jm4:/sbin/nologin
[root@localhost ~]#
==============================
创建组 groupadd 【选项】 组名
[root@localhost ~]# useradd zz //创建用户
[root@localhost ~]# groupadd dcd //创建组
[root@localhost ~]# tail -1 /etc/passwd //查看用户 psswd
zz:x:1114:1114::/home/zz:/bin/bash
[root@localhost ~]# cat /etc/group //查看组group
zz:x:1114:
dcd:x:1115:
[root@localhost ~]# id zz //查看id
uid=1114(zz) gid=1114(zz) 组=1114(zz)
成员加入组
gpasswd -a 用户名 组名
[root@localhost ~]# gpasswd -a zz dcd //将用户zz 加入到dcd附属组
正在将用户“zz”加入到“dcd”组中
[root@localhost ~]# tail /etc/group
jm3:x:1004:
jm4:x:1005:
kk:x:1112:
yy:x:1113:
zz:x:1114:
dcd:x:1115:zz
[root@localhost ~]# gpasswd -a yy dcd
正在将用户“yy”加入到“dcd”组中
[root@localhost ~]# tail /etc/group
jm3:x:1004:
jm4:x:1005:
kk:x:1112:
yy:x:1113:zz
zz:x:1114:yy
dcd:x:1115:zz,yy
组名 组的密码占位符 组id 组的成员列表
成员从组里面删除 -d
[root@localhost ~]# gpasswd -d zz dcd
Useradd passwd ehco 密码 | passwd --stdin 用户
Usermod
Userdel
Groupadd
Gpasswd -d /-a 删除,添加 用户 组名
Groupdel
用户权限
drwxr-xr-x. 5 root root 42 10月 13 21:51 /yyy
d代表文件类型 目录文件
l代表快捷方式
-代表文本文件
rwxr-xr-x 表示权限 分三组
Rwx 属主 u 拥有者
r-x 组成员 g属组
r-x 其他人 o表示
基本权限(文件)
R 读取
W 写入
X 执行 -脚本
基本权限(目录)
r读取--查看目录里内容 ls
W 写入 --目录下创建删除文件或这目录
x执行 --能够使用cd切换目录
---------------------------------------
修改权限: chmod 权限内容 目录/文件
[root@localhost ~]# chmod u-w /yyy ///给拥有组减去w权限
[root@localhost ~]# ls -ld /yyy
dr-xr-xr-x. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]#
[root@localhost ~]# chmod g+w /yyy 给所属组加w权限
[root@localhost ~]# ls -ld /yyy
dr-xrwxr-x. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]#
将卷毛加入到root组在修改权限
[root@localhost ~]# gpasswd -a juanmao root
正在将用户“juanmao”加入到“root”组中
[root@localhost ~]# chmod g+w /yyy
[root@localhost ~]# ls -ld /yyy
drwxrwxr-x. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]# chmod g-w /yyy
[root@localhost ~]# ls -ld /yyy
drwxr-xr-x. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]#
修改其人地权限
[root@localhost ~]# chmod o+w /yyy
[root@localhost ~]# ls -ld /yyy
drwxr-xrwx. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]# chmod o-w /yyy
[root@localhost ~]# ls -ld /yyy
drwxr-xr-x. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]#
同时修改用户者,属组,其他组权限
[root@localhost ~]# chmod u-w,g-x,o-x /yyy
[root@localhost ~]# ls -ld /yyy
dr-xr--r--. 5 root root 42 10月 13 21:51 /yyy
[root@localhost ~]#
[root@localhost ~]# chmod ugo=wwx /zl001 //同时加入
==========
r对应 数值 4
w对应 数值 2
x对应 数值 1
- 对应数值 0
Rwx r-- r--
U=rwx g=rw o=r
7 5 4
对应的数值修改权限方式
[root@localhost ~]# chmod u=rw,g=rw,o=rw /yyy
[root@localhost ~]# chmod ugo=rw /yyy
[root@localhost ~]# chmod 666 /yyy
权限
基本权限: 文件,目录
拥有者-属主 u
属组 g
其他人- o
R 读权限 +增加权限
w写权限 -去除权限
X 执行权限 =赋予权限
修改权限的命令
Chmod 【选项】 权限 目录,文件
文件修改权限
[root@localhost ~]# touch /zl001/yyr.txt
[root@localhost ~]# ls -l /zl001/yyr.txt
-rw-r--r--. 1 root root 0 10月 14 15:59 /zl001/yyr.txt
[root@localhost ~]# chmod 666 /zl001/yyr.txt
[root@localhost ~]# ls -l /zl001/yyr.txt
-rw-rw-rw-. 1 root root 0 10月 14 15:59 /zl001/yyr.txt
[root@localhost ~]#
修改文件,目录 属主,属组
Chown 【选项】 属主 文件或者目录
Chown 【选项】 :属组 文件或者目录
Chown 【选项】 属主:属组 文件或者目录
[root@localhost ~]# groupadd ccnn //创建组
[root@localhost ~]# chown juanmao /zl001 //属主改成juanmao
[root@localhost ~]# chown :ccnn /zl001 //属组改成ccnn
[root@localhost ~]# mkdir /zl002
[root@localhost ~]# useradd zhsan
[root@localhost ~]# chown zhsan:ccnn /zl002 //同时修改属主和属组
[root@localhost ~]# gpasswd -a juanmao root
正在将用户“juanmao”加入到“root”组中
[root@localhost ~]# cat /etc/group
root:x:0:juanmao
[root@localhost ~]# cd /zl003
[root@localhost zl003]# mkdir xixixi
[root@localhost zl003]# touch haha.txt
[juanmao@localhost ~]$ cd /zl003
[juanmao@localhost zl003]$ touch zl.txt
touch: 无法创建"zl.txt": 权限不够
[root@localhost ~]# chmod g+w /zl003 //修改权限,可以进入juanmao进行创建文件
[root@localhost ~]# su - juanmao
上一次登录:六 10月 14 16:36:06 CST 2023pts/0 上
[juanmao@localhost ~]$ cd /zl003
[juanmao@localhost zl003]$ touch juanmao.txt
[juanmao@localhost zl003]$
Acl 对文件的访问控制 ---访问控制列表
对特殊用户,组 进行精细化权限控制
针对与由特殊需求的组和用户
用户 laozong既不是caiwu组,也不属于 拥有者 他是其他人 o=--- 没有权限
如何让 laozong访问 caiwu目录内的文件
使用命令 setfacl -m u/g设置权限用户/组:laozong:rx /caiwu
setfacl -x u/g去除权限用户/组:laozong /caiwu
[root@localhost ~]# ls -ld /caiwu
drwxr-x---. 2 root caiwu 6 10月 14 16:49 /caiwu
[root@localhost ~]# useradd laozong //添加用户老总
[root@localhost ~]# su - laozong
[laozong@localhost ~]$ cd /caiwu //没有开放权限不能使用
-bash: cd: /caiwu: 权限不够
[laozong@localhost ~]$ exit
登出
[root@localhost ~]# setfacl -m u:laozong:rx /caiwu //该财务目录添加laozong用户访问caiwu
[root@localhost ~]# ls -ld /caiwu
drwxr-x---+ 2 root caiwu 6 10月 14 16:49 /caiwu
[root@localhost ~]# getfacl /caiwu //查看caiwu信息 查看acl赋予用户laozong权限
getfacl: Removing leading '/' from absolute path names
# file: caiwu
# owner: root
# group: caiwu
user::rwx
user:laozong:r-x //laozong拥有读,执行权限
group::r-x
mask::r-x
other::---
[root@localhost ~]# su - laozong //进入laozong用户下可以访问caiwu
上一次登录:六 10月 14 19:58:24 CST 2023pts/0 上
[laozong@localhost ~]$ cd /caiwu
[laozong@localhost caiwu]$
-----------------------
特殊权限
Set gid的特殊权限 --继承权限(组) 修改的是组的x执行权限位置,用s表示 占用的是执行权限的位置,
针对目录
作用:用来使用当前目录下的文件,继承父目录的 组的信息
[root@localhost ~]# mkdir /fff //创建目录fff
[root@localhost ~]# groupadd jyz //创建组jyz
[root@localhost ~]# chown :jyz /fff 修改组为jyz
[root@localhost ~]# chmod g+s /fff // 给属组设置特殊权限 继承权限 属组jyz 没有+s则不会继承。(一定要先赋予权限,在fff目录下创建其他目录,则会赋予权限)
[root@localhost ~]# ls -ld /fff
drwxr-sr-x. 2 root jyz 6 10月 14 20:40 /fff
[root@localhost fff]# mkdir /fff/ddd //在fff下创建ddd
[root@localhost fff]# ls -ld /fff/ddd
drwxr-sr-x. 2 root jyz 6 10月 14 20:53 /fff/ddd //则 ddd也继承了
[root@localhost fff]# touch ddd.txt //创建文档ddd。Txt
[root@localhost fff]# ls
ddd ddd.txt
[root@localhost fff]# ls -ld /fff/ddd.txt
-rw-r--r--. 1 root jyz 0 10月 14 20:53 /fff/ddd.txt //则文档也继承了
[root@localhost fff]#
把组的权限g+s后执行权限存在。为s ,不存在则为S
[root@localhost caiwu]# ls -ld /caiwu(有执行权限是为s)
drwxr-s---+ 4 root caiwuzu 33 10月 16 13:34 /caiwu
[root@localhost ~]# chmod g-x /caiwu(没有执行权限是S)
[root@localhost ~]# ls -ld /caiwu
drwxr-S---+ 4 root caiwuzu 33 10月 16 13:34 /caiwu
[root@localhost ~]#
===============
Set uid 特殊权限 --s
继承用户拥有者的权限--执行权限
------------------
Ticky bit
针对文件 访问的---特殊权限
特殊权限显示 执行为 显示t
作用: 实现用户之间自己控制自己 创建文件的权限,不允许删除操作其他人的文件。
[root@localhost ~]# mkdir /public
[root@localhost ~]# useradd zyh
[root@localhost ~]# useradd zf
[root@localhost ~]# ls -ld /public
drwxr-xr-x. 2 root root 6 10月 16 14:17 /public
[root@localhost ~]# chmod 777 /public
[root@localhost ~]# ls -ld /public
drwxrwxrwx. 2 root root 6 10月 16 14:17 /public
[root@localhost ~]# su - zyh
[zyh@localhost ~]$ cd /public
[zyh@localhost public]$ touch jxj.txt
[zyh@localhost public]$ exit
登出
[root@localhost ~]# su - zf
[zf@localhost ~]$ cd /public
[zf@localhost public]$ touch kx.txt
[zf@localhost public]$ ls
jxj.txt kx.txt
[zf@localhost public]$ rm -rf jxj.txt //用户zf可以删除zyh创建的文件(没有加t)
[zf@localhost public]$ ls
kx.txt
[zf@localhost public]$ exit
登出
[root@localhost ~]# chmod o+t /public //该public目录加了t
[root@localhost ~]# ls -ld /public
drwxrwxrwt. 2 root root 20 10月 16 14:21 /public
[root@localhost ~]# su - zyh
上一次登录:一 10月 16 14:19:34 CST 2023pts/1 上
[zyh@localhost ~]$ cd /public
[zyh@localhost public]$ touch jxj1.txt
[zyh@localhost public]$ ls
jxj1.txt kx.txt
[zyh@localhost public]$ rm -rf kx.txt //此时zyh不能删除zf创建的目录
rm: 无法删除"kx.txt": 不允许的操作
[zyh@localhost public]$ exit
登出
[root@localhost ~]# su - zf
上一次登录:一 10月 16 14:20:04 CST 2023pts/1 上
最后一次失败的登录:一 10月 16 14:23:10 CST 2023pts/1 上
最有一次成功登录后有 1 次失败的登录尝试。
[zf@localhost ~]$ cd /public
[zf@localhost public]$ rm -rf jxj1.txt
rm: 无法删除"jxj1.txt": 不允许的操作
[zf@localhost public]$
----------------------------------------------------
将用户laoxi,访问 /etc/shadow 文件 的方法
1.修改其他人权限
[root@localhost ~]# useradd laoxi
[root@localhost ~]# chmod o=rwx /etc/shadow
[root@localhost ~]#
2.修改属组为laoxi
[root@localhost ~]# chown :laoxi /etc/shadow
[root@localhost ~]# ls -ld /etc/shadow
-------rwx. 1 root laoxi 2100 10月 17 21:17 /etc/shadow
[root@localhost ~]#
3.修改属主---拥有者
[root@localhost ~]# chown laoxi /etc/shadow
[root@localhost ~]# ls -ld /etc/shadow
-------rwx. 1 laoxi laoxi 2100 10月 17 21:17 /etc/shadow
[root@localhost ~]#
4.acl权限
[root@localhost ~]# setfacl -m u:laoxi:rwx /etc/shadow
[root@localhost ~]# getfacl /etc/shadow
-------------------------------
修改 组 id x+s ---组的信息继承下去
--关于目录信息
其他人 x 执行权限 +t ------ 限制普通用户权限
用户 uid x执行位 +s --不常用
--一般指的是执行程序 --提升权限
例:vim
[root@localhost ~]# mkdir /eee
[root@localhost ~]# ls -ld /eee
[root@localhost ~]# useradd wmxz //创建普通用户wmxz
[root@localhost ~]# cp /usr/bin/mkdir /usr/bin/wmdir //将执行命令做个复制备份起名wmdir
[root@localhost ~]# /usr/bin/wmdir deee //可以用绝对路劲方式执行命令,复制的命令与原命令一样
[root@localhost ~]# ls /root
[root@localhost ~]# ls -l /usr/bin/wmdir
-rwxr-xr-x. 1 root root 79760 10月 17 22:10 /usr/bin/wmdir
[root@localhost ~]# chmod u+s /usr/bin/wmdir //将复制的wmdir命令赋予uid特殊权限
[root@localhost ~]# ls -l /usr/bin/wmdir //用户权限的执行权限出s
-rwsr-xr-x. 1 root root 79760 10月 17 22:10 /usr/bin/wmdir
[root@localhost ~]# su - wmxz //切换普通用户
[wmxz@localhost ~]$ /usr/bin/mkdir ded //正常创建目录,拥有者位 普通用户wmxz
[wmxz@localhost ~]$ pwd
/home/wmxz
[wmxz@localhost ~]$ ls -ld /home/wmxz/ded
drwxrwxr-x. 2 wmxz wmxz 6 10月 17 22:12 /home/wmxz/ded
[wmxz@localhost ~]$ /usr/bin/wmdir /xex //使用赋予特殊权限命令创建目录,拥有者为 管理员root ,实现了提权
[wmxz@localhost ~]$ ls -ld /xex
drwxrwxr-x. 2 root wmxz 6 10月 17 22:12 /xex