Linux用户基础

操作系统希望使用用户的概念来限制使用者能够使用和不能使用哪些资源,是用来方便组织和管理用户的。

用户和组的概念

每个用户拥有一个UserID,操作系统实际使用的是用户ID,而非用户名
每个用户属于一个主组,可以属于多个附属组
每个组拥有一个GroupID
每个进程以一个用户身份运行,并受该用户可访问的资源限制
每个可登录用户都拥有一个指定的shell(命令行、图形界面)

用户
用户ID为32位,从0开始,但是为了和老式操作系统兼容,用户ID限制在60000以下
-root用户,ID为0的用户(只要ID为0就是root用户,用户名不一定是root)
-系统用户 1-499 (没有shell、为某些服务创建的)
-普通用户 500以上
系统中的文件都有一个所属用户及所属组
使用ID命令可以显示当前用户的信息
使用passwd命令可以修改当前用户密码

用户信息相关的文件
/etc/passwd //[1.用户名、2.x表示用户密码是保存在shadow之中的、3.用户id号、4.组id、5.用户描述信息、6.用户的家目录、7.用户的登录shell,普通用户就是bin下的bash,系统用户就是bin/nologin]
/etc/shadow // [1.用户名、2.密码,!!表示用户没有创建过密码(密码分3个部分,用$隔开,第一个6表示用的是SHA的512位加密)]
/etc/group [组用户名、组密码、组ID]

whoami 显示当前用户
who tty1 是登录终端
pts/0 是图形界面

w 显示那些用户登录,还能显示他们在做什么

创建一个用户
useradd 用户名 //创建一个用户名
[上面这条命令或执行以下操作:
1.在/etc/passwd 中添加用户信息
2.如果使用passwd 命令创建密码,则将密码加密保存在/ect/shadow 中
3.为用户建立一个新的家目录 /home/xxx
4.将/ect/skel 中的文件复制到用户的家目录中
5.建立一个与用户名相同的组,默认的用户属于这个同名组]
命令useradd 支持一下参数
-d 指定家目录
-s 修改登录shell
-u 指定UID
-g 指定主组

passwd 用户名 //给一个用户创建密码

usermod 用来修改用户信息
usermod 参数 username
-l 更新用户名 usermod -l 新用户名 老用户名
-u 更新userid
-d 用户家目录位置
-g 用户所属主组
-L锁定用户使其不能登录
-U 解除锁定
-G 指定附属组
userdel 用户 删除一个用户
userdel -r 用户 删除用户和用户的家目录


每个组有一个组ID
组信息保存在/etc/group中
每个用户拥有一个主组,同时还可以拥有最多31个附属组
groupadd 组名 添加一个组
groupmod -n 新组名 旧组名 修改组名
groupmod -g 新id 旧id 修改组ID
groupdel 组名 可以删除一个组

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。