Linux_权限管理-用户组管理

权限管理-用户组管理

1. Linux用户介绍

1. 用户的概念

	用户对硬件资源的操作都需要通过操作系统,比如用户要读取硬盘中的一份关键数据,出于安全考虑,操作系统的开发者们都专门开发了安全机制,要使用操作系统必须事先输入正确的用户名与密码,这便是用户的由来 

2. 创建用户的目的

# 主要就是权限问题 
	1. 系统上的每一个进程,都需要一个特定的用户运行
       一个用户拥有特定的权限,该用户运行的进程与用户权限一致 

	2. 通常在公司是使用普通用户管理服务器,因为root权限过大,容易出问题 

3. 查看用户相关信息

# 查看当前用户 
[root@aliyum ~]# id 
uid=0(root) gid=0(root) groups=0(root) 

# 查看当前用户是谁 
[root@aliyum ~]# whoami 
root 

# 查看root用户 
[root@aliyum ~]# id root 
uid=0(root) gid=0(root) groups=0(root) 

# 查看所有登录的用户
[root@aliyum ~]# who  
root pts/2 2020-10-23 15:24 
(139.227.12.100) 

# 每一个进程都有其用户 
[root@aliyum ~]# ps aux |grep [s]sh 
root 1067 0.0 0.2 112920 4328 ? 
Ss Feb15 0:04 /usr/sbin/sshd -D 

root 27197 0.0 0.2 154708 5576 ? 
Ss 15:24 0:00 sshd: root@pts/2 

4. linux系统中用户角色划分

# 用户角色划分
	在linux系统中的用户分为管理员用户与其他用户 
	管理员用户拥有最高权限 
	其他用户根据管理员的分配拥有不同的权限 

# 注意 
	对于linux系统来说,用户的角色是通过UID和GID识别的
    用户系统帐号的名称(如lee)其实给管理员看的,linux系统能够识别的仅仅是UID和GID这样的数字

# uid与gid 
1. UID (User Identify)用户ID
	唯一标识一个系统用户的帐号,uid在系统中是唯一的 
    uid相当于一个人的身份证,用户名就相当于这个人的名字 

2. GID (Group Identify)组ID
	如果把一个操作系统当成一家公司,uid相当于这个人的员工号,gid相当于他的部门编号

# centos7系统之前约定 
	uid: 0 由超级用户或具备超级用户权限的用户创建的用户(贫民老百姓,大臣,布衣/bin/bash) 

	uid: 1~499 系统虚拟用户 存在满足文件或服务启动的需要 一般不能登录

	uid: 500-65535 普通用户 

# centos7系统约定: 
	0 超级管理员,最高权限,有着极强的破坏能力 

	1~200 系统用户,用来运行系统自带的进程,默认已创建

	201~999 系统用户,用来运行安装的程序,所以此类用户无需登录系统 

	1000+ 普通用户,正常可以登录系统的用户,权限比较小,能执行的任务有限 

# 用户和组的关系: 
	一对一,多对一,一对多,多对多 

5. 超级用户

# 超级用户
	默认是root用户,其UID和GID均为0。root用户在每台unix/linux操作系统中都是唯一且真实存在的,通过它可 
以登录系统,可以操作系统中任何文件和命令,拥有最高的管理权限

# 示例 
1. 操作系统 => 一个国家 
2. root用户 => 国王 
3. root用户的家目录 => 皇宫 
 
# 注意
	1. 在生产环境中,一般会禁止root帐号通过SSH远程连接服务器(保护好皇帝),当然,也会更改默认的SSH端口(保护好皇宫),以加强系统安全。 

	2. 企业工作中:没有特殊需求,应该尽量不要登录root用户进行操作,应该在普通用户下操作任务,然后用sudo管理普通用户的权限,可以细到每个命令权限分配。 

	3. 在linux系统中,uid为0的用户就是超级用户。但是通常不这么做,如果确实有必要在某一操作上用到管理的权限的话,那就用sudo单独授权,也不要直接用uid为0的用户 

6. 扩展阅读

'''
Linux/Unix是一个多用户、多任务的操作系统 
windows是一个单用户多任务操作系统

linux发展史
	multics => unix => linux
	所以linux是多用户的,天然支持多个连机终端,连机终端在没有互联网的情况下是有意义的,多个人可以用不同的连机终端连到一台机器/服务器上使用,而有了互联网之后,多个人可通过网络访问服务器,这个时候多用户or单用户的概念就不再那么重要
'''
# 注意
	多用户不是说可以创建多个用户,而是指一次可以登录多个 
    用户多任务指的是可以并发执行多个进程

