linux用户类型
- 超级用户:用户名为root或者UID为0的用户,具有最大的权限。
- 系统用户:正常运行系统时使用的账户,不能用来登陆。
- 普通用户:权限受到限制,只对自己目录有独写权限。
和用户管理有关的命令
id命令:
id #显示当前登陆用户信息
id user #显示user用户信息
ps命令:
ps #查看当前运行的进程
ps -a #查看所有进程
ps -u #查看用户相关进程
su命令:
普通用户输入su需要输入密码,root用户输入su,不需要输入密码。
su切换的是用户身份,但shell环境还是普通用户的。
su - 用户身份和shell环境都切换成root了。
sudo命令:
sudo是系统管理指令,使普通用户能够暂时获得管理员权限。
sudo -i和sudo su - 都是切换到root。用户管理机制
用户账户文件:/etc/passwd(普通用户可读取,有密码泄露的风险)
一共七个字段,分别表示:
1.用户名称 2.用户密码 3.用户标识号 4.组标识号 5.相关注释 6.主目录 7.使用的shell
用户密码文件:/etc/shadow(只有超级用户能读取)
一共九个字段,分别表示:
1.用户名 2.密码 3.上次修改密码的时间 4.两次修改密码的最短时间间隔 5.两次修改密码的最长时间间隔
6.提前多少天警告用户密码即将过期 7.在密码过期多少天后会禁用该用户 8.用户过期时间 9.保留字段
用户组文件:/etc/group
一共四个字段,分别表示:
1.用户组名 2.用户组密码 3.用户组标识号 4.组内用户列表
命令行管理用户
useradd #添加用户
参数:
-d 设置用户登录的起始目录,默认是/home
-g 设置用户所属组
-G 指定用户所属的附加群组,多个组用逗号隔开
-m 创建用户主目录,不存在时,自动创建
-M 不要自动建立用户主目录
-s 指定用户登陆后使用的shell
-u 指定用户id
-------------------------------------------------------
usermod #更改用户
参数:
-c 修改账户的备注文字
-d 修改用户登陆时的目录
-e 修改账号的有效期
-f 修改在密码过期多少天后关闭该账户
-g 修改用户所属群组
-G 修改用户所属的附加群组
-l 修改用户名
-L 锁定用户密码
-s 修改用户登入后使用的shell
-u 修改UID
-U 解除密码锁定
--------------------------------------------------------
userdel #删除用户
参数:
-r 删除用户主目录以及目录的所有文件,并且删除用户的其他信息。
---------------------------------------------------------
passwd #更改或设置用户密码
超级用户修改密码,输入passwd即可。
普通用户修改密码,输入passwd username。
命令行管理用户组
groupadd #添加用户组 参数: -g 强制把某个ID分配给已经存在的用户组,该ID非负且唯一 -o 允许多个不同用户组使用相同的用户组ID -p 用户组密码 -r 创建系统组 ----------------------------------------------------------- groupdel #删除用户组 ----------------------------------------------------------- groupmod #修改用户组 -g 设置欲使用的用户组ID -o 允许多个不同的用户组使用相同的用户组ID -n 设置欲使用的用户组名称