Linux用户管理相关知识

一、相关知识

普通用户的活动范围:家目录、/tmp/目录

查变量的时候 echo $PATH 要加上​符号

利用su命令切换用户的时候加 - 与不加的区别:

有-:完全的切换用户,包括权限等

无-:系统不会改变环境变量($PATH)

二、添加账号

1、通过用户登录操作系统,使用计算机资源,操作系统通过识别用户来分配不同权限

//创建用户,切换用户登录
useradd Ljh1
passwd Ljh1
id Ljh1				//显示指定用户或当前用户(当未指定用户时)的用户与组信息。
uid=1000(robin) gid=1000(robin) 组=1000(robin)

//切换robin账号登录系统,此时所有操作都是以robin身份来执行的
[root@Ljh1 opt]# su - robin
上一次登录:四 7月 22 21:43:30 CST 2021从 192.168.208.132pts/2 上
[robin@Ljh1 ~]$  
[robin@Ljh1 ~]$ 登出

//从远端主机,通过robin账号登录该主机。
[root@localhost ~]# ssh robin@192.168.208.129
robin@192.168.208.129's password: 
Last login: Fri Jul 16 21:52:02 2021

问题: 普通账号和超级用户登录系统后,有什么区别?比如是否可以随意创建文件及目录?或者随意删除?

有用户权限的区别,普通用户只可以在/tmp/目录和家目录下活动,不可以随意删除

三、切换用户

su robin
[root@web1 ~]# whoami
root
[root@web1 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@web1 ~]# su  robin   		//切换用户时不加-横杠,系统不会改变环境变量
[robin@web1 root]$ echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

su - robin
[robin@web1 root]$ exit
[root@web1 ~]# whoami
root
[root@web1 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@web1 ~]# su - robin  #切换用户时加-,可以切换环境变量
上一次登录:四 7月 22 22:16:24 CST 2021pts/0 上
[robin@web1 ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/robin/.local/bin:/home/robin/bin
[robin@web1 ~]$ 

四、账户分类

用户分类

系统每创建一个用户会分配一个ID号(也可自行指定),称为UID(User ID),系统通过UID来识别用户。

1、超级用户 0

2、系统用户 1-999 1-200 系统常用程序使用, 201-999 web database(不能登录系统,但是可以以该用户身份启动程序)

3、普通用户 1000

用户组分类

组分类用户组可以批量管理用户,用户组对应的ID号称为GID(Group ID )

1、超级用户组 0

2、系统用户组 1-999

3、普通用户组 1000

user1 uid= gid=

user2

[root@localhost ~]# vim /etc/passwd

robin❌1000:1000:robin:/home/robin:/bin/bash

用户名密码占位符uidgid描述家目录shell

五、增加、修改、删除、查找用户

//创建用户时的选项,ID会按照当前最大ID顺延+1
-u uid
-g gid
-c 描述
-d 家目录 (默认不设置)
-s shell位置 (/bin/bash, /sbin/nologin)
-G groups

//增加
useradd jack

//删除
userdel -r jack删除用户
-r 删除用户同时删除家目录

//修改
usermod jack
usermod -u 2500 jack		//修改jack的用户ID
usermod -g upup jack		//g后面+数字:修改组ID,+组:修改第一所属组
usermod -c 'test user' jack		//修改注释信息
usermod -d /jackdir jack-d		//修改用户家目录
usermod -s /bin/bash jack		//修改是否远程登陆

//修改家目录
方法一:
usermod  -d /tmp/jack jack
mv /home/jack /tmp/
方法二:
usermod -m -d /home/jack jack

//查找
id username
su - username
vim /etc/passwd
ssh username@localhost

六、组管理

1、修改组:

groups 用户 //这个用户属于哪些组

usermod -G u11 u1 将u1加入到u11组中

将一个用户加入到多个组中+a,在一个组中添加多个用户不用+a

usermod -g u1 u11 //将u11 的所属组修改为u1

groupmems -l -g g10:查看组成员都有谁

groups 	用户	//这个用户属于哪些组

//分别创建两个用户 u1、u11
[root@web1 ~]# tail -1 /etc/passwd
u11:x:1010:1010::/home/u11:/bin/bash
[root@web1 ~]# su - u11
上一次登录:三 7月 14 19:02:36 CST 2021pts/0 上

//以u11身份在/tmp/目录下创建文件并编辑
[u11@web1 ~]$ touch /tmp/u11.txt
[u11@web1 ~]$ vim /tmp/u11.txt
hello 123

//切换到u1身份
[u11@web1 ~]$ su - u1
密码:
上一次登录:三 7月 14 19:17:46 CST 2021pts/0 上
[u1@web1 ~]$ vim /tmp/u11.txt  发现权限为只读,(尝试修改看是否成功)
[u1@web1 ~]$ 登出
[u11@web1 ~]$ 登出

//切换回超级用户
[root@web1 ~]#     
usermod  -G u11 u1    将u1加入到u11组中
[root@web1 ~]# ll /tmp/u11.txt 
-rw-rw-r--. 1 u11 u11 19 7月  14 19:18 /tmp/u11.txt


grep u11 /etc/group   验证u1是否加入了u11组中,结果已经在组中
u11:x:1010:u1
id u11
groups	u1	//查看用户属于哪些组
user1 : user1 user2

[root@web1 ~]# su - u1
上一次登录:三 7月 14 19:20:15 CST 2021pts/2 上
[u1@web1 ~]$ 
[u1@web1 ~]$ 
[u1@web1 ~]$ vim /tmp/u11.txt    发现可以编辑


//如何看某用户对文件有什么权限?
su  -  u11
touch /tmp/u11.txt
root@web1 ~]# ll /tmp/u11.txt 
-rw-rw-r--. 1 u11 u11 19 7月  14 19:18 /tmp/u11.txt        u1