2. 用户与组相关文件

# 用户 组相关的文件
    /etc/passwd
    /etc/shadow
    /etc/group
    /etc/gshadow

1. /etc/passwd

在这里插入图片描述

root:x:0:0:root:/root:/bin/bash
  
# 字段注释
第一字段
	用户名(也被称为登录名) 

第二字段
	口令 在例子中我们看到的是一个x,其实密码已被映射到/etc/shadow文件中

第三字段
	UID 请参看本文的UID的解说

第四字段
	GID 请参看本文的GID的解说

第五字段
	描述信息,可选 

第六字段
	用户的家目录所在位置

第七字段
	用户所用SHELL的类型

2. /etc/shadow

在这里插入图片描述

small_egon:1VE.Mq2Xf$2c9Qi7EQ9JP8GKF8gH7P 
B1:13072:0:99999:7::: 
big_egon:1IPDvUhXP$8R6J/VtPXvLyXxhLWPrnt/ 
:13072:0:99999:7::13108:

# 字段注释
第一字段
	用户名(也被称为登录名)/etc/shadow中,用户名和/etc/passwd 是相同的
    这样就把passwd和shadow中用的用户记录联系在一起这个字段是非空的

第二字段
	密码(已被加密)
    如果是有些用户在这段是x,表示这个用户不能登录到系统,这个字段是非空的 

第三字段
	上次修改口令的时间,这个时间是从19700101日算起到最近一次修改口令的时间间隔(天数)
    您可以通过passwd来修改用户的密码,然后查看/etc/shadow中此字段的变化 

第四字段
	两次修改口令间隔最少的天数,如果设置为0,则禁用此功能;也就是说用户必须经过多少天才能修改其口令
    此项功能用处不是太大,默认值是通过/etc/login.defs文件定义中获取,PASS_MIN_DAYS中有定义 

第五字段
	两次修改口令间隔最多的天数,这个能增强管理员管理用户口令的时效性,应该说增强了系统的安全性
	如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_MAX_DAYS中定义

第六字段
	提前多少天警告用户口令将过期,当用户登录系统后,系统登录程序提醒用户口令将要作废
    如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_WARN_AGE 中定义
    
第七字段
	在口令过期之后多少天禁用此用户,此字段表示用户口令作废多少天后,系统会禁用此用户
    也就是说系统会不再让此用户登录,也不会提示用户过期,是完全禁用

第八字段
	用户过期日期,此字段指定了用户作废的天数(1970年的11日开始的天数)
    如果这个字段的值为空,帐号永久可用,www.hackdig.com 

第九字段
	保留字段,目前为空,以备将来Linux发展之用

'''
ps:
	如果要了解更为详细的,请用 man shadow来查看帮助,您会得到更为详尽的资料
'''

3. /etc/group

在这里插入图片描述

4. /etc/gshadow

在这里插入图片描述

# 其他文件介绍
    /etc/skel/ 用户家的模板

    /home/xxx  用户家目录

    /var/spool/mail/xxx 用户邮箱文件

3. 用户管理命令

# 用户管理命令汇总
    useradd  # 添加用户 

    userdel  # 删除用户 

    usermod  # 修改用户信息 

1. 创建用户

[root@localhost ~]# useradd user01 

2. 查看用户

[root@localhost ~]# id user01 
uid=1002(user01) gid=1003(user01)=1003(user01) 

# 查看所有登录的用户信息
	[root@localhost ~]# who 

# 查看当前登录的用户名
	[root@localhost ~]# whoami 

# 注意
	当创建一个用户时,如果没有指定用户的主组,将会创建一个同名的组作为用户的主组

3. 删除用户

# 删除用户user01 但不删除用户家目录和mail
	[root@localhost ~]# userdel user01 

# 要想删除彻底 加-r选项
	[root@localhost ~]# userdel -r user01 

4. useradd命令详解

'''useradd命令详解 创建用户的同时指定选项'''

# 怎样在Linux系统中添加一个新的用户账户
    1.  掌握useradd命令的功能:新增一个用户 
    2.  了解useradd命令的常用选项
    3.  –u:指定用户的UID 
    4.  –g:指定用户所属的主群 
    	–G:指定用户所属的附加群 
    5.  –d:指定用户的家目录 
    6.  –c:指定用户的备注信息 
    7.  –s:指定用户所用的shell 
    8.  -e:修改过期时间 
    9.  -M: 不创建家目录 
    10. -r: 创建系统账户,uid处于系统用户范围内,默认就没有家目录
        
