linux基础处理,用户和组

用户和组

一、用户和组

  • Linux以用户UID判别用户地方
  • 私下认可管理员root,UID=0。只要用户UID为0,就是助理馆员
  • 普通用户UID 一-65535
系统版本 CentOS6 CentOS7
系统用户UID 1-499 1-999
普通用户UID 500+ 1000+
管理员组ID 1-499 1-999
普通用户组ID 500+ 1000+

一、Linux系统的广安模型

用户user

    Linux 用户:Username/UID
    管理员:root, 0
    普通用户:1-65535
        系统用户:1-499(centos6), 1-999  (CentOS7) 
            对守护进程获取资源进行权限分配
        登录用户:500+(centos6), 1000+ (CentOS7)

一. 用户和组的布局文件

文件 /etc/passwd /etc/group /etc/shadow /etc/gshadow
作用 用户消息 组信息 用户密码 组密码
  • passwd文件格式
    用户名:密码:UID:GID:注释:家目录:默认SHELL
  • shadow文件格式
  • 登入用名
  • 用户密码:一般用sha512加密
  • 从一9七〇年七月二十二日起到密码近来1回被改变的岁月
  • 密码再过几天能够被退换(0意味着随时可被改换)
  • 密码再过几天必须被转移(9999九象征不要过期)
  • 密码过期明天系统提示用户(默感到一周)
  • 密码过期几天后帐号会被锁定
  • 从一九陆八年7月五日算起,多少天后帐号失效
  • 保留

$陆 为哈希算法类型共有以下几系列型
1 | MD5
2a | Blowfish (not in mainline glibc; added in some
| Linux distributions)
5 | SHA-256 (since glibc 2.7)
6 | SHA-512 (since glibc 2.7)

aubin:$6$5JVPi7sk$HsdfsdfdsA#$F1:17369:0:99999:7:::

改动系统密码的加密算法

authconfig --passalgo=sha256 --update
#配置文件 /etc/login.defs
  • group文件格式
  • 群组名称
  • 群组密码:密码是被记录在/etc/gshadow
  • GID
  • 以当下组为附加组的用户列表(分隔符为逗号)
  • gshadow文件格式
  • 群组名称
  • 群组密码
  • 组管理员列表,能够改换组密码和成员
  • 以如今组为附加组的用户列表:(分隔符为逗号)

1.1、安全3A模型

组group

    Linux 组:Groupname/GID 管理员组:root, 0
    普通组:
        系统组:1-499(centos6), 1-999 (CENTOS7) 
        普通组:500+, 1000+ (CENTOS7) 

二、用户与用户组管理

  • 强制密码与用户音讯放在贰个文本夹

[root@centos6 ~]# pwunconv              #密码与用户信息都放在passwd
[root@centos6 ~]# pwconv                #密码与用户信息分别存放
  • UID是足以另行的,UID没有0的话,变成系统故障
  • 假诺家目录不设有,系统也同意登入,可是会报到到/目录上
  • 利用命令的家目录时用户不能够登入
  • 修改用户登陆shell
  • 用户进入新组必要求双重登入才生效

chsh -s /bin/csh
  • 查看内定用户passwd音讯

getent passwd 用户名
  • 创建用户的模版消息
    /etc/login.defs——-/etc/default/useradd

传送门
Linux练习题-用户与组管理
Linux经常练习题
Linux学习笔记

Authentication:认证
Authorization:授权
Accouting|Audition:审计

Linux 组的品类:

    用户的主要组(primary group):  用户必须属于一个且只有一个主组
    组名和用户名相同的,且仅包含一个用户: 私有组
    用户的附加组(supplementary group):    一个用户可以属于零个或多个附加组

1.2、用户

用户和组的布局文件

     Linux 用户和组的主要配置文件:
        /etc/passwd :   用户及其属性信息( 名称、UID 、主组ID 等)
        /etc/group :    组及其属性信息
        /etc/shadow :   用户密码及其相关属性
        /etc/gshadow :  组密码及其相关属性
用户(user)是登录Linux系统的一种认证机制;
Linux系统识别用户靠的是UID,而非username,username只是便于用户使用的一种手段;类似于命令的别名。

