diff --git "a/39 \345\221\250\350\211\263/homework/20240614-\347\224\250\346\210\267\344\270\216\346\235\203\351\231\220.md" "b/39 \345\221\250\350\211\263/homework/20240614-\347\224\250\346\210\267\344\270\216\346\235\203\351\231\220.md" new file mode 100644 index 0000000000000000000000000000000000000000..8c062a48540e46c510d8cc2e330874e5ec1d7eb9 --- /dev/null +++ "b/39 \345\221\250\350\211\263/homework/20240614-\347\224\250\346\210\267\344\270\216\346\235\203\351\231\220.md" @@ -0,0 +1,222 @@ +### 权限管理作业 + +1. 创建/guanli 目录,在/guanli下创建zonghe 和 jishu 两个目录(一条命令) + + ```bash + qq@iZf8zfcpducv0jeuu04xmhZ:~$ mkdir guanli + qq@iZf8zfcpducv0jeuu04xmhZ:~$ cd + qq@iZf8zfcpducv0jeuu04xmhZ:~$ cd guanli/ + qq@iZf8zfcpducv0jeuu04xmhZ:~/guanli$ mkdir zonghe jishu + qq@iZf8zfcpducv0jeuu04xmhZ:~/guanli$ tree ~ + /home/qq + └── guanli + ├── jishu + └── zonghe + ``` + + + +2. 添加组帐号zonghe、caiwu、jishu,GID号分别设置为2001、2002、2003 + + ```bash + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo groupadd -g 2001 zonghe + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo groupadd -g 2002 jishu + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo groupadd -g 2003 caiwu + ``` + +3. 创建jerry、kylin、tsengia、obama用户,其中的kylin用户帐号在2020年12月30日后失效 + + ```bash + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo useradd -m -s /bin/bash jerry + qq@iZf8zfcpducv0jeuu04xmhZ:~$ ssudo useradd -e 2020-12-30 kylin + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo useradd -m -s /bin/bash tsengia + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo useradd -m -s /bin/bash obama + + #第二种方法 + qq@iZf8zfcpducv0jeuu04xmhZ:~$sudo useradd jerry && useradd -e 2020-12-30 kylin && useradd tsengia && useradd obama + ``` + + + +4. 将jerry、kylin、tsengia、obama等用户添加到zonghe组内 + + ```bash + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo gpasswd -M jerry,kylin,tsengia,obama zonghe + #将用户添加到用户组内:gpasswd -M 用户名(可以有多个用户) 组名 + ``` + + + +5. 创建handy、cucci用户,其中cucci帐号的登录Shell设置为“/sbin/nologin” + + ```bash + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo useradd -m -s /bin/bash handy + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo useradd -m -s /bin/bash cucci + #usermod:修改用户 + #将用户的登录Shell设置为“/sbin/nologin” + #usermod -s 目录名 用户名 + #-s:shell设置 + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo usermod -s /sbin/nologin cucci + + ``` + + + +6. 将handy、cucci等用户添加到jishu组内 + + ```bash + #将用户添加到用户组内:gpasswd -M 用户名(可以有多个用户) 组名 + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo gpasswd -M handy,cucci jishu + ``` + + + +7. 将上述的所有用户均要求加入到guanli组内 + + ```bash + #如果没有组要先创建组,才能将用户添加到组内 + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo groupadd guanli + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo gpasswd -M jerry,kylin,tsengia,obama,handy,cucci guanli + ``` + + + +8. 将zonghe组内的obama用户删除 + + ```bash + #将组内的用户删除:gpasswd -d 用户名 组名 + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo gpasswd -d obama zonghe + Removing user obama from group zonghe + ``` + + + +9. 为jerry用户设置密码为“123456”(使用普通方法)为cucci用户设置密码为“redhat” + + ```bash + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo passwd jerry + New password: + Retype new password: + passwd: password updated successfully + + passwd: password unchanged + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo passwd cucci + New password: + Retype new password: + passwd: password updated successfully + ``` + + + +10. 将jerry用户锁定,并查看锁定状态 + + ```bash + #锁定用户 :usermod -L 用户名 + #查看锁定状态:passwd -S 用户名 + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo usermod -L jerry + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo passwd -S jerry + jerry L 2024-06-14 0 99999 7 -1 + ``` + + + +11. 打开两个xshell窗口,通过(who 或者 w)命令查看连接状态,并通过fuser杀掉其中一个 + + ```bash + + ``` + + + +12. 查看cucci用户,属于那些组,并查看其详细信息 + + ```bash + #查看用户属于哪个组:groups 用户名 + #查看其详细信息:finger 用户名 + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo groups cucci + cucci : cucci jishu guanli + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo finger cucci + ``` + + + +13. 手工创建账号student(预留) + + ```bash + + ``` + + + +14. 设置权限及归属:/guanli目录属组设为guanli, /guanli/zonghe目录的属组设为zonghe /guanli/jishu目录的属组设为jishu,设置3个目录都是禁止其他用户访问的权限 + + ```bash + #设置权限及归属:chown 用户名 目录名 + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo chown guanli /guanli + chown: invalid user: ‘guanli’ + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo chown zonghe /guanli/zonghe + chown: invalid user: ‘zonghe’ + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo chown jishu /guanli/jishu + chown: invalid user: ‘jishu’ + #设置3个目录都是禁止其他用户访问的权限: + #chomd -R -o-rwx 目录名 + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo chmod -R -o-rwx guanli + ``` + +15. 建立公共目录/ceshi允许技术组内的所有用户读取、写入、执行文件, 禁止其他用户读、写、执行 + + ```bash + qq@iZf8zfcpducv0jeuu04xmhZ:~$ mkdir ceshi + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo chown jishu /ceshi + chown: invalid user: ‘jishu’ + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo chmod g=rwx,o-rwx /ceshi + ``` + + + +16. 清除jerry用户密码 + + ```bash + #passwd -d :删除密码 + qq@iZf8zfcpducv0jeuu04xmhZ:~$ passwd -d jerry + passwd: Permission denied. + ``` + +17. 锁定cucci用户密码并查看状态 + + ```bash + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo passwd -l cucci + passwd: password changed. + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo passwd -S cucci + cucci L 2024-06-14 0 99999 7 -1 + ``` + + + +18. 修改obama用户的UID为8888 + + ```bash + #修改用户的UID:usermod -u UID号 用户名 + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo usermod -u 8888 obama + ``` + +19. 通过passwd命令修改kylin用户的最长密码使用期限为60天 + + ```bash + #修改用户的最长密码使用期 : passwd -x 天数 用户名 + qq@iZf8zfcpducv0jeuu04xmhZ:~$ sudo passwd -x 60 kylin + passwd: password changed. + ``` + +20. 通过id groups等命令查看用户handy信息 + + ```bash + qq@iZf8zfcpducv0jeuu04xmhZ:~$ id handy + uid=1012(handy) gid=1012(handy) groups=1012(handy),2002(jishu),2005(guanli) + + qq@iZf8zfcpducv0jeuu04xmhZ:~$ groups handy + handy : handy jishu guanli + + ``` + + \ No newline at end of file diff --git "a/39 \345\221\250\350\211\263/note/20240614-\347\224\250\346\210\267\344\270\216\346\235\203\351\231\220.md" "b/39 \345\221\250\350\211\263/note/20240614-\347\224\250\346\210\267\344\270\216\346\235\203\351\231\220.md" new file mode 100644 index 0000000000000000000000000000000000000000..319dc7b9d1acb7a07a1b8b636e227f2614ef9d88 --- /dev/null +++ "b/39 \345\221\250\350\211\263/note/20240614-\347\224\250\346\210\267\344\270\216\346\235\203\351\231\220.md" @@ -0,0 +1,118 @@ +#### 用户与权限 + +##### 用户与用户组 + +1. 用户管理 + + * 添加用户 + + * useradd 原生底层命令 + + ```bash + useradd -m -s /bin/bash 用户名 + ``` + + * adduser 加强版命令 + + * 删除用户 + + * userdel -r :删除用户和家目录和邮件目录 + + * 修改用户 + + * usermod + + ```bash + usermod -g 组名 用户名 + usermod -G 组名 用户名 #修改附加组 + usermod -aG 用户名 #给用户添加一个附加组 + ``` + + * 用户的三个基本属性 + + * 用户id + * 主用户组id + * 附加用户组id + + * 查看用户信息 + + * id 用户名 + * passwd + + * passwd 用户名:给用户设置密码 + + * passwd 修改当前用户的密码 + +2. 用户组管理 + + * 添加用户组 + * groupadd 组名 + + * 删除用户组 + + * ```bash + usermod -g 用户名 组名 #修改用主组 + groupdel 组名 #删除用户组 + ``` + + * 修改用户组 + + * groupmod -g 888 用户名 + +##### 文件与目录权限 + +1. 基本权限 + + * 读read(r):文件是可以读取内容,目录可以浏览目录信息 + + * 写write(w):文件可以修改,目录可以创建,修改,删除文件、目录 + * 执行execute(x):文件就执行该文件,目录可以进入该目录 + +2. 权限的表示方式 + + * 字符 r w x + * 数字 + * 4:读 + * 2:写 + * 1:执行 + +3. 权限管理 + + * 修改权限(chmod) + + ```bash + chmod 数字权限表示 文件名 + chmod 数字字符表示 文件名 + ``` + + * u:拥有者 + * g:拥有者所在的组 + * o:除以上两者外的其他人 + * a:所有人 + * +:不改变原有的权限基础上添加权限 + * -:不改变原有的权限基础上删除权限 + * =:覆盖所有权限 + +4. 修改拥有者 + + ```bash + chown 用户名 文件名 + ``` + +5. 修改拥有者的组 + + ```bash + chgrp 用户组名 文件名 + ``` + +6. 文件权限的表示方式(前10 位) + + * 第一位 + * d:目录 + * -:普通文件 + * |:链接 + * d s c p 等其他文件 + * 后面3位一组 + * 2-4:拥有者的权限 + * 5-7:文件所属用户组的权限 + * 8-10:其他用户的权限 \ No newline at end of file