Linux教程

Linux基础-(用户和组相关命令续集)

本文主要是介绍Linux基础-(用户和组相关命令续集),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

usermod可用来修改用户帐号的各项设定

-d<登入目录>:修改用户登入时的目录。

-e<有效期限>:修改帐号的有效期限。

-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号。

-g<群组>:修改用户所属的群组。

-G<群组>:修改用户所属的附加群组。

-l<帐号名称>:修改用户帐号名称。

-L:锁定用户密码,使密码无效。

-s  修改用户登录后的shell功能

-u   修改用户uid

-U:解除密码锁定

修改admin登陆的默认位置

[root@rhel8-server ~]# su - admin

[admin@rhel8-server ~]$ pwd

/home/admin

[admin@rhel8-server ~]$ usermod admin -d /sch

usermod: user admin is currently used by process 2978

[admin@rhel8-server ~]$ exit

logout

[root@rhel8-server ~]# usermod admin -d /sch/

[root@rhel8-server ~]# su - admin

[admin@rhel8-server ~]$ pwd

/sch/

 

groupadd   增加组       -g    组id 

groupadd   workgroup  -g 1001    

 

 

groupmod命令用于更改群组识别码或名称

groupmod [选项] 组

选项

-g:将组 ID 改为 GID

-n:改名为 NEW_GROUP

 

 

用户和    

-f    删除用户家目录及邮箱    目录名还在

userdel    

 

组的删除    

groupdel

 

密码

passwd   test   可以给test赋值密码

输入密码:

   

Redhat@123      passwd赋值密码会对密码有要求   

通常来说  都会通过管道符来赋值  

echo   输出

echo redhat | passwd  --stdin  test   

把redhat这个密码 赋值给用户 test   

 

 

 

/etc/shadow  这个文件存放了所有的用户密码信息

 

redhat:$6$HHmrlnNuP4wOvb5.$l.opck2FlwyQluRsSAS2VOGl1qY79x4UB2YKK2F7pIlx8GRn1VZV7LHiXKMvzKcQCtC/eklaIiz8TeEhsNPWQ/::0:99999:7:::

 

字段1:用户账户名称

字段2:加密秘钥字符串信息  一般都是sha或md5加密

字段3:最近一次修改密码的时间,表示从1970.1.1 到至今的天数

字段4:密码的最短使用天数

字段5:密码最长有效天数   默认99999

字段6:密码即将到期警告天数   默认7

字段7:在密码过期后账号保持活跃的天数,指天数之后账号被锁定,无效   表示从1970.1.1 到至今的天数

字段8:账号失效时间,默认也是为空

 

chage   配置密码相关

-m  最小期限

-M   最大期限

-W    警告周期

-I     失效周期

-d   强制要求用户在下一次登陆时更新密码

-l     显示秘密信息

-E     用户将于2020-12-30到期(XXXX-DD-YY)    

 

chage   -m 0   -M 30    -W 7     -I 14   test    

chage  -E   2022-12-30   test     

chage  -d    test   下次登录必须要修改密码

 chage -d 0 test

 

/etc/login.defs    这个文件是用来创建用户时进行一定的限制,但是优先级低于/etc/passwd

和/etc/shadow    

 

[root@localhost ~]# vi   /etc/login.defs  

MAIL_DIR /var/spool/mail  # 系统消息(邮件)文件夹

PASS_MAX_DAYS 99999        # 密码有效最大天数 

PASS_MIN_DAYS 0            # 密码有效最小天数

PASS_MIN_LEN 5            # 密码长度

PASS_WARN_AGE 7            # 密码失效警告倒计时

UID_MIN                  1000    # 用户UID最小1000

UID_MAX                 60000    # 用户UID最大60000

SYS_UID_MIN               201    # 系统用户UID最小201

SYS_UID_MAX               999    # 系统用户UID最大999

GID_MIN                  1000    # 用户组GID最小1000

GID_MAX                 60000    # 用户组GID最大60000

SYS_GID_MIN               201

SYS_GID_MAX               999

CREATE_HOME yes             # 创建家目录

UMASK           077          # 创建文件/目录的权限掩码

USERGROUPS_ENAB yes          # 创建用户时同时生成组是  如果此处是no 创建的用户 会是gid=100(users)groups=100(users) 

ENCRYPT_METHOD SHA512        # 加密  方法  sha 512 这个方法生成的密码在/etc/shadow里面的第二列会以$6$开头

 

 

 

sudo命令执行过程  

1.当用户执行sudo,系统会主动寻找 /etc/sudoers文件,判断该用户是否有执行sudo权限

2.确认用户具有可执行sudo权限后,让用户输入自己的密码确认

3.若密码输入成功,才可以执行sudo后续命令

 

赋予用户sudo操作权限?

通过useradd添加的用户,并不具备sudo权限。在ubuntu/centos等系统下, 需要将用户加入admin组或者wheel组或者sudo组。以root用户身份执行如下命令, 将用户加入wheel/admin/sudo组。

 

usermod  -a   -G   wheel      用户名

 

sudo yum repolist all   尝试执行一下只有root才能运行的命令

 

/etc/sudoers    是可以让整个组 完成sudo提权  且不许要密码

%wheel  ALL=(ALL)       ALL       例如wheel组    

官方文档推荐的做法,不是直接修改/etc/sudoers文件,而是将修改写在/etc/sudoers.d/目录下的文件中。

[root@rhel8-server /]# cd /etc/sudoers.d

[root@rhel8-server sudoers.d]# touch admin

[root@rhel8-server sudoers.d]# vi admin

[root@rhel8-server sudoers.d]# ll

total 4

-rw-r--r--. 1 root root 31 Jan 23 05:37 admin

[root@rhel8-server sudoers.d]# pwd

/etc/sudoers.d

 

 

加密算法md5   sha   

MD5加密算法        密码  + 随机数+ id   通过md5算法  最后变成128位字符

1.等长原则    不管加密内容有多少字符,最后加密输出都是等长的  

2.雪崩效应     只要两个文件有一个字符不一样  那整个秘钥输出也是完全不同的

3 MD5不可逆   无法通过加密后字符 来得出之前原来的密码     

[root@rhel8-server sch]# md5sum 123.txt

b2cfa4183267af678ea06c7407d4d6d8  123.txt

 

md5加密所谓破解完全不是靠逆推,靠撞库    

 

这篇关于Linux基础-(用户和组相关命令续集)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!