diff --git "a/40\346\236\227\346\200\241\347\220\264/.~20240612_\351\207\215\345\256\232\345\220\221\357\274\214\347\256\241\351\201\223.md" "b/40\346\236\227\346\200\241\347\220\264/.~20240612_\351\207\215\345\256\232\345\220\221\357\274\214\347\256\241\351\201\223.md" deleted file mode 100644 index 86222f7bb9cd3510f0af29d23c0283a501e64fc1..0000000000000000000000000000000000000000 --- "a/40\346\236\227\346\200\241\347\220\264/.~20240612_\351\207\215\345\256\232\345\220\221\357\274\214\347\256\241\351\201\223.md" +++ /dev/null @@ -1,100 +0,0 @@ -##### 重定向 - -- 特殊定向符: - - 1. **>** 输出覆盖定向 - - 2. **>>** 输出追加定向 - - - `0`:标准输入: 键盘输入 - - - `1`:标准输出: 直接显示在屏幕 **不包含错误信息 ** - - ```bash - 1>1.txt 或者 >1.txt ##将正确信息覆盖保存到1.txt - 1>>1.txt 或者 >>1.txt ##将正确信息追加保存到1.txt - ``` - - - `2`:标准错误: 只包含错误信息 - - ```bash - 2>1.txt ##错误信息覆盖保存到1.txt - 2>>1.txt ##错误信息追加保存到1.txt - ``` - - 3. **&** 同时定向标准输出和错误输出 - - ```bash - (555 || echo 78965) >1.txt 2>1.txt - (555 || echo 78965) &>1.txt - (555 || echo 78965) >1.txt 2>&1 - - ##输出正确的信息覆盖到1.txt,错误信息覆盖到1.txt - ##追加&>>同上 - ``` - - 4. **|** 管道 - - - 左边输出的作为右边的输入 - - ```bash - cd 0528/ |find -name "*.log" - ##切换到0528 ##并且找到关键字为.log的后缀 - ``` - - 5. **< >** 输入输出同时使用 - - ```bash - sort -n < num.txt >num1.txt ## 输入整行数字的排序,并且输出到num1.txt - ``` - - 6. **/dev/null** 丢弃 - - ```bash - (555 || echo 78965) >/dev/null 2>1.txt - ## 正确的信息丢弃在/dev/null - ##错误的信息覆盖保存到1.txt - ``` - -### tee - -- 选项 - - 1. **-a**:追加行写入文件而不是覆盖。 - - ```BASH - echo 4444 | tee -a 8.txt ##在末尾追加一条 - ``` - - 2. **-i**:忽略中断信号。 - -```bash -echo 123 | tee {1..3}.txt ##相当于 echo 123 >1.txt -``` - -```bash -tee 文件.txt ##可以直接插入文本 -## 相当于 vim 文件.txt -``` - - - - - -##### 作业 - -1. << 是什么功能? - - ```bash - 是个嵌入多行文本作为输入 - - cat << 自定义的结束标记 >文件.txt - ``` - - ![image-20240613183529465](./imgs/image-20240613183529465.png) - -2. ()把命令包括起来,是干什么功能? - -- 括号内的命令作为一个整体被执行,可以帮助组合多个命令,让它们看起来像一个单一的命令单元。这对需要按顺序执行一系列命令且希望它们作为一个整体考虑时非常有用。 - - diff --git "a/40\346\236\227\346\200\241\347\220\264/20240615_\347\224\250\346\210\267\345\222\214\347\224\250\346\210\267\347\273\204\347\256\241\347\220\206.md" "b/40\346\236\227\346\200\241\347\220\264/20240615_\347\224\250\346\210\267\345\222\214\347\224\250\346\210\267\347\273\204\347\256\241\347\220\206.md" new file mode 100644 index 0000000000000000000000000000000000000000..82f6559f6a461e89ed60292eafabef9e0b56626f --- /dev/null +++ "b/40\346\236\227\346\200\241\347\220\264/20240615_\347\224\250\346\210\267\345\222\214\347\224\250\346\210\267\347\273\204\347\256\241\347\220\206.md" @@ -0,0 +1,235 @@ +## 用户和用户组管理 + +- 用户管理 + - 添加账户 useradd -m -s /bin/bash db2 + - 删除账户 userdel -r db2 + - 修改账户 usermod [选项同添加账户] db2 + - 查看帐户 getent passwd db2 +- 用户组管理 + - 添加用户组 groupadd stu1 + - 删除用户组 groupdel stu1 + - 添加用户到用户组 usermod -aG stu1 db2 +- 密码管理 + - 设置密码 passwd +- sudo权限管理 + - usermod -aG sudo xxx + - 修改/etc/sudoers文件 +- 登录权限管理 +- 用户环境管理 + - 用户配置文件 : .bashrc + - 用户环境变量: $PATH、$HOME、$SHELL + +## 文件与目录的权限管理 + +- https://www.runoob.com/linux/linux-file-attr-permission.html + + ![20240605092950](./imgs/20240605092950.png) + +- 文件类型 + - -普通文件 + - d目录 + - l连接文件 + - b c s p 等其它文件 + +- 基本权限 + - r 读 + - w 写 + - x 执行 + +- 权限表示 + - 字符表示 + - 数字表示 + - 4 代表 r + - 2 代表 w + - 1 代表 x + - 权限修改 + - chmod 修改权限 + - chown 修改拥有者 + - chgrp 修改所属组 + - 权限的继承 + - 目录权限下文件和目录的影响 + - umask + - 特权权限 + - SUID + - SGID + - SBIT + - 隐藏权限 + - i + - 用在文件上,无法对该文件进行任何修改 + - 用在目录上,无法在里面创建新文件,但可以修改已有文件 + - a + - 除了可追加内容外,无法进行其它修改 + - 隐藏权限的操作 + - 修改隐藏权限 chattr + - chattr +i XXX + - chattr -i XXX + - 查看隐藏权限 + - lsattr + + + +### 权限管理练习 + +1. 创建/guanli 目录,在/guanli下创建zonghe 和 jishu 两个目录(一条命令) + + ```bash + mkdir -p guanli/{zonghe,jishu} + ``` + +2. 添加组帐号zonghe、caiwu、jishu,GID号分别设置为2001、2002、2003 + + ```bash + sudo groupadd -g 2001 zonghe + sudo groupadd -g 2002 caiwu + sudo groupadd -g 2003 jishu + + cat /etc/group ###查看组账号信息 + ``` + + ![image-20240614112237661](./imgs/image-20240614112237661.png) + +3. 创建jerry、kylin、tsengia、obama用户,其中的kylin用户帐号在2020年12月30日后失效 + + ```bash + adduser jerry + adduser kylin + adduser tsengia + adduser obama + usermod -e 2020-12-31 kylin ## 账户到期时间 + chage -l kylin ##查看是否设置好到期时间 + ``` + + ![image-20240614220033935](./imgs/image-20240614220033935.png) + +4. 将jerry、kylin、tsengia、obama等用户添加到zonghe组内 + + ```bash + gpasswd -M jerry,kylin,tsengia,obama zonghe + ``` + + ![image-20240614221918715](./imgs/image-20240614221918715.png) + +5. 创建handy、cucci用户,其中cucci帐号的登录Shell设置为“/sbin/nologin” + + ```bash + adduser handy & adduser cucci + usermod -s /sbin/nologin cucci + cat /etc/passwd + ``` + + ![image-20240614222408517](./imgs/image-20240614222408517.png) + +6. 将handy、cucci等用户添加到jishu组内 + + ```bash + gpasswd -M handy,cucci jishu + ``` + + ![image-20240614222727653](./imgs/image-20240614222727653.png) + +7. 将上述的所有用户均要求加入到guanli组内 + + ```bash + groupadd guanli + gpasswd -M jerry,kylin,tsengia,obama,handy,cucci guanli + ``` + + ![image-20240614223545045](./imgs/image-20240614223545045.png) + +8. 将zonghe组内的obama用户删除 + + ```bash + gpasswd -d obama zonghe + ``` + + ![image-20240614224330771](./imgs/image-20240614224330771.png) + +9. 为jerry用户设置密码为“123456”(使用普通方法)为cucci用户设置密码为“redhat” + + ```bash + passwd jerry + passwd cucci + ``` + + ![image-20240614224641133](./imgs/image-20240614224641133.png) + +10. 将jerry用户锁定,并查看锁定状态 + + ```bash + passwd -l jerry + ``` + +11. 打开两个xshell窗口,通过(who 或者 w)命令查看连接状态,并通过fuser杀掉其中一个 + + ```bash + who 或者 w ##查看当前连接状态 + apt install psmisc + fuser -k /dev/pts/3 ##杀死 + ``` + +12. 查看cucci用户,属于那些组,并查看其详细信息 + + ```bash + groups cucci ##查看cucci用户属于哪些组 + apt install finger ##安装finger + finger cucci ##查看用户的详细信息 + ``` + +13. 手工创建账号student(预留) + + ```bash + #没理解 + ``` + +14. 设置权限及归属:/guanli目录属组设为guanli, /guanli/zonghe目录的属组设为zonghe /guanli/jishu目录的属组设为jishu,设置3个目录都是禁止其他用户访问的权限 + + ```bash + chown guanli /guanli + chown zonghe /guanli/zonghe + chown jishu /guanli/jishu + chmod -R -o-rwx guanli + ``` + +15. 建立公共目录/ceshi允许技术组内的所有用户读取、写入、执行文件, 禁止其他用户读、写、执行 + + ```bash + mkdir ceshi + chown jishu /ceshi + chmod g=rwx,o-rwx ./ceshi/ + ``` + + ![image-20240614235326771](./imgs/image-20240614235326771.png) + +16. 清除jerry用户密码 + + ```bash + passwd -d jerry + ``` + +17. 锁定cucci用户密码并查看状态 + + ```bash + passwd -l cucci + passwd -S cucci + ``` + +18. 修改obama用户的UID为8888 + + ```bash + usermod -u 8888 obama + ``` + +19. 通过passwd命令修改kylin用户的最长密码使用期限为60天 + + ```bash + passwd -x 60 kylin + ``` + +20. 通过id groups等命令查看用户handy信息 + + ```bash + id handy + groups handy + ``` + + diff --git "a/40\346\236\227\346\200\241\347\220\264/imgs/20240605092950.png" "b/40\346\236\227\346\200\241\347\220\264/imgs/20240605092950.png" new file mode 100644 index 0000000000000000000000000000000000000000..01bee7f696e7af59d62f091d32a95186c31b30c2 Binary files /dev/null and "b/40\346\236\227\346\200\241\347\220\264/imgs/20240605092950.png" differ diff --git "a/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614112237661.png" "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614112237661.png" new file mode 100644 index 0000000000000000000000000000000000000000..90295caa67806a8a6e71d811501381bd0f201fdc Binary files /dev/null and "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614112237661.png" differ diff --git "a/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614220033935.png" "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614220033935.png" new file mode 100644 index 0000000000000000000000000000000000000000..9a9fbf5460c07073eae927a93f699eac563ab821 Binary files /dev/null and "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614220033935.png" differ diff --git "a/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614221918715.png" "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614221918715.png" new file mode 100644 index 0000000000000000000000000000000000000000..70b75f567afc5d2c1c42307937e9ed8c1a06dc68 Binary files /dev/null and "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614221918715.png" differ diff --git "a/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614222408517.png" "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614222408517.png" new file mode 100644 index 0000000000000000000000000000000000000000..8f6dcb91fded957d73e93c4b50459d157f5d1c79 Binary files /dev/null and "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614222408517.png" differ diff --git "a/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614222727653.png" "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614222727653.png" new file mode 100644 index 0000000000000000000000000000000000000000..62a9c4648d276918a870fb5eb8042a90faa54622 Binary files /dev/null and "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614222727653.png" differ diff --git "a/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614223545045.png" "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614223545045.png" new file mode 100644 index 0000000000000000000000000000000000000000..66edb747e2765e578837c20b594f0033faabc94c Binary files /dev/null and "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614223545045.png" differ diff --git "a/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614224330771.png" "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614224330771.png" new file mode 100644 index 0000000000000000000000000000000000000000..122d6868e2595ecb1adf899be70b7fa46075d975 Binary files /dev/null and "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614224330771.png" differ diff --git "a/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614224641133.png" "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614224641133.png" new file mode 100644 index 0000000000000000000000000000000000000000..d97f8edfd9f307ac6edb0a6606e19baf93f9235d Binary files /dev/null and "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614224641133.png" differ diff --git "a/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614235326771.png" "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614235326771.png" new file mode 100644 index 0000000000000000000000000000000000000000..c495835cfd3585f4a0d088194d5c766939abec2d Binary files /dev/null and "b/40\346\236\227\346\200\241\347\220\264/imgs/image-20240614235326771.png" differ