用户和组管理

一、用户管理​

用户类型:

  • 超级管理员 root
  • 普通用户
  • 系统用户
    • 保证应用程序可正常使用、运行
    • 不允许其登录系统,有安全性

用户相关文件

1、/etc/passwd

保存用户信息

root:x:0:0:root:/root:/bin/bash
格式:  用户名:密码占位符:uid:gid:说明:家目录:shell

uid 用户ID 

	管理员  0
    系统用户	1----999
	普通用户	1000+
	
shell  给Linux内核翻译命令
	
	/bin/bash
		默认shell, 可正常登录系统、执行命令
	/sbin/nologin
		不允许登录系统
2、/etc/shadow文件

保存用户的密码

二、用户管理操作

1、创建用户

useradd  [选项]  用户名
[root@shane ~]# useradd user01

常用选项:

 -u  指定用户ID
[root@shane ~]# useradd -u 2022 user02
 -s      指定用户的shell

 -M		不创建用户的家目录

[root@shane ~]# useradd -s /sbin/nologin -M nginx

[root@shane ~]# useradd -u 2001 -s /sbin/nologin -M tomcat
 -g 基本组 

[root@shane ~]# groupadd group1
[root@shane ~]# useradd -g group1 apache
 -G 附加组,附加组,附加组

[root@shane ~]# groupadd nginx
[root@shane ~]# groupadd httpd
[root@shane ~]# groupadd tomcat
[root@shane ~]# 
[root@shane ~]# useradd -G nginx,httpd,tomcat  apache      //多个附加组用逗号隔开

2、切换用户

su - 用户名 

[root@shane ~]# su - apache

3、设置用户密码

passwd [选项] [用户名]

 
[root@shane ~]# passwd 		//修改当前用户密码
Changing password for user root.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

//修改指定用户的密码, 只有管理员root可成功执行 
[root@shane ~]# passwd user01
 -l   锁定用户密码,不能登录系统
[root@shane ~]# passwd -l user01
Locking password for user user01.
passwd: Success
 -u   解锁用户密码 
[root@shane ~]# passwd -u user01
Unlocking password for user user01.
passwd: Success
 -e  强制用户密码过期,下次登录必须修改密码

[root@shane ~]# passwd -e user01
Expiring password for user user01.
passwd: Success

4、查看用户ID信息

[root@shane ~]# id apache

5、修改用户信息

 usermod [选项] 用户名 

-u   修改用户ID 

[root@shane ~]# id userA
uid=1003(userA) gid=1003(userA) groups=1003(userA)
[root@shane ~]# 
[root@shane ~]# usermod -u 3000 userA

[root@shane ~]# id userA
uid=3000(userA) gid=1003(userA) groups=1003(userA)


-s    修改用户shell 

[root@shane ~]# grep "userB" /etc/passwd
userB:x:1004:1004::/home/userB:/bin/bash

[root@shane ~]# usermod -s /sbin/nologin userB
 
[root@shane ~]# grep "userB" /etc/passwd
userB:x:1004:1004::/home/userB:/sbin/nologin


-G 附加组, 附加组     将用户加入附加组 

[root@shane ~]# id userC
uid=2000(userC) gid=2000(userC) groups=2000(userC)

[root@shane ~]# groupadd caiwu
[root@shane ~]# usermod -G caiwu userC

[root@shane ~]# id userC
uid=2000(userC) gid=2000(userC) groups=2000(userC),2008(caiwu)

[root@shane ~]# usermod -aG caiwu userC			//-a参数是保留用户当前的组,重新添加一个组
[root@shane ~]# id userC
uid=2000(userC) gid=2000(userC) groups=2000(userC),2008(caiwu),2009(jishu)

-L  锁定用户密码 
-U  解锁用户密码

6、删除用户

 userdel [选项]  用户名 

-r   删除用户的家目录

[root@shane ~]# userdel -r userA

7、查看用户登录信息

[root@shane ~]# who 
root     pts/0        2020-12-17 17:09 (192.168.183.1)
root     pts/1        2020-12-17 18:00 (192.168.183.1)
user01      :2           2020-12-17 19:35 (:2)

8、查看失败的登录

[root@shane ~]# lastb 

9、查看所有登录行为

[root@shane ~]# last

三、用户组管理操作

用户组相关文件:

/etc/group

1、创建用户组

groupadd  组名 

2、删除用户组

groupdel  组名

3、从组中删除用户

gpasswd [选项] 用户 组名

[root@shane ~]# gpasswd -d apache tomcat
Removing user user01 from group tomcat

四、用户相关配置文件

每创建一个用户,系统会自动将/etc/skel目录的文件复制到用户家目录

[root@shane ~]# ls -a /home/user06/
.  ..  .bash_logout  .bash_profile  .bashrc

1、 .bash_profile 定义环境变量

该文件中的命令,会在用户登录系统时自动执行

[root@shane ~]# vim /home/user01/.bash_profile 
	echo '自动执行!'

[root@shane ~]# su - user01
Last login: Thu Dec 17 23:02:59 CST 2020 on pts/6
自动执行!
[user01@shane ~]$ exit

全局文件 /etc/profile

针对系统中所有用户生效

2、 .bashrc 定义命令别名

该文件的命令,会在用户打开新终端时自动执行

全局文件 /etc/bashrc

//查看别名
[root@shane ~]# alias 


删除别名 
[root@shane ~]# unalias cs 


为用户user01定义命令别名 
[root@shane ~]# vim /home/user01/.bashrc 
alias lc='ls -ldh /etc/'

[root@shane ~]# su - user01
Last login: Thu Dec 17 23:07:23 CST 2020 on pts/5
自动执行!

[user01@shane ~]$ lc
drwxr-xr-x. 142 root root 8.0K Dec 17 23:15 /etc/

3、 .bash_history

用户登录过系统后,才会出现,记录对应用户执行过的历史命令

history   //查看历史命令

history -c //清空历史命令
posted @ 2023-03-25 10:31  nhxuan  阅读(33)  评论(0)    收藏  举报