diff --git "a/\347\275\227\346\265\251\347\220\252/2024-6-3_linux\347\224\250\346\210\267\344\270\216\347\224\250\346\210\267\347\273\204.md" "b/\347\275\227\346\265\251\347\220\252/2024-6-3_linux\347\224\250\346\210\267\344\270\216\347\224\250\346\210\267\347\273\204.md" new file mode 100644 index 0000000000000000000000000000000000000000..a735a1f0383e01d43e493479e12c2bb9cf7192bb --- /dev/null +++ "b/\347\275\227\346\265\251\347\220\252/2024-6-3_linux\347\224\250\346\210\267\344\270\216\347\224\250\346\210\267\347\273\204.md" @@ -0,0 +1,240 @@ +### 查看用户: +```bash +getent passwd #查看当前系统有哪些用户。 +cat /etc/passwd #翻/etc/passwd文件。 +``` + +### 查看用户组: +```bash +getent group #查看当前系统有哪些用户组。 +cat /etc/group #略。 +``` +### 查看一个用户组中有哪些用户 +使用members命令,一般要先安装这个命令。 +```bash +apt install members -y #安装members命令。 +members xgroup #查看xgroup用户组中的用户,这个用户组要存在。 +``` + + + + + + + +### 创建用户: + +useradd。 +```bash +useradd admin #创建admin用户,会自动创建一个同名用户组,设为admin的主组。 +useradd -d /home/admin #略,指定/home/admin为家目录。 +useradd admin -d /home/admin -g xgroup #略,将admin用户加入已存在的xgroup用户组(设为admin的主组)。 +passwd admin #设置密码。 +``` + +### 删除用户: +userdel。 +```bash +userdel admin #删除用户,只删除用户记录,不删除用户数据。 +userdel -r admin #删,用户数据也删,不要的东西就不留了。 +``` + +### 修改用户: +usermod。 +```bash +usermod admin -g xgroup #修改admin用户所属的主组为xgroup。 +usermod admin -G xgroup1 #修改admin用户所属的附加组为xgroup,从原来的所有附加组中移除。 +usermod -a admin -G xgroup2 #将admin用户添加到xgroup2附加组,不从原来的附加组xgroup1移除。 +``` +!!每一个用户都有一个主组和零到多个附加组。 + + + + + + + +### 创建用户组: +groupadd。 +```bash +groupadd xgroup #创建xgroup用户组。 +``` + +### 删除用户组: +groupdel。 +```bash +groupdel xgroup #删除xgroup用户组。 +``` + +### 修改用户组: +groupmod,gpasswd。 +```bash +groupmod xgroup -n ygroup #修改xgroup用户组名为ygroup。 +groupmod xgroup -g 1005 #修改xgroup用户组id为1005(修改gid)。 +groupmod xgroup -p 1314 #修改xgroup用户组密码为1314。 +gpasswd xgroup #修改xgroup用户组密码,根据提示输入。 +gpasswd -A admin xgroup #把admin用户添加到xgroup,并设为这个组的管理员。 +``` + + + + + + + +### 禁止用户ssh登录: + +DenyUsers admin,admin是不想允许ssh登录的用户。 +这样 + +```bash +vim /etc/ssh/sshd_config #编辑sshd_config文件,添加DenyUsers admin字段,随便哪一行都可以。 +systemctl reload sshd #改文件要重新加载,不然不生效。 +``` +或者 +```bash +sed -i '$a DenyUsers admin" /etc/ssh/sshd_config #写入DenyUsers admin字段。 +service ssh reload #略 +``` +或者 +```bash +echo "DenyUsers admin" >> /etc/ssh/sshd_config #略 +/etc/init.d/ssh reload #略 +``` +...... + + + + + + + +## 对用户和用户组操作的高级方法 +​ ——温馨提示:操作需谨慎,动手先备份。 + +#### 创建用户: +编辑/etc/passwd文件。 +```bash +vim /etc/passwd #添加内容为 admin:x:1001:1001:admin:/home/admin:/bin/bash。 + +#或者 +echo "admin:x:1001:1001:admin:/home/admin:/bin/bash" >> /etc/passwd +``` +![](https://gitee.com/written-on-the-cloud/images/raw/master/images/2024-6-3.png) + +**格式依次是**: + +admin:用户名。 + +x:指有密码,在/etc/shadow文件中。 + +1001:用户id,0为root用户,1000之后是普通用户。 + +1001:用户组id。 + +admin:用户注释。 + +/home/admin:用户家目录。 + +/bin/bash:用户使用的shell。 + + + +#### 删除用户: +把上面添加的内容删除,对就这么简单。 + + + +#### 创建用户密码: +编辑/etc/shadow/文件 +```bash +echo "password" | openssl passwd -1 -stdin +#生成密码哈希值,password是你的密码,-1也可以是-5或-6。 + +vim /etc/shadow +#添加内容为 admin:$1$bwWI7ftb$aDFZmIroC/OE1DuPtW3Nl.:19877:0:99999:7::: + +#或者 +#如果使用echo写入,要在每一个$符前加\转义。 +echo "admin:\$1\$bwWI7ftb\$aDFZmIroC/OE1DuPtW3Nl.:19877:0:99999:7:::" >> /etc/shadow +``` +![](https://gitee.com/written-on-the-cloud/images/raw/master/images/2024-6-419.png) + +**格式依次是:** + +admin:用户名。 + +$1$bwWI7ftb$aDFZmIroC/OE1DuPtW3Nl.:密码哈希值。 + +19877:最后更改的时期(1970年1月1日到现在的天数)。 + +0:几天后密码过期(设为0不会过期)。 + +99999:密码过期后几天内禁用账户(永远不会,99999)。 + +7:密码过期前多少天提示用户(随便填) + +最后三个分号留着,其他的。 + + + +#### 修改用户密码: +```bash +echo "new_password" | openssl passwd -1 -stdin +#重新获取密码哈希值,new_password是你设置的新密码。 +```` +把上面的旧密码哈希值,替换为新获取的密码哈希值,就可以了。 + + + + + +#### 创建用户组 +编辑/etc/group文件。 +```bash +vim /etc/group #添加内容为 xgroup:x:1001: 。 + +#或者 +echo "xgroup:x:1001:" >> /etc/group +``` +![](https://gitee.com/written-on-the-cloud/images/raw/master/images/2024-agd.png) + +**格式依次是:** + +xgroup:用户组名。 + +x:有密码。 + +1001:用户组id。 + + + +#### 创建用户组密码: +编辑/etc/gshadow文件。 +```bash +vim /etc/group #添加内容为 ygroup:$1$t/shCi1F$KxwsY5dKgA/RtCMXOCo/7/:admin:other。 + +#或者 +#如果使用echo写入,要在每一个$符前加\转义。 +echo "ygroup:\$1\$t/shCi1F\$KxwsY5dKgA/RtCMXOCo/7/:admin:other" >> /etc/gshadow +``` +![](https://gitee.com/written-on-the-cloud/images/raw/master/images/2024-6-aga.png) + +**格式依次是:** + +ygroup:用户组名。 + +$1$t/shCi1F$KxwsY5dKgA/RtCMXOCo/7/:密码哈希值。 + +admin:管理员用户列表。 + +other:其他用户。 + + + +#### 修改用户组密码: +```bash +echo "new_gpassword" | openssl passwd -1 -stdin +#重新获取密码哈希值,new_gpassword是你设置的新用户组密码。 +```` +替换掉上面的用户组密码哈希值OK。 \ No newline at end of file