linux中的组和用户
在linux中分为普通用户和管路员(也就是超级用户),其中管理员拥有所有的权限,而普通用户只有一部分权限。而普通用户的权限是从其所在的组中获取的,也就是说只有他加入了某个组,才能获取这个组被赋予的权限。
创建用户需要在 /etc 下的两个文件内储存信息
分别是在 /etc/password 里存储用户信息
在 /etc/shadow 里储存用户密码
使用useradd命令新增用户
[root@oldboy ~] #useradd bgx -u 5001 -g students -G sa -c "2020 new student" -s /bin/bash
[root@oldboy ~]#id bgx
uid=5001(bgx) gid=1000(students) 组=1000(students),1001(sa)
##其中,bgx是用户名,5001是用户的uid,students是默认组,sa是付加组,2020 new student是注释信息,/bin/bash是用户的bash shell
[root@oldboy ~]#useradd mysql -r -s /sbin/nologin
[root@oldboy ~]#id mysql
uid=998(mysql) gid=996(mysql) 组=996(mysql)
创建一个mysql的用户,默认没有家目录,指定运行登录系统为 /sbin/nologin
[root@oldboy ~]#useradd mysql2 -M -s /sbin/nologin
[root@oldboy ~]#id mysql2
uid=5002(mysql2) gid=5002(mysql2) 组=5002(mysql2)
创建一个mysql2的用户,不给用户创建家目录,并指定登陆的bash是/sbin/nologin
#选项
# -u 指定要创建用户的UID,不允许冲突
# -g 指定要创建用户默认组 <--如果没有指定 国家派送一个与你同名的组
# -G 指定要创建用户附加组,逗号隔开可添加多个附加组
# -c 指定要创建用户注释信息
# -s 指定要创建用户的bash shell
# -d 指定要创建用户家目录 (默认都在/home下)
# -M 给创建的用户不创建家目录
# -r 创建系统账户,默认无家目录
usermod命令修改用户信息
#选项
# -u 指定要修改用户的UID
# -g 指定要修改用户基本组
# -G 指定要修改用户附加组,使用逗号隔开多个附加组, 覆盖原有的附加组
# -d 指定要修改用户家目录
# -s 指定要修改用户的bash shell
# -c 指定要修改用户注释信息
# -l 指定要修改用户的登陆名
# -L 指定要锁定的用户
# -U 指定要解锁的用户
userdel命令删除账户
#选项 -r 删除用户的家目录,以及用户的邮件
passwd命令修改用户密码
# passwd #给当前用户修改密码
# passwd root #给root用户修改密码(只能是root才有此权限,其他任何用户都没有该权限)
# passwd oldboy #给oldboy用户修改密码(root可以,或者oldboy用户自己给自己修改密码)
#通过passwd --stdin读取输出的结果,将结果赋值给对应的用户
# echo "123" | passwd --stdin xuliangwei #非交互式修改密码
echo $RANDOM | md5sum 随机生成字符串
echo $RANDOM | md5sum | cut -c 2-10 随机生成字符串(指定位数)
mkpasswd生成随机字符串
选项:
-l 设定密码长度,
-d 数子,
-c 小写字母,
-C 大写字母,
-s 特殊字符