diff --git "a/08 \346\242\205\345\277\240\351\222\246/2024.06.14 \347\224\250\346\210\267\357\274\214\346\226\207\344\273\266\346\235\203\351\231\220\347\256\241\347\220\206.md" "b/08 \346\242\205\345\277\240\351\222\246/2024.06.14 \347\224\250\346\210\267\357\274\214\346\226\207\344\273\266\346\235\203\351\231\220\347\256\241\347\220\206.md" new file mode 100644 index 0000000000000000000000000000000000000000..627504a18e48fddc755ae768d0bb4c40530f3b03 --- /dev/null +++ "b/08 \346\242\205\345\277\240\351\222\246/2024.06.14 \347\224\250\346\210\267\357\274\214\346\226\207\344\273\266\346\235\203\351\231\220\347\256\241\347\220\206.md" @@ -0,0 +1,426 @@ +# 用户,文件权限管理 + +## 用户管理: + +### 超级用户: + +root 编号0 编组0 不受权限的限制 + +编号 1-999 系统预留用户 + +普通用户从1000开始 + +### 添加用户: + +#### 1、 添加用户 + +​ useradd -m -s /bin/bash + +​ adduser + +                         -d 目录路径 //家路径 + +​ -g 原生的组 + +​ -G 附加组 + +#### 2、删除用户 + +​ userdel -r 用户名 删除用户的根目录 + +​ userdel 用户名 + +#### 3、修改用户 + +​ usermod [选项同添加用户] 用户名 + +#### 4、查看用户 + +​ getent passwd 用户名 + +                            id 用户名 + +#### 5、用户组管理 + +​ groupadd 用户名 添加用户组 + +​ groupdel 用户名 删除用户组 + +​ usermod -aG 用户组 用户名 (添加用户到用户组) + +                            查看所有用户组: cat /etc/group + +#### 6、密码管理 + +​ 设置密码 passwd + +                             - i 锁定用户 + +                             - s 查看状态 + +                             - d 删除密码 + +#### 7、sudo权限管理 + +                    修改为未存在的用户组 usermod -aG sudo xxx | +                    修改为已存在的用户组 usermod -og 用户组名 用户名 | +                    修改/etc/sudoers文件 | + +#### 8、登录权限管理 + +                    查看连接情况 who/w + +                    中断连接 fuser -k /dev/pts/数字 + +                    需先安装psmisc软件包,才会有fuser + +#### 9、用户环境管理 + +                     用户配置文件: .bashrc + +                     用户环境变量 :$PATH + +                                                 $HOME + +                                                 $SHELL + + + +## 文件管理权限 + +### 文件类型: + +            -普通文件 + +             d目录 + +            l连接文件 + +            **b** 则表示为装置文件里面的可供储存的接口设备(可随机存取装置); + +        **c** 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。 + +​ + +### 基本权限: + +r :读 + +w :写 + +x :执行 + + + +### 权限表示: + +#### 字符表示: + +```bash + - u 拥有者 + + - g 用户组 + + - o 其他人 + + - a 所有人 +``` + +#### 数字表示: + +```bash +-4 = r + +-2 = w + +-1 = x +``` + +#### 权限修改: + +```bash + - chmod 修改权限 + - chown 修改拥有者 + - chgrp 修改所属组 +``` + + + +#### 权限继承: + +```bash + - 目录权限下文件和目录的影响 + - umask +``` + + + +#### 特权权限: + +```bash + - SUID + - SGID + - SBIT +``` + + + +#### 隐藏权限: + +```bash + - i + - 用在文件上,无法对该文件进行任何修改 + - 用在目录上,无法在里面创建新文件,但可以修改已有文件 + - a + - 除了可追加内容外,无法进行其它修改 + + 隐藏操作权限: + - 修改隐藏权限 chattr + - chattr +i xxx + - chattr -i xxx + 查看隐藏权限: + -lsattr + +``` + + + + + +练习: + +1、创建/guanli 目录,在/guanli下创建zonghe 和 jishu 两个目录(一条命令) + +```bash +abc@hecs-288034:~$ sudo mkdir -p guanli/{zonghe,jishu} +abc@hecs-288034:~$ ls +guanli var workspace +abc@hecs-288034:~$ +abc@hecs-288034:~$ tree guanli/ +guanli/ +├── jishu +└── zonghe + +2 directories, 0 files +abc@hecs-288034:~$ + +``` + +2、添加组帐号zonghe、caiwu、jishu,GID号分别设置为2001、2002、2003 + +```bash +2 directories, 0 files +abc@hecs-288034:~$ sudo groupadd -g 2001 zhonghe +abc@hecs-288034:~$ sudo groupadd -g 2002 caiwu +abc@hecs-288034:~$ sudo groupadd -g 2003 jishu +abc@hecs-288034:~$ cat /etc/group +zhonghe:x:2001: +caiwu:x:2002: +jishu:x:2003: +up + + +``` + +3、创建jerry、kylin、tsengia、obama用户,其中的kylin用户帐号在2020年12月30日后失效 + +```bash + +abc@hecs-288034:~$ sudo useradd -m -s /bin/bash jerry +abc@hecs-288034:~$ sudo useradd -m -s /bin/bash kylin +abc@hecs-288034:~$ sudo useradd -m -s /bin/bash tsengia +abc@hecs-288034:~$ sudo useradd -m -s /bin/bash obama +abc@hecs-288034:~$ sudo chage -E 2020-12-30 kylin + +jerry:x:1004:1004::/home/jerry:/bin/bash +kylin:x:1005:1005::/home/kylin:/bin/bash +tsengia:x:1006:1006::/home/tsengia:/bin/bash +obama:x:1007:1007::/home/obama:/bin/bash + + +abc@hecs-288034:/$ sudo chage -l kylin +Last password change : Jun 16, 2024 +Password expires : never +Password inactive : never +Account expires : Dec 30, 2020 +Minimum number of days between password change : 0 +Maximum number of days between password change : 99999 +Number of days of warning before password expires : 7 + + +``` + +4、将jerry、kylin、tsengia、obama等用户添加到zonghe组内 + +```bash + +abc@hecs-288034:~$ sudo gpasswd -M jerry,kylin,tsengia,obama zonghe +abc@hecs-288034:~$ sudo cat /etc/group +zhonghe:x:2001:jerry,kylin,tsengia,obama + +``` + +5、创建handy、cucci用户,其中cucci帐号的登录Shell设置为“/sbin/nologin” + +```bash +abc@hecs-288034:~$ sudo useradd -m handy +abc@hecs-288034:~$ sudo useradd -m /sbin/nologin cucci + + + handy:x:1008:1008::/home/handy:/bin/sh + cucci:x:1009:1009::/home/cucci:/sbin/nologin +``` + +6、将handy、cucci等用户添加到jishu组内 + +```bash + abc@hecs-288034:/$ sudo gpasswd -M handy,cucci jishu + abc@hecs-288034:/$ sudo cat /etc/group + ... + jishu:x:2003:handy,cucci +``` + +7、将上述的所有用户均要求加入到guanli组内 + +```bash + +abc@hecs-288034:/$ sudo groupadd -g 2010 guanli + + +abc@hecs-288034:/$ sudo gpasswd -M jerry,kylin,tsengia,obama,handy,cucci guanli + + + +guanli:x:2010:jerry,kylin,tsengia,obama,handy,cucci + +``` + +8、将zonghe组内的obama用户删除 + +```bash + +``` + +9、为jerry用户设置密码为“123456”(使用普通方法)为cucci用户设置密码为“redhat” + +```bash +abc@hecs-288034:/$ sudo passwd jerry +New password: +Retype new password: +passwd: password updated successfully + +``` + +10、将jerry用户锁定,并查看锁定状态 + +```bash +abc@hecs-288034:/root$ sudo passwd -l jerry + [sudo] password for abc: + passwd: password expiry information changed. + abc@hecs-288034:/root$ sudo passwd -S jerry + jerry L 06/14/2024 0 99999 7 -1 +``` + +11、打开两个xshell窗口,通过(who 或者 w)命令查看连接状态,并通过fuser杀掉其中一个 + +```bash +abc@hecs-288034:/$ w + 15:39:01 up 33 days, 20:46, 4 users, load average: 0.10, 0.06, 0.02 +USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT +abc pts/0 183.253.241.78 14:07 0.00s 0.04s 0.00s w +abc pts/1 183.253.241.78 14:07 1:31m 3.63s 3.63s top +root pts/2 183.253.241.78 14:03 1:13m 0.00s 0.00s -bash +root pts/3 183.253.241.78 14:03 1:35m 3.93s 3.93s top +abc@hecs-288034:/$ fuser -k /dev/pts/1 + +``` + +12、查看cucci用户,属于那些组,并查看其详细信息 + +```bash +abc@hecs-288034:/$ groups cucci +cucci : cucci guanli +abc@hecs-288034:/$ id cucci +uid=1009(cucci) gid=1009(cucci) groups=1009(cucci),2010(guanli) +abc@hecs-288034:/$ + +``` + +13、手工创建账号student(预留) + +```bash +abc@hecs-288034:/$ sudo useradd -m -s /bin/bash student +[sudo] password for abc: +abc@hecs-288034:/$ +``` + +14、设置权限及归属:/guanli目录属组设为guanli, /guanli/zonghe目录的属组设为zonghe /guanli/jishu目录的属组设为jishu,设置3个目录都是禁止其他用户访问的权限 + +```bash + +``` + +15、建立公共目录/ceshi允许技术组内的所有用户读取、写入、执行文件, 禁止其他用户读、写、执行 + +```bash +abc@hecs-288034:/$ sudo mkdir ceshi +abc@hecs-288034:/$ sudo chmod 770 ceshi +abc@hecs-288034:/$ ls -l + + + +drwxrwx--- 2 root root 4096 Jun 16 15:53 ceshi + +``` + +16、清除jerry用户密码 + +```bash +abc@hecs-288034:/$ sudo passwd -d jerry +passwd: password expiry information changed. + +``` + +17、锁定cucci用户密码并查看状态 + +```bash +abc@hecs-288034:/$ sudo passwd -l cucci +passwd: password expiry information changed. +abc@hecs-288034:/$ sudo passwd -S jerry +jerry NP 06/16/2024 0 99999 7 -1 + + +``` + +18、修改obama用户的UID为8888 + +```bash +abc@hecs-288034:/$ sudo usermod -u 8888 obama +abc@hecs-288034:/$ cat /etc/passwd + + +obama:x:8888:1007::/home/obama:/bin/bash + +``` + +19、通过passwd命令修改kylin用户的最长密码使用期限为60天 + +```bash +abc@hecs-288034:/$ sudo passwd -x 60 kylin +passwd: password expiry information changed. +abc@hecs-288034:/$ sudo passwd -S kylin +kylin L 06/16/2024 0 60 7 -1 +abc@hecs-288034:034:/$ + +``` + +20、通过id groups等命令查看用户handy信息 + +```bash +/$ +abc@hecs-288034:/$ id handy +uid=1008(handy) gid=1008(handy) groups=1008(handy),2010(guanli) +abc@hecs-288 +``` + +