Linux课程学习笔记来源于网易云课堂:Linux 入门基础
当我们使用Linux时,需要以一个用户的身份登入,一个进程也需要以一个用户的身份运行,用户限制使用者或者进程可以使用、不可以使用那些资源。组用来方便管理用户。
用户ID为32位,从0开始,但是为了和老式操作系统兼容,用户ID限制在60000以下。
用户分为以下三种:
系统中的文件都有一个所属用户及所属组
使用id命令可以显示当前用户的信息
使用passwd命令可以修改当前用户密码
whoami 显示当前用户,只返回名称
who 显示登录用户,tty1 是登录终端;pts/0 是图形界面
w 显示那些用户登录,还能显示他们在做什么
(1)useradd 用户名 //创建一个用户名,如果要登陆至新用户下,命令为:su [用户名];su 不接任何参数,默认切换至root用户
[上面这条命令或执行以下操作:
1.在/etc/passwd 中添加用户信息
2.如果使用passwd 命令创建密码[格式(root下):passwd 用户名],则将密码加密保存在/ect/shadow 中;如果没有密码,会用!!显示。
3.为用户建立一个新的家目录 /home/xxx
4.将/ect/skel 中的文件复制到用户的家目录中,是一些用户创建时的基本文件,一般是隐藏文件。所以需要在创建用户时就创建一些文件,可以在该目录下创建。在创建新的用户时,会自动将/ect/skel的文件复制到新用户的家目录中。
5.建立一个与用户名相同的组,默认的用户属于这个同名组]
(2)命令useradd 支持一下参数(仅在创建用户的时候使用,创建完之后不能再使用,进行修改):
格式为:useradd [参数] [指定的家目录、ID] [新的用户名]
-d 指定家目录
-s 修改登录shell
-u 指定UID
-g 指定主组
-G附属组(最多31个)
passwd 用户名 //给一个用户创建密码
(1)usermod 用来修改用户信息
usermod 参数 username
(2)命令usrmod支持以下参数:
-l更新用户名 [usermod -l 新用户名 老用户名]
-u 更新userid
-d 用户家目录位置
-g 用户所属主组
-L锁定用户使其不能登录
-U 解除锁定
-G 指定附属组
命令usrdel用以删除指定的用户:
userdel 用户名 //删除一个用户,保留用户的家目录
userdel -r 用户名 //删除用户和用户的家目录,如果“user ** is currently logged in”无法删除时,可以使用暴力删除,再加一个参数-f。
也有几种处理办法:
(1)通过su –username切换至已经登录的username用户,通过输入kill -9 -1来注销此用户,切换至另外一个用户,在该用户的终端进行对要修改用户进行修改。(或者使用pkill -u username,两种命令功能相同)
(2)mv /var/run/utmp /var/run/utmp_
touch > /var/run/utmp
关于:/var/run/utmp
utmp是一个文件,除了utmp程序你不能编辑这个文件,删掉他的话,当前登陆信息都会丢失。
这个文件在每次机器reboot起来后都会重新创建。
几乎所有操作系统都有组的概念,通过组更加方便的归类、管理用户。一般来讲,我们使用部门、职能或地理区域的分类方式来创建使用组。
(1)每个组有一个组ID
(2)组信息保存在/etc/group中
(3)每个用户拥有一个主组,同时还可以拥有最多31个附属组
(1)命令groupadd用以创建组:
groupadd 组名 添加一个组
(2)命令groupmod用以修改组信息:
groupmod-n 新组名 旧组名 //修改组名
groupmod-g 新id 旧id //修改组ID
(3)命令groupdel用以删除组信息:
groupdel 组名 可以删除一个组