Linux入门基础12
Linux用户基础
当我们使用Linux时,需要以一个用户的身份登入,一个进程也需要以一个用户的身份运行,用户限制使用者或进程可以使用,不可以使用哪些资源。
组用来方便阻止管理用户
- 每个用户拥有一个UserID,操作系统实际使用的是用户ID,而非用户名
- 每个用户属于一个主组,属于一个或多个附属组(最多31个)
- 每个组拥有一个GroupID
- 每个进程以一个用户身份运行,并受该用户可访问的资源限制
- 每个可登陆用户拥有一个指定的shell
用户
- 用户ID为32位,从0开始,但是为了和老式系统兼容,用户ID限制在60000以下。
- 用户分为以下三种:
- root用户 (ID为0)
- 系统用户 (1-499) 没有shell,功能单一
- 普通用户 (500以上)
- 系统中的文件都有一个所属组及所属用户
- 使用
id
命令可以显示当前用户- 使用
passwd
命令可以修改当前用户的密码
相关文件
- /etc/passwd 保存用户信息
- /etc/shadow 保存用户密码(加密)
- /etc/group 保存组信息
查看登录的用户
whoami
显示当前用户who
显示有哪些用户已经登录系统w
显示有哪些用户已经登录并且在做什么
创建一个用户
命令
useradd
用以创建一个用户
1
2
3 >useradd 1-riverfish
>
>
这个命令会执行以下操作
- 在/etc/passwd中添加用户信息
- 如果使用passwd创建密码,则将密码加密保存在/etc/shadow中
- 为用户建立一个新的家目录 /home/1-riverfish
- 将/etc/skel中的文件复制到用户的家目录中(刚创建用户时的初始文件)
- 建立一个与用户名相同的组,新建用户默认属于这个同名组
命令
useradd
支持以下参数
- -d 家目录
- -s 登录shell
- -u userid
- -g 主组
- -G 附属组 (最多31个,用”,”分割)
也可以通过直接修改/etc/passwd的方式实现,但是不建议
修改用户信息
命令usermod用来修改用户信息
usermod 参数 username
命令usermod支持以下参数
-l 新用户名(家目录不变)
-u 新userid
-d 用户家目录所在位置
-g 用户所属主组
-G 用户所属附属组
-L 锁定用户使其不能登录
-U 解除锁定
删除用户
1 | userdel username (保留用户的家目录) |
组
几乎所有的操作系统都有组的概念,通过组,我们可以更加方便归类,管理用户。一般来讲,我们使用部门,职能或地离区域的分类方式来创建使用组。
- 每个组有一个组ID
- 组信息保存在/etc/group
- 每个用户拥有一个主组,同时还可以拥有最多31个附属组
创建,修改,删除组
groupadd
创建组
groupmod -n newgame oldgame
修改组名
groupmod -g newGid groupname
修改组ID
groupdel
删除组
Any question please contact 1-riverfish