一。用户的基本概述
1.什么是用户
能正常登陆系统的都叫用户
(1)Windows与Linux的区别:
windows系统中可以创建多个用户,但不允许在同一时刻多个用户登陆系统
Linux系统中可以创建多个用户,允许在同一时刻多个用户同时登陆,登陆后相互之间操作并不影响。
2.为什么创建用户
(1)系统上的每一个进程(运行的程序)都需要一个特定的用户运行
(2)通常在公司是使用普通用户管理服务器,因为root权限过大,容易造成故障。
3.如何查看系统中所存在的用户
(1)查看登录的用户信息
2.每个进程都会由一个用户身份运行
4.用户存在哪里
Linux系统会将用户的信息存放在/etc/passwd,记录了用户的信息,但没有密码,密码被存放在/etc/shadow中,这两个文件很重要不要轻易删除与修改。
(1)用户信息文件etc/passwd由 ':' 为分割符, 分为7个字段,其中每个字段分别代表的含义是
(2)用户密码文件/etc/shadow由 ':' 为分割符, 分为9个字段,其中每个字段分别代表的含义是
5.系统与用户的约定
二.用户相关的命令
围绕着用户的创建,变更,删除等来讲涉及到的命令:useradd,usermod ,userdel
1.使用useradd命令新增用户,注意:adduser命令软链接指向useradd命令.
#选项
-u 指定要创建用户的UID,不允许冲突
-g 指定要创建用户默认组(基本组 主要的组)
-G 指定要创建用户附加组,逗号隔开可添加多个加组
-d 指定要创建用户家目录
usermod修改用户[重要程度一般]
-s 指定要创建用户的bash shell /bin/bash/sbin/nologin
-c 指定要创建用户注释信息
-M 给创建的用户不创建家目录
-r 创建系统账户,默认无家目录 [999-200]
例题:
(1)创建bgx用户,UID5001,基本组students,附加组sa 注释信息:2019 new student,登shell:/bin/bash
[root@oldboyedu ~]# groupadd students
[root@oldboyedu ~]# groupadd sa
[root@oldboyedu ~]# useradd oldxu -u5001 -g students -G sa -c "2020 new" -s /bin/bash
#检查用户
[root@oldboyedu ~]# id oldxu
uid=5001(oldxu) gid=1003(students)groups=1003(students),1004(sa)
[root@oldboyedu ~]# grep "oldxu" /etc/passwd
oldxu:x:5001:1003:2020 new:/home/oldxu:/bin/bash
(2).创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户无法登陆系统
[root@oldboyedu ~]# useradd -r -M -s /sbin/nologin mysql
#检查用户
[root@oldboyedu ~]# id mysql
uid=997(mysql)gid=995(mysql)groups=995(mysql)
[root@oldboyedu ~]# grep "mysql" /etc/passwd
mysql:x:997:995::/home/mysql:/sbin/nologin
#模拟登陆.登陆失败
[root@oldboyedu ~]# su - mysql
This account is currently not available.
(3).创建一个xlw用户,uid为6666,附加组为sa,用户的家目录为/tmp/xlw 登陆的shell为/sbin/nologin
[root@oldboyedu ~]# useradd od -u 777 -G sa -d /tmp/od -s /sbin/nologin
# PS: UID GID 在整个系统是唯一的.
2.usermod 修改用户
#选项
-u 指定要修改用户的UID
-g 指定要修改用户基本组
-G 指定要修改用户附加组,使用逗号隔开多个附加组, 覆盖原有的附加组 -aG 追加
-d 指定要修改用户家目录 -md 旧家搬新家
-s 指定要修改用户的bash shell
-c 指定要修改用户注释信息
-l 指定要修改用户的登陆名
-L 指定要锁定的用户
-U 指定要解锁的用户
例题:
选项 -r 删除用户同时删除它的家目录
(1)删除user1用户,但不删除用户家目录和 mail spool
[root@bgx ~]# userdel user1
(2).-r参数可以连同用户家目录一起删除(慎用)
[root@bgx ~]# userdel -r user
userdel删除用户
PS: 与用户相关的还有很多命令,以下简单列举一些,但都不是常用命令,所以了解即可 1) 使用finger命名查询用户信息以及登录信息,使用chfn命令修改用户信息, 使用chsh命令修改用户登录Bash Shell,使用who、whoami、w检查用户登陆情况