Linux系统的用户分为两大类,三小类:系统用户和普通用户;系统用户可分为管理员和运行系统访问的系统用户。
系统的管理员用户的username默认为root,UID为0;
其他用户的UID为1-65536;这是系统默认创建用户的UID范围,如果指定UID的话,那么是可以超出1-65535的。
系统用户: 1-499, 1-999 ( CentOS7);对守护进程获取资源进行权限分配。这是使用useradd -r UID USERNAME创建系统用户默认的范围。
登录用户:  500+, 1000+( CentOS7);用于用户的交互式登录。

passwd 文件格式

    login name :    登录用名(wang) 
    passwd :    密码 (x)
    UID号 :  用户身份编号 (1000)
    GID :   登录默认所在组编号 (1000)
    GECOS : 用户全名或注释
    home directory录 :   用户主目录 (/home/wang)
    shell : 用户默认使用shell (/bin/bash)

1.3、组group

shadow 文件格式

    登录用户名
    用户密码: 一般用sha512 加密,加了salt了的。
    从1970 年1 月1 日起到密码最近一次被更改的时间
    密码再过几天可以被变更(0 表示随时可被变更),密码最短有效期
    密码再过几天必须被变更(99999 表示永不过期),密码最长有效期
    密码过期前几天系统提醒用户(默认为一周)
    密码过期几天后帐号会被锁定
    从1970 年1 月1 日算起,多少天后帐号失效,账户有效期

Linux系统的组:

密码加密(/etc/shadow)

    加密机制:
        加密: 明文-->  密文
        解密: 密文-->  明文
    单向加密:
        哈希算法,原文不同,密文必不同,相同算法定长输出,获得密文不可逆推出原始数据
    雪崩效应:
        初始条件的微小改变,引起结果的巨大改变
    更改加密算法:
        authconfig --passalgo=sha256 -- update
    加密算法列表
        md5:    message digest, 128bits
        sha1:   secure hash algorithm, 160bits
        sha224: 224bits
        sha256:     256bits
        sha384:     384bits
        sha512:     512bits

    Groupname/GID

密码的纷纷计谋

    使用数字、大写字母、小写字母及特殊字符中至少3种
    足够长
    使用随机密码
    定期更换, 不要使用最近曾经使用过的密码

管理员组: 组名同用户名root, GID同UID为0。

密码期限

图片 1

普通组:
    系统组: 1-499,
1-999( CENTOS7)

group 文件格式(/etc/group)

    群组名称:就是群组名称
    群组密码:通常不需要设定,密码是被记录在/etc/gshadow
    GID的 :就是群组的 ID
    以当前组为附加组的用户列表( 分隔符为逗号)

    普通组: 500+,
1000+( CENTOS7)

gshdow 文件格式(/etc/gshadow)

    群组名称:就是群组名称
    群组密码:
    组管理员列表:组管理员的列表,更改组密码和成员
    以当前组为附加组的用户列表:( 分隔符为逗号)

组的品类:

