diff --git "a/17\351\273\204\344\270\275\345\207\244/2024.06.14-\347\224\250\346\210\267\344\270\216\346\235\203\351\231\220.md" "b/17\351\273\204\344\270\275\345\207\244/2024.06.14-\347\224\250\346\210\267\344\270\216\346\235\203\351\231\220.md" new file mode 100644 index 0000000000000000000000000000000000000000..ca83d00d3ce9d7b6fbbe3c1e8d2155c70d256a73 --- /dev/null +++ "b/17\351\273\204\344\270\275\345\207\244/2024.06.14-\347\224\250\346\210\267\344\270\216\346\235\203\351\231\220.md" @@ -0,0 +1,303 @@ +## 用户与权限 + +#### 用户与用户组 + +###### 用户管理 + +​ 添加用户:useradd -m -s /bin/bash 用户名 # 创建用户,指定家目录,指定bash脚本 + +​ 删除用户:userdel -r 用户名 #递归删除用户和目录 + +​ 修改用户:usermod -aG 组名 用户名 #给用户追加一个附加组 + +###### 查看用户信息 + +​ id 用户名 #指定用户名,只查看指定的用户信息 + +​ passwd # 没有指定用户名,查看所有用户 + +###### 用户三个基本属性 + +​ 用户id ,主用户组id,附加用户组id + +###### 给用户设置密码 + +​ passwd 用户名 #给这个用户设置密码 + +​ 如果没有指定用户名,给当前用户设置密码 + +###### 删除密码 + +​ passwd -d 用户名 # 删除用户密码 + + + +#### 用户组管理 + +- 添加用户组 groupadd 用户组名 +- 删除用户组 groupdel 用户组名 +- 添加用户到用户组 usermod -aG 用户组名 用户名 + +#### 用户环境管理 + +- 用户配置文件 : .bashrc +- 用户环境变量: $PATH、$HOME、$SHELL + +## 文件与目录的权限管理 + +https://www.runoob.com/linux/linux-file-attr-permission.html + + + +#### 文件类型 + +​ 普通文件 + +​ d目录 + +​ l连接文件 + +​ b c s p 等其它文件 + +#### 基本权限 + +​ 读,read,简写r,文件可读取内容,可以浏览目录 + +​ 写,write,简写w,文件可以修改内容,目录,可以在里面创建,修改,删除 + +​ 执行,execute,简写x,文件可执行,可以进入该目录 + +#### 权限表示方式 + +​ 字符表示:r,w,x + +​ 数字表示:4代表r + +​ 2代表w + +​ 1代表x + +​ 7是最高权限,---无任何权限 + +​ 每3位为一组,有拥有者,组,其他人 + +例如:d rw- r-- r-- d是文件类型,rw-是拥有者的权限,r--是组的权限,r--是其他人的权限 + +#### 权限管理的命令 + +##### 修改权限 chmod + +​ chmod 数字权限表示 文件名 + +​ 例如:chmod 777 文件名 # 都有可读可写可执行权限 + +​ chmod 字母权限表示 文件名 + +​ 例如 chmod u-x 文件名 # 给这个文件的拥有者去掉可执行权限 + +​ chmod u+w 文件名 # 给这个文件的拥有者添加可写权限 + +​ u是拥有者,g是组,o是其他人,a是给所有者 + +​ +(加)是增加,在原有基础上 + + -(减)是去除 ,在原有基础上 + +​ =(等于)是替换 数字和字母都可以使用= + +##### 修改拥护者 + +​ chown 拥有者名 文件名 + +​ 例如:chown hhh 1.txt + +##### 修改拥有者的组 + +​ chgrp 拥有者的组名 文件名 + +​ 例如:chgrp root b.txt + +-R 递归修改,文件夹下的文件也修改 + + + +- 特权权限 + - SUID + - SGID + - SBIT +- 隐藏权限 + - i + - 用在文件上,无法对该文件进行任何修改 + - 用在目录上,无法在里面创建新文件,但可以修改已有文件 + - a + - 除了可追加内容外,无法进行其它修改 + - 隐藏权限的操作 + - 修改隐藏权限 chattr + - chattr +i XXX + - chattr -i XXX + - 查看隐藏权限 + - lsattr + + + +### 权限管理练习 + +1. 创建/guanli 目录,在/guanli下创建zonghe 和 jishu 两个目录(一条命令) + + ``` + mkdir -pv guanli/{zonghe,jishu} + ``` + +2. 添加组帐号zonghe、caiwu、jishu,GID号分别设置为2001、2002、2003 + + ``` + root@hecs-70976:~# groupadd -g 2001 zonghe + root@hecs-70976:~# groupadd -g 2002 caiwu + root@hecs-70976:~# groupadd -g 2003 jishu + 查看组账号:cat /etc/group + 查看特定的组帐号:grep "^zonghe\|^caiwu\|^jishu" /etc/group + ``` + +3. 创建jerry、kylin、tsengia、obama用户,其中的kylin用户帐号在2020年12月30日后失效 + + ``` + sudo useradd jerry + sudo useradd tsengia + sudo useradd obama + sudo useradd -e 2020-12-30 kylin + -e 指定账号失效日期 + ``` + +4. 将jerry、kylin、tsengia、obama等用户添加到zonghe组内 + + ``` + sudo usermod -aG zonghe jerry + sudo usermod -aG zonghe kylin + sudo usermod -aG zonghe tsengia + sudo usermod -aG zonghe obama + -aG 选项用于添加用户到指定的组 + ``` + +5. 创建handy、cucci用户,其中cucci帐号的登录Shell设置为“/sbin/nologin” + + ``` + sudo useradd handy + sudo useradd -s /sbin/nologin cucci + ``` + +6. 将handy、cucci等用户添加到jishu组内 + + ``` + sudo usermod -aG jishu handy + sudo usermod -aG jishu cucci + ``` + +7. 将上述的所有用户均要求加入到guanli组内 + + ``` + sudo usermod -aG guanli jerry + sudo usermod -aG guanli kylin + sudo usermod -aG guanli tsengia + sudo usermod -aG guanli obama + sudo usermod -aG guanli handy + sudo usermod -aG guanli cucci + ``` + +8. 将zonghe组内的obama用户删除 + + ``` + sudo gpasswd -d obama zonghe + ``` + +9. 为jerry用户设置密码为“123456”(使用普通方法)为cucci用户设置密码为“redhat” + + ``` + sudo passwd jerry + sudo passwd cucci + ``` + +10. 将jerry用户锁定,并查看锁定状态 + + ``` + 锁定jerry用户:sudo passwd --lock jerry + 查看jerry用户的锁定状态:sudo passwd --status jerry + 解锁jerry用户:sudo passwd --unlock jerry + ``` + +11. 打开两个xshell窗口,通过(who 或者 w)命令查看连接状态,并通过fuser杀掉其中一 + + ``` + sudo apt-get install psmisc #下载 fuser 安装包 + sudo fuser -k /dev/pts/2 + ``` + +12. 查看cucci用户,属于那些组,并查看其详细信息 + + ``` + 查看cucci用户属于哪些组:groups cucci + 查看cucci用户的详细信息:id cucci + 查看cucci 用户的更详细信息:getent passwd cucci + ``` + +13. 手工创建账号student(预留) + + ``` + + ``` + +14. 设置权限及归属:/guanli目录属组设为guanli, /guanli/zonghe目录的属组设为zonghe /guanli/jishu目录的属组设为jishu,设置3个目录都是禁止其他用户访问的权限 + + ``` + sudo chown :guanli /guanli + sudo chmod 770 /guanli + + sudo chown :zonghe /guanli/zonghe + sudo chmod 770 /guanli/zonghe + + sudo chown :jishu /guanli/jishu + sudo chmod 770 /guanli/jishu + ``` + +15. 建立公共目录/ceshi允许技术组内的所有用户读取、写入、执行文件, 禁止其他用户读、写、执行 + + ``` + 创建 /ceshi 目录:sudo mkdir /ceshi + 设置 /ceshi 目录的属组为 jishu(假设技术组的名称为 jishu): + sudo chown :jishu /ceshi + 授予技术组内的所有用户读取、写入、执行权限,以及禁止其他用户读取、写入、执行权限: + sudo chmod 770 /ceshi + ``` + +16. 清除jerry用户密码 + + ``` + sudo passwd -d jerry + ``` + +17. 锁定cucci用户密码并查看状态 + + ``` + 锁定用户cucci的密码:sudo passwd -l cucci + 查看用户cucci的当前密码状态:sudo passwd -S cucci + ``` + +18. 修改obama用户的UID为8888 + + ``` + sudo usermod -u 8888 obama + ``` + +19. 通过passwd命令修改kylin用户的最长密码使用期限为60天 + + ``` + sudo chage -M 60 kylin + ``` + +20. 通过id groups等命令查看用户handy信息 + + ``` + sudo id handy + sudo groups handy 查看用户handy所属的所有组 + ``` + + \ No newline at end of file diff --git "a/17\351\273\204\344\270\275\345\207\244/img/11 20240605092950.png" "b/17\351\273\204\344\270\275\345\207\244/img/11 20240605092950.png" new file mode 100644 index 0000000000000000000000000000000000000000..01bee7f696e7af59d62f091d32a95186c31b30c2 Binary files /dev/null and "b/17\351\273\204\344\270\275\345\207\244/img/11 20240605092950.png" differ