# 示例
1. 在系统中新增一个fox(狐狸)用户的命令
	useradd fox
    
2. 在系统中新增一个用户user01,属组为police以及uid为600的命令
	useradd –u 600 –g police user01	

# 创建用户user01    
	[root@root ~]# useradd user01 

# 创建用户user02,指定uid 
	[root@root ~]# useradd user02 -u 503 

# 创建用户user03 指定家目录 
	[root@root ~]# useradd user03 -d /aaa 

# 创建用户user04,不创建家目录 
	[root@root ~]# useradd user04 -M 

# 创建用户并指定shell 
	[root@root ~]# useradd user05 -s /sbin/nologin 

# 创建用户,指定主组 
	[root@root ~]# useradd user06 -g hr 

# 创建用户,指定附加组 
	[root@root ~]# useradd user07 -G sale 

# 指定过期时间
	[root@root ~]# useradd user08 -e 2021-04-01  

# 创建user10用户,指定UID为4000,并指定shell 
	[root@root ~]# useradd user10 -u 4000 -s /sbin/nologin 

# 创建普通用户,但是没有家目录,不能登录系统
	[root@aliyum ~]# useradd xxx -M -s /sbin/nologin 

# yyy属于系统用户,uid处于系统用户uid范围内 
	[root@aliyum ~]# useradd -r yyy -s /sbin/nologin     

5. usermod命令详解

'''同useradd参数基一致,只不过useradd是添加,usermod是修改'''

# 选项 功能 示例
	-h  --help  显示此命令的帮助信息 
    	usermod -h 

	-c  --comment  修改用户的描述信息 
        usermod root -c "admin user"
        usermod -c "admin user" root 

	-d 修改用户的家目录(新家目录提前准备好) 
		usermod tom -md /opt/tom (搬家) 

	-m 给用户搬家

	-e  --expiredate  修改账号过期的日期 
    	usermod tom -e 2019-05-20 

	-f  --inactive  修改密码过期后的宽限时间 
		usermod tom -f 8 

	-g 修改用户的gid值
    	usermod tom -g 5 

	-G 给用户设置新的附属组 
    	usermod tom -G root,lp,bin 

	-a 将一个用户追加到指定的组中 
    	usermod tom -a root 

	-l 修改用户的登录名称(即修改用户名) 
    	usermod tom -l tomer 

	-L 锁定用户(锁定后,shadow中的密码左侧有!号)
		usermod tom -L 

	-U 解锁用户 
    	usermod tom -U
        
    -o 允许使用不唯一的UID号 
   		usermod tom -o -u 0

	-p 修改加密后的密码(不是登录密码) 
    	usermod tom -p 01 

	-s 修改用户登录的shell 
    	usermod tom -s /sbin/nologin 

	-u 修改用户的uid值 
    	usermod u19 -u 999 

	-Z 修改用户的selinux参数

# 修改过期时间     
[root@root ~]# usermod -e 2013-02-11 user1000 

# 修改主组
[root@root ~]# usermod -g group1 jj 

# 修改附加组,-G在没有-a的情况下代表覆盖原有组,写了-a添加
[root@root ~]# usermod -a -G group2 jj 

6. 设定与修改密码

# 设定密码	
	1. 默认给当前用户设定密码
    	passwd
        
    2. root用户可以给自己以及所有其他用户设定密码,普通用户只能设定自己的密码     
		passwd 用户名 

	3. 非交互式
    	echo "密码" | passwd --stdin 用户名 

# 补充: 可以利用系统内置变量生成随机字符串来充当密码 
[root@aliyum ~]# echo $RANDOM|md5sum|cut -c 1-10 
70ba11a74b 

# 示例
# 1. 修改UID,SHELL
    [root@root ~]# usermod --help 

    [root@root ~]# useradd user10 

    [root@root ~]# grep 'user10' /etc/passwd 
	user10:x:509:509::/home/user10:/bin/bash 

# 修改用户uid                             
	[root@root ~]# usermod -u 2000 user10 

# 修改用户shell 
	[root@root ~]# usermod -s /sbin/nologin user10 

# 把用户user10添加到组group1 group2
	[root@root ~]# usermod -G group1,group2 user10
    
# 把用户user10添加到组group3 group4中,此时group3,group4会覆盖掉之前添加的group1,group2     
    [root@root ~]# usermod -G group3,group4 user10 