新建用户的相关文书

    /etc/default/useradd    用户默认创建内容
    /etc/skel/*     家目录的默认模板文件夹
    /etc/login.defs 创建用户一些默认配置信息
    newusers passwd +格式文件   批量创建用户,要求格式为/etc/passwd的格式,但会出现家目录不全的情况
    chpasswd    批量修改用户口令,如cat p.txt|chpasswd
    用户的主要组(primary group);用户必须属于一个且只有一个主组;    
    默认创建的用户,他的组名同用户名,且仅包含一个用户,也叫做他的私有组。
    用户的附加组(supplementary group):一个用户可以属于零个或多个辅助组。

1.四、Linux安全上下文

    运维中的程序:进程(process),若2个历程以进程发起者的身份运转,那么进度所能够访问财富的权位取决于进度的运维者的地点。

root: /bin/cat
sunwuk: /bin/cat

一.伍、Linux用户和组的首要布局文件:

/etc/passwd:用户及其属性信息(名称、 UID、主组ID等)
/etc/group:组及其属性信息
/etc/shadow:用户密码及其相关属性
/etc/gshadow:组密码及其相关属性

一.六、/etc/passwd文件格式

在这些文件中计算有多个字段:

    login name:登录用名(wang)    
    passwd:密码 (x)
    UID:用户身份编号 (1000)
    GID:登录默认所在组编号 (1000)
    GECOS:用户全名或注释
    home directory:用户主目录 (/home/wang)
    shell:用户默认使用shell (/bin/bash)

[root@centos7x ~]#cat /etc/passwd
root:x:0:0::/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
libstoragemgmt:x:998:996:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin

壹.七、/etc/shadow文件格式

/etc/shadow共计9个字段:

    用户名:username;    
    用户密码:一般用sha512加密;
    
    最近一次密码修改时间:从1970年1月1日起到密码最近一次被更改的时间;
    
    最短使用期限:密码再过几天可以被变更( 0表示随时可被变更);
    最长使用期限:密码再过几天必须被变更( 99999表示永不过期);
    警告时长:密码过期前几天系统提醒用户(默认为一周);
    非活动时长:密码过期几天后帐号会被锁定;
    失效期:从1970年1月1日算起,多少天后帐号失效;
    
    Reserved Field:保留字段;

注意:
    这些字段中与密码相关的字段的单位统统是以天为单位的。
    例如第三个字段——最近一次密码修改的时长,就是密码修改那一刻距离Unix元年的天数。
    最短使用期限:从最近一次密码修改后那一刻,最少得使用几天后才可以修改密码;0表示没有限制。
    最长使用期限:从最近一次密码修改后那一刻,最长可以使用这个账户几天,当超过这个天数就必须要修改密码,否则超过非活动时长规定的天数后,用户就会被锁定。当前了警告时长是指在最长使用期限之前的前几天,系统会警告用户修改密码。
    失效期:是指从UNIX元年后算起,多少天后用户的账户失效;他的单位也是天。如果将这个时间设置为1,那么这个账户就立马失效了。如果将最近一次密码修改的时间改为0,那么用户的账户也是立马失效的。

图片 2

[root@centos7x ~]#cat /etc/shadow
root:$6$0jCWSv2C$TsQf4bk71lWjOWBCYoLQD/uVIfFGsr7FNNWgr/9la3blOoFpO8cynNEBgr7RqxrobOr6.KTnE6F5Lw5SBBnW70:17485:0:99999:7:::
bin:*:17485:0:99999:7:::
daemon:*:17485:0:99999:7:::

一.八、group文件格式

group文件的格式是四个字段:

*    组名:组密码:组ID以这几个组为附加组的用户列表,多个用户以“,”为分隔符。*

root@centos7x ~]#cat /etc/group
root:x:0:
bin:x:1:
admins:x:1014:natasha,harry

一.玖、/etc/gshadow文件格式

group文件的格式是陆个字段:

*    组名:组密码:组管理员以那一个组为附加组的用户列表,两个用户以“,”为分隔符。*

[root@centos7x ~]#cat /etc/gshadow
root:::
bin:::
daemon:::
admins:!::natasha,harry

1.十、用户及组的布局文件修改

  • 由于用户在开立精通后,会自行的更动那两个布局文件,那八个布局文件是有特定的格式;

  • 为了保障系统能平安的运作,不指入手动的改造那五个公文;建议的措施是采用用户及组管理的有关命令(将在后头介绍);

  • 只怕是运用:vipw和vigr进行passwd文件和group文件的改造;在改造后采用pwck和grpck命令进行格式的反省。

贰、用户和组管理命令

(一)用户管理命令

useradd
usermod
userdel

(二)组帐号维护命令

groupadd
groupmod
groupdel

(三)别的命令;

    用户相关:passwd, su, id, finger, chfn, chage, chsh;
    组 相 关:gpasswd, newgrp, groupmems, groups;
    权限相关:见下节。

2.1、用户创建: useradd

语法:

    useradd [options] LOGIN

选项:

    -u UID;    
    -o 配合-u 选项,不检查UID的唯一性;
    -g GID:指明用户所属基本组,可为组名,也可以GID;
    -c "COMMENT":用户的注释信息;
    -d HOME_DIR: 以指定的路径(不存在)为家目录;
    -s SHELL: 指明用户的默认shell程序;可用列表在/etc/shells文件中;
    -G GROUP1[,GROUP2,...]:为用户指明附加组,组须事先存在;
    -N 不创建私用组做主组,使用users组做主组;
    -r: 创建系统用户 CentOS 6: ID<500, CentOS 7: ID<1000;
    -m 创建家目录,用于系统用户;
    -M 不创建家目录,用于非系统用户;

用户创制的私下认可值设定: /etc/default/useradd文件;

于是突显或改变默许设置;

    useradd -D    
    useradd –D -s SHELL
    useradd –D –b BASE_DIR
    useradd –D –g GROUP

新建用户的相关文书和下令:

    /etc/default/useradd:设置新建用户的默认配置;
    /etc/login.defs:新建用户的默认

二.二、用户属性修改

语法:

    usermod [OPTION] login

选项:

    -u UID: 新UID;   
    -g GID: 新主组;
    -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项;
    -s SHELL:新的默认SHELL;
    -c 'COMMENT':新的注释信息;
    -d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家目录中的数据,同时使用-m选项;
    -l login_name: 新的名字;
    -L: lock指定用户,在/etc/shadow 密码栏的增加 !;
    -U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉;
    -e YYYY-MM-DD: 指明用户账号过期日期;注意:虽然设定用户过期期限使用的具体的某一天,但是记录在shadow文件中时,记录的是距UNIX元年的天数。
    -f INACTIVE: 设定非活动期限;

2.3、删除用户

语法:

    userdel [OPTION]… login

选项:

    -r: 删除用户家目录;

二.四、查看用户ID音讯:id命令

id [OPTION]… [USER]

-u: 显示UID
-g: 显示GID
-G: 展现用户所属的组的ID
-n: 展现名称,需协作ugG使用

二.伍、su命令:切换用户或以别的用户身份施行命令

语法:

    su [options...] [-] [user [args...]]

切换用户的秘籍:

    su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录;    
    su - UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换;

root用户su至其余用户无须密码;非root用户切换时供给密码;

交换一下地点实践命令:

    su [-] UserName -c 'COMMAND

选项: 

    -l --login
    su -l UserName 相当于 su - UserName
    普通用户使用su命令就相当于su root。

二.陆、设置及修改用户密码

修改内定用户的密码,仅root用户有权力修改别的用户的密码。

 passwd [OPTIONS]
UserName

修改本身的密码:passwd;

常用选项:

    -l:锁定指定用户;   
    -u:解锁指定用户;
    -e:强制用户下次登录修改密码;
    -n mindays: 指定最短使用期限;
    -x maxdays:最大使用期限;
    -w warndays:提前多少天开始警告;
    -i inactivedays:非活动期限;
    --stdin:从标准输入接收用户密码;
        echo "PASSWORD" | passwd --stdin USERNAME

二.7、修改用户密码战术

语法:

    chage [OPTION]… LOGIN

选项:

    -d LAST_DAY:格式可以是YYYY-MM-DD,或者是一个整数,表示距离UNIX元年的天数;将这个值改为0,那么下次用户登录时就必须要更改密码,即用户密码已经过期。
    -E --expiredate EXPIRE_DATE
    -I --inactive INACTIVE
    -m --mindays MIN_DAYS
    -M --maxdays MAX_DAYS
    -W --warndays WARN_DAYS
    –l 显示密码策略

示例:

chage -d 0 tom 下一次登录强制重设密码
chage -m 0 –M 42 –W 14 –I 7 tom
chage -E 2016-09-10 tom



[root@centos7x ~]#chage -l xixi
Last password change: Nov 17, 2017
Password expires: never
Password inactive: never
Account expires: never
Minimum number of days between password change: 0
Maximum number of days between password change: 99999
Number of days of warning before password expires: 7

2.8、用户音信查阅及修改命令

chfn:指定个人信息;
    清除用户的finger信息:
        [root@centos7x ~]#chfn -f "" -o '' -p '' -h ''  chen
        Changing finger information for chen.
        Finger information changed.
        
chsh:指定shell;

finger [USER_NAME]:查看用户的finger信息;


2.9、创建组

语法:

   groupadd [OPTION]... group_name

选项:

    -g GID: 指明GID号; [GID_MIN, GID_MAX]    
    -r: 创建系统组;
        CentOS 6: ID<500;
        CentOS 7: ID<1000;

2.10、修改和删除组

组属性修改:

语法:

    groupmod [OPTION]... group

选项:

    -n group_name: 新名字
    -g GID: 新的GID

组删除:

    groupdel GROUP

二.1一、退换组密码

语法:

 gpasswd [OPTION] GROUP

选项:

    -a user 将user添加至指定组中    
    -d user 从指定组中移除用户user
    -A user1,user2,... 设置有管理权限的用户列表

二.1二、改换和查看组成员

语法:

    groupmems [options] [action]

options:

    -g, --group groupname 更改为指定组 (只有root)    
    Actions:
    -a, --add username 指定用户加入组
    -d, --delete username 从组中删除用户
    -p, --purge 从组中清除所有成员
    -l, --list 显示组成员列表

二.一3、一时半刻切换主组

newgrp命令:
    假诺用户本不属于此组,则必要组密码;

二.壹三、查看用户所属组列表

语法:

    groups [OPTION].[USERNAME]...

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注