From 62d364008ef64af6574546dd7ac8146e5c3bdf42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=BE=B7=E5=BA=B7?= <1669327472@qq.com> Date: Sun, 16 Jun 2024 19:44:56 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=B8=8E=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...67\347\273\204\347\256\241\347\220\206.md" | 278 ++++++++++++++++++ 1 file changed, 278 insertions(+) create mode 100644 "\345\274\240\345\276\267\345\272\267/\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" diff --git "a/\345\274\240\345\276\267\345\272\267/\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/\345\274\240\345\276\267\345\272\267/\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 0000000..26adcf3 --- /dev/null +++ "b/\345\274\240\345\276\267\345\272\267/\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,278 @@ +## 用户和用户组管理 + +- 用户管理 + - 添加账户 useradd -m -s /bin/bash db2 + + ``` + -e 设置时间后失效 + ``` + + - 删除账户 userdel -r db2 + + - 修改账户 usermod [选项同添加账户] db2 + + - 查看帐户 getent passwd db2 + +- 用户组管理 + + - 添加用户组 groupadd stu1 + - 查看用户在那个组 groups stu1 + - 删除用户组 groupdel stu1 + - 添加用户到用户组 usermod -aG stu1 db2 + +- 密码管理 + - 设置密码 passwd + + ``` + -S:查询用户密码的状态,也就是 /etc/shadow 文件中此用户密码的内容。仅 root 用户可用; + + -l:暂时锁定用户,该选项会在 /etc/shadow 文件中指定用户的加密密码串前添加 "!",使密码失效。仅 root 用户可用; + + -u:解锁用户,和 -l 选项相对应,也是只能 root 用户使用; + + --stdin:可以将通过管道符输出的数据作为用户的密码。主要在批量添加用户时使用; + + -n 天数:设置该用户修改密码后,多长时间不能再次修改密码,也就是修改 /etc/shadow 文件中各行密码的第 4 个字段; + + -x 天数:设置该用户的密码有效期,对应 /etc/shadow 文件中各行密码的第 5 个字段; + + -w 天数:设置用户密码过期前的警告天数,对于 /etc/shadow 文件中各行密码的第 6 个字段; + + -i 日期:设置用户密码失效日期,对应 /etc/shadow 文件中各行密码的第 7 个字段。 + ``` + + + +- sudo权限管理 + - usermod -aG sudo xxx + - -a追加 + - 修改/etc/sudoers文件 + +- 登录权限管理 + +- 用户环境管理 + - 用户配置文件 : .bashrc + - 用户环境变量: $PATH、$HOME、$SHELL + +## 文件与目录的权限管理 + +- https://www.runoob.com/linux/linux-file-attr-permission.html + + ![20240605092950](./assets/20240605092950.png) + +- 文件类型 + - -普通文件 + - d目录 + - l连接文件 + - b c s p 等其它文件 + +- 基本权限 + - r 读 + - w 写 + - x 执行 + +- 权限表示 + - 字符表示 + + - 数字表示 + - 4 代表 r + - 2 代表 w + - 1 代表 x + + - 权限修改 + - chmod 修改权限 + + ``` + -R:递归修改目录及其子目录下的所有文件和目录权限。 + -v:显示命令执行过程中修改的文件或目录的权限信息。 + -c:只在修改了文件或目录的权限时才显示其详细信息。 + -f:不显示错误信息。 + u:代表用户(owner),即文件或目录的所有者。 + g:代表用户组(group),即文件或目录所属的组。 + o:代表其他用户(others),即除了文件或目录所有者和所属组的其他用户。 + a:代表所有用户(all),即 u、g 和 o 的合集。 + +:增加指定权限。 + -:取消指定权限。 + =:设置指定权限,覆盖原有的权限。 + ``` + + - chown 修改拥有者 + + ``` + chown 修改拥有者 文件 + ``` + + - chgrp 修改所属组 + + - 权限的继承 + - 目录权限下文件和目录的影响 + - umask + + - 特权权限 + - SUID + - SGID + - SBIT + + - 隐藏权限 + - i + - 用在文件上,无法对该文件进行任何修改 + - 用在目录上,无法在里面创建新文件,但可以修改已有文件 + - a + - 除了可追加内容外,无法进行其它修改 + - 隐藏权限的操作 + - 修改隐藏权限 chattr + - chattr +i XXX + - chattr -i XXX + - 查看隐藏权限 + - lsattr + + + +### 权限管理练习 + +1. 创建/guanli 目录,在/guanli下创建zonghe 和 jishu 两个目录(一条命令) + + ``` + mkdir guanli guanli/zonghe- guanli/jishu + ``` + +2. 添加组帐号zonghe、caiwu、jishu,GID号分别设置为2001、2002、2003 + + ``` + groupadd -g 2001 zonghe + groupadd -g 2002 caiwu + groupadd -g 2003 jishu + ``` + +3. 创建jerry、kylin、tsengia、obama用户,其中的kylin用户帐号在2020年12月30日后失效 + + ``` + useradd jerry + useradd obama + useradd tsengia + useradd -e 2024-12-30 kylin + ``` + +4. 将jerry、kylin、tsengia、obama等用户添加到zonghe组内 + + ``` + gpasswd -a jerry zonghe + gpasswd -a kylin zonghe + gpasswd -a tsengia zonghe + gpasswd -a obama zonghe + -a 添加用户 + -d 删除用户 + ``` + +5. 创建handy、cucci用户,其中cucci帐号的登录Shell设置为“/sbin/nologin” + + ``` + usermod handy -s /sbin/nologin + -s 登录设置shell + ``` + +6. 将handy、cucci等用户添加到jishu组内 + + ``` + gpasswd -a handy jishu + gpasswd -a cucci jishu + ``` + +7. 将上述的所有用户均要求加入到guanli组内 + + ``` + + ``` + +8. 将zonghe组内的obama用户删除 + + ``` + gpasswd -d obama zongle + ``` + +9. 为jerry用户设置密码为“123456”(使用普通方法)为cucci用户设置密码为“redhat” + + ``` + usermod jerry + usermod cucci + ``` + +10. 将jerry用户锁定,并查看锁定状态 + + ``` + passwd -l jerry l锁定 u解锁 + passwd -S jerry + ``` + +11. 打开两个xshell窗口,通过(who 或者 w)命令查看连接状态,并通过fuser杀掉其中一个 + + ``` + who + ``` + +12. 查看cucci用户,属于那些组,并查看其详细信息 + + ``` + getent passwd cucci + ``` + +13. 手工创建账号student(预留) + + ``` + useradd student + ``` + +14. 设置权限及归属:/guanli目录属组设为guanli, /guanli/zonghe目录的属组设为zonghe /guanli/jishu目录的属组设为jishu,设置3个目录都是禁止其他用户访问的权限 + + ``` + chgrp guanli guanli + chmod o-r guanli + o 代表其他用户 + ``` + +15. 建立公共目录/ceshi允许技术组内的所有用户读取、写入、执行文件, 禁止其他用户读、写、执行 + + ``` + mkdir ceshi + chgrp jishu ceshi + chmod o-rwx,g+rwx ceshi + g 代表组内用户 + ``` + +16. 清除jerry用户密码 + + ``` + passwd -d jerry + d 删除 + ``` + +17. 锁定cucci用户密码并查看状态 + + ``` + passwd -l cucci + l 锁定 + ``` + +18. 修改obama用户的UID为8888 + + ``` + usermod -u 8888 obama + u 为uid + ``` + +19. 通过passwd命令修改kylin用户的最长密码使用期限为60天 + + ``` + passwd -x 60 kylin + -x 设置用户密码期限 + ``` + +20. 通过id groups等命令查看用户handy信息 + + ``` + id handy + groups handy + ``` + + + -- Gitee