# 2. 密码锁定,解锁
    [root@root ~]# useradd user10 

    [root@root ~]# passwd user10 

    [root@root ~]# grep 'user10' /etc/shadow 
	user10:65uy5OdYB$N4oVgSrlsz2SfcHmOSh44AaT/
    TBAM2plmOZGCPS7cIOhSu5PQjegJSp4PHKUwFsnbVjwfRv1GxrtR/
    SJubMeX1:18589:0:99999:7::: 

# 锁住用户                                
	[root@root ~]# usermod -L user10

	[root@root ~]# grep 'user10' /etc/shadow 
	user10:!65uy5OdYB$N4oVgSrlsz2SfcHmOSh44AaT/
    TBAM2plmOZGCPS7cIOhSu5PQjegJSp4PHKUwFsnbVjwfRv1GxrtR/
    SJubMeX1:18589:0:99999:7::: 

# 解锁用户 
	[root@root ~]# usermod -U user10 

	[root@root ~]# grep 'user10' /etc/shadow 
	user10:65uy5OdYB$N4oVgSrlsz2SfcHmOSh44AaT/
    TBAM2plmOZGCPS7cIOhSu5PQjegJSp4PHKUwFsnbVjwfRv1GxrtR/
    SJubMeX1:18589:0:99999:7::: 

# 3. 设置账号过期
	[root@root ~]# date 
	Mon Aug 10 22:49:12 CST 2020
            
    [root@root ~]# usermod -e 2020-11-11 user10

	[root@root ~]# grep 'user1000' /etc/shadow
  user1000:$6$WLHLI8zV$0jVjYsQig.jPNrcikI.R8GsgXPaSnlzslEmsRV1Nyb7FUr9Ls6RosWtHsf3LPio7PgM80raOqlWzd/lGn5fN71:18484:0:99999:7::1857 7:

# 4. useradd 命令参考的文件
    1. /etc/login.defs 
    2. /etc/default/useradd  # 可以使用命令useradd -D查看 
    3. /etc/skel/*           # 用户的初始 配置文件

7. 扩展阅读

# useradd注意点
	useradd创建用户时,对于未指定的选项(-u、-g等等)
	会以/etc/login.defs、/etc/default/useradd两个配置文件中的配置作为参照物 

# 配置文件/etc/login.defs详解 
[root@lifei ~]# grep -Ev "^#|^$" /etc/login.defs 
MAIL_DIR /var/spool/mail 
PASS_MAX_DAYS 99999 # 密码最大有效期

PASS_MIN_DAYS 0     # 两次修改密码的最小间隔时间 

PASS_MIN_LEN 5      # 密码最小长度,对于root无效 

PASS_WARN_AGE 7     # 密码过期前多少天开始提示 

UID_MIN 1000        # 用户ID的最小值 

UID_MAX 60000       # 用户ID的最大值 

SYS_UID_MIN 201     # 系统用户ID的最小值 

SYS_UID_MAX 999     # 系统用户ID的最大值 

GID_MIN 1000        # 组ID的最小值 

GID_MAX 60000       # 组ID的最大值 

SYS_GID_MIN 201     # 系统用户组ID的最小值

SYS_GID_MAX 999     # 系统用户组ID的最大值

CREATE_HOME yes     # 使用useradd的时候是可以创建用户家目录 

UMASK 077           # 创建家目录时umask的默认控制权限 

USERGROUPS_ENAB yes # 删除用户的时候是否同时删除用户组 

ENCRYPT_METHOD SHA512 # 密码加密规则 

# 配置文件/etc/default/useradd详解 
[root@lifei ~]# cat /etc/default/useradd 
GROUP=100   # 依赖于/etc/login.defs的USERGRUUPS_ENAB参数,如果为no,则在此处控制

HOME=/home  # 把用户的家目录建在/home中 

INACTIVE=-1 # 是否启用账号过期停权,-1表示不启用 

EXPIRE=     # 账号终止日期,不设置表示不启用

SHELL=/bin/bash # 新用户默认所有的shell类型

SKEL=/etc/skel  # 配置新用户家目录的默认文件存放路径 

CREATE_MAIL_SPOOL=yes # 创建mail文件 

'''
	当使用useradd创建用户时,创建的用户家目录下会存在.bash_* 环境变量相关的文件
	这些环境变量文件默认从/etc/skel目录中拷贝
	这个默认拷贝环境变量位置是由/etc/default/useradd配置文件中定义的
'''

# 故障案例
	在当前用户家目录下执行了rm -rf .*命令,下次登录系统时出现-bash-4.1$,如何解决?
    -bash-4.1$ cp -a /etc/skel/.bash* ./ 
    -bash-4.1$ exit 

    # 重新连接即可恢复
    [root@lifei ~]# 

4. 组管理

组管理命令汇总

groupadd  # 创建组

groupmod  # 修改组

groupdel  # 删除组 

gpasswd   # 设置组密码 

newgrp    # 切换主组

1. 创建组

# 参数
    -g:指定新建工作组的 id 

    -r:创建系统工作组,系统工作组的组ID小于500

    -K:覆盖配置文件 "/ect/login.defs" 

    -o:允许添加组 ID 号不唯一的工作组

    -f,--force: 如果指定的组已经存在,则成功状态退出
                当与 -g 一起使用,并且指定的GID_MIN已经存在时,选择另一个唯一的GID(即-g关闭)
 
# 创建基本组,不指定gid 
[root@aliyum ~]# groupadd gg1 
[root@aliyum ~]# tail -1 /etc/group 
gg1:x:2005: 
 
# 创建基本组, 指定gid为5555
[root@aliyum ~]# groupadd -g 5555 gg2 
[root@aliyum ~]# tail -1 /etc/group
gg2:x:5555: 
 
# 创建系统组,gid: 201-999
[root@aliyum ~]# groupadd -r gg3  
[root@aliyum ~]# tail -1 /etc/group 
gg3:x:991: 

2. 修改组

# 参数 
	-g <群组识别码> 设置欲使用的群组识别码 

	-o 重复使用群组识别码 

	-n <新群组名称> 设置欲使用的群组名称
    
# 示例
# -g 修改gid
[root@aliyum ~]# groupmod -g 1111 gg3 
[root@aliyum ~]# tail -1 /etc/group 
gg3:x:1111: 

# -n 修改组名称            
[root@aliyum ~]# groupmod -n new_gg3 gg3  
[root@aliyum ~]# tail -1 /etc/group 
new_gg3:x:1111: 

3. 删除组

# 注意
	如果一个组是一个用户的主组,那么该组不能被删除,删掉用户会默认一起删掉他的主组
    
# 示例    
[root@aliyum ~]# useradd cm 

[root@aliyum ~]# groupadd devops 

[root@aliyum ~]# usermod -G devops cm 

[root@aliyum ~]# id cm 
uid=1004(cm) gid=1004(cm) groups=1004(cm),1005(devops) 
 
# 附加组可以删除    
[root@aliyum ~]# groupdel devops  

# 查看用户,发现他的附加组没有了 
[root@aliyum ~]# id cm 
uid=1004(cm) gid=1004(cm) groups=1004(cm) 

# 无法删除组cm,因为组cm属于cm用户的主组 
[root@aliyum ~]# groupdel cm 
groupdel: cannot remove the primary group of user 'cm' 

5. 组成员管理

1. 组分类

# 组分类(针对用户)
1. 基本组或称主组
	用户只能有一个基本组,创建时可通过-g指定,如未指定则创建一个默认的组(与用户同名)
    
2. 附加组
	基本组不能满足授权要求,创建附加组,将用户加入该组
    用户可以属于多个附加组,加入一个组后就拥有了该组的权限

    # 可选项参数 
        -a:添加用户到组 

        -d:从组删除用户

        -A:指定管理员 

        -M:指定组成员和-A的用途差不多

        -r:删除密码 

        -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组

# 注意
    gpasswd将用户添加到组或从组中删除,只针对已存在的用户 

2. 组成员操作

# 示例
[root@root ~]# groupadd it 

# 将某个用户加入到某个组
[root@root ~]# gpasswd -a user07 it 

# 将多个用户加入到it组
[root@root ~]# gpasswd -M user02,user03,user04 it 

# 指定cm为组it的组长,除了root用户外cm用户也可以采用第一条命令往it组里添加成员 
[root@root ~]# gpasswd -A cm it 

# 查看it组中的成员
[root@root ~]# grep 'it' /etc/group 
it:x:505:user02,user03,user04 

# 删除用户usr07从it组
[root@root ~]# gpasswd -d user07 it 

'''
我们可以为组设置密码,然后让一些非组成员的用户通过命令”newgrp 组”临时切换到组内并输入密码的方式获取用户组的权限和特性
'''
# 示例
[root@localhost ~]# groupadd group1 

[root@localhost ~]# gpasswd group1 
正在修改 group1 组的密码 
新密码: 
请重新输入新密码: 

[root@localhost ~]# touch /tmp/a.txt 

[root@localhost ~]# ll /tmp/a.txt 
-rw-r--r-- 1 root root 0 810 21:01 /tmp/a.txt 

[root@localhost ~]# chown .group1 /tmp/a.txt 

[root@localhost ~]# !ll 
ll /tmp/a.txt 
-rw-r--r-- 1 root group1 0 810 21:01 /tmp/a.txt 

[root@localhost ~]# chmod g+w /tmp/a.txt 

[root@localhost ~]# gpasswd group1 

[root@localhost ~]# su - cm 
上一次登录:一 810 21:01:46 CST 2020pts/0 

# 此时没有权限         
[cm@localhost ~]$ echo "123" >> /tmp/a.txt 
-bash: /tmp/a.txt: 权限不够 

# 临时切换到组group1下,拥有其权限        
[cm@localhost ~]$ newgrp group1 
密码: 
[cm@localhost ~]$ echo "123" >> /tmp/a.txt 
[cm@localhost ~]$ cat /tmp/a.txt 
123

6. 手动创建用户

1. /etc/passwd

[root@aliyun ~]# vim /etc/passwd   # 新加一行 

[root@aliyun ~]# tail -1 /etc/passwd 
cm1:x:2002:2002:哈哈哈:/home/cm1:/bin/bash

2. /etc/shadow

[root@aliyun ~]# openssl passwd -1 -salt 'i have a dream' 
Password: 
$1$i have a$jBGkkhpFu9WPSI1Nv.whT/ 

[root@aliyun ~]# vim /etc/shadow 

[root@aliyun ~]# tail -1 /etc/shadow 
cm1:$1$i have a$jBGkkhpFu9WPSI1Nv.whT/:18303::::::
                                
# 制作密码  
	openssl passwd 手动生成密码 

# 引言
	在Linux系统中我们要想手动生成一个密码可以采用opensll passwd来生成一个密码作为用户账号的密码
	Linux系统中的密码存放在/etc/shadow文件中,并且是以加密的方式存放的,根据加密方式的不同,所产生的加密后的密码的位数也不同 
    openssl passwd的作用是用来计算密码hash的,目的是为了防止密码以明文的形式出现
    
# 语法格式
	openssl passwd [option] passwd 
    
# openssl passwd常用的选项
	-1 表示采用的是MD5加密算法
    
    -salt  指定salt值,不使用随机产生的salt,salt为8字节的字符串
    	   在使用加密算法进行加密时,即使密码一样,salt不一样,所计算出来的hash值也不一样
           除非密码一样,salt值也一样,计算出来的hash值才一样        

# 示例
# 注意 'i have a dream' 不是密码而是密码的盐 注意密码的盐里不要有中文
[tom@localhost ~]$ openssl passwd -1 -salt 'i have a dream'
# 这里输入的是密码
Password:  
# 这是生成的密文密码    
$1$12345678$1qWiC4czIc07B4J8bPjfC0 
# 将生成的密码串,手动添加到/etc/shadow中就可用作用户的登陆密码
$1$i have a$UEsc7yzrB5DWmTvxRpTsp. 

3. /etc/group

[root@aliyun ~]# vim /etc/group 

[root@aliyun ~]# tail -1 /etc/group 
cm1:x:2002:

4. /etc/gshadow

[root@aliyun ~]# vim /etc/gshadow 

[root@aliyun ~]# tail -1 /etc/gshadow 
cm1:!::

5. 创建用户家目录

# 创建用户家目录,并用用户家的模板/etc/skel/ 装修一下,注意权限
[root@aliyun ~]# mkdir /home/cm1 

[root@aliyun ~]# cp -r /etc/skel/.[!.]* 
/home/cm1/ 

[root@aliyun ~]# chmod 700 /home/cm1/ 

[root@aliyun ~]# chown -R cm1.cm1 
/home/cm1/

6. /var/spool/mail/xxx

# 用户邮箱文件
[root@aliyun ~]# touch /var/spool/mail/cm1 

[root@aliyun ~]# chmod 660 !$ 
chmod 660 /var/spool/mail/cm1 

[root@aliyun ~]# chown cm1.mail 
/var/spool/mail/cm1

7. 测试账号的登录

[root@aliyun ~]# ssh cm1@127.0.0.1 
cm1@127.0.0.1's password: 
Last login: Mon Aug 10 23:18:55 2020 from 127.0.0.1 
Welcome to Alibaba Cloud Elastic Compute Service ! 

[cm1@aliyun ~]$ whoami 
cm1
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I believe I can fly~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值