rw-      rw-      r--
所有者  所属组   其他人 
1、先看u1是否是文件u11.txt的 所有者,是就看所有者权限,否则继续向下匹配
2、看u1是否是文件的所属组成员,是则看文件所属组权限,否则继续向下匹配,就属于其他人权限


natasha
whoami --- natahsa
su - root
usermod -G u11 natasha

id natahsa
grep natahsa /etc/group
u11:x:1011:natasha

su - natahsa
vim /tmp/u11.txt
ADSFAF 可修改


1、创建用户tom1 ,查看该用户信息,和组信息
whoami ---- root
useradd tom1 
passwd tom1
grep tom1 /etc/passwd
grep tom1 /etc/group
2、切换tom1登录系统,在/tmp下创建文件/tom1.txt
su - tom1
touch /tmp/tom1.txt
vim  /tmp/tom1.txt
hello123
3、并查看文件的详细信息,主要查看文件权限及所有者、所属组
ll /tmp/tom1.txt
4、切换超级用户root后,再创建用户tom2,切换tom2登录,编辑/tmp/tom1.txt,发现没有写入权限
su - root 
useradd tom2
passwd tom2
su - tom2
vim /tmp/tom1.txt   #发现没有写入权限,只有只读,如何才能写入呢,看下一步
5、切换至root,将tom2加入到tom1组内,查看tom2是否在tom1组内
su - root 
usermod -G tom1 tom2 
grep tom1 /etc/group
6、切换tom2登录,编辑/tmp/tom1.txt,发现可以写入和读取。
su - tom2 
vim /tmp/tom1.txt  可以编辑

2、增加、删除、修改组

[root@localhost ~]#groupadd upup		//增加组
[root@localhost ~]# groupadd -g 3000 uplooking		//修改组ID
[root@localhost ~]# groupdel uplooking		//删除组
[root@localhost ~]# groupmod -n newuplooking uplooking		//修改组名
[root@localhost ~]# groupmems -l -g g10			//查看这个组里都有谁	
[root@localhost ~]# vim /etc/group
upup:x:2006:

组名组密码组的ID用户列表

七、密码管理

1、密码保存文件:

vim /etc/shadow
robin:!!:17302:0:99999:7:::

!! 锁定密码状态

永久不能登录系统

密码的最后一次修改时间(从1970年1月1日至今的天数)18834=今天

密码的最小时间(和第三列比较,密码修改相隔时间,或理解为密码自最后一次修改后多少天内不能再重复修改)

密码的最大时间(密码有效期) 99999表示永久不过期(和第3列比,相当于自最后一次修改多久后必须变更密码,否则过期)

密码过期前警告时间(和第5列比,在过n天你的密码就过期了,需要重设密码。)

密码过期后帐号(宽限时间,第五列密码的最大时间到期后,还可以使用系统的宽限时间,该期间中可以继续使用系统,但是再次登入系统时强制修改密码,否则无法进入)

帐号有效期(账号实效后,无论密码是否过期都不能使用。)

保留列

 

2、修改密码:

echo redhat | passwd --stdin user1		//交互式修改密码

3、锁定账号:

[root@localhost ~]# usermod -L user1			//锁定
[root@localhost ~]# su - user2
Last login: Thu Dec 16 14:05:46 CST 2021 on pts/0
[user2@localhost ~]$ su - user1
Password: 
su: Authentication failure

[root@localhost ~]# usermod -U user1			//解除锁定
[root@localhost ~]# su - user2
Last login: Thu Dec 16 16:26:26 CST 2021 on pts/0
[user2@localhost ~]$ su - user1
Password: 
\Last login: Thu Dec 16 14:16:38 CST 2021 on pts/0
Last failed login: Thu Dec 16 16:26:37 CST 2021 on pts/0
There was 1 failed login attempt since the last successful login.

4、锁定密码:

passwd -l robin
passwd -S robin
passwd -u robin

5、创建用户脚本,实现循环创建用户

for i in {1..3};do useradd U$i;done

//其他,感兴趣自己做
2、scripts
#!/bin/bash

echo 'hello world'



3、vim /root/user.sh
#!/bin/bash

for i in {1..3};do
    useradd user$i
    echo 123456 | passwd --stdin user$i
done

sh  /root/user.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值