① 、用户管理命令

![Uploading qq_477481.jpg . . .]

用户和组

CentOS用户组和权限管理

# 用户组和权力管理

## 概念

用户分为三类:

壹 、一流用户:root uid=0,不难的话uid为0的用户正是最棒用户。

贰 、虚拟用户:存在linux中,满意文件或然程序运营的要求,而创立的。不能够登录,不可能动用。uid=1-499,1-999(centos7)

三 、普通用户:管理员root创造的用户。uid=500+,1000+(centos7)

用户组便是具备相同特征的用户的碰面。2个组能够分包四个用户,各类用户也足以属于不一样的组。用户组的指标方便管理员对用户展开集中管理。用户组也分为两类:系统组和普通组。

用户和用户组的关联:

一定:一个用户存在二个组,也得以是组中唯十分一员

一对多:四个用户属于多少个组,只有二个主组,其他为附加组

多对一:四个用户存在于二个组

多对多:多少个用户可以存在多个组

下图中每三个四方代表1个组,各类图表示一个用户,能够一本万利咱们领略用户和组的关系。

澳门金沙国际 1

## 用户及用户组配置文件介绍

/etc/passwd 用户及其性质音信

大家得以行使cat命令查看配置文件,下图截取了一有的。

澳门金沙国际 2

首先列(以冒号为分隔符):用户名

第二列:密码位

其三列:UID号 CentOS6 1-499为系统用户,预留

CentOS7 1-999为系统用户,预留

第5列:GID号 主组和提携组

第陆列:用户全名或注释

第5列:用户的家目录

第10列:用户暗中认可的shell类型

#

/etc/group 组及其性质消息

澳门金沙国际 3

第一列:组名称

其次列:组密码,平常不须要设定

其三列:GID CentOS6 1-499为系统组,预留

CentOS7 1-999为系统组,预留

第六列:以该组为附加组的用户列表

#

/etc/shadow 用户密码及其相关属性

澳门金沙国际 4

第一列:用户名

第三列:密码位 $加密方法$salt$password

!!代表账户被锁定

其三列:更改密码时间(天数总计)—距离一九七〇年5月1号时间

第⑥列:密码最短口令有效期

第肆列:口令过期时间,更改口令未来的时刻

第4列:口令到期前提前多少天提示

第九列:口令过期后有点天账户过期

第8列:帐号的有效期

#

/etc/gshadow 组密码及其相关属性

澳门金沙国际 5

第一列:组名

第二列:组密码

其三列:管理员列表,能够更改组密码和分子

第六列:将该组作为援助组的分子列表

## 用户和组管理命令

###用户管理命令

useradd

-u uid 创造用户时钦赐uid

-g gid 指明用户所属基本组

-c 用户的申明消息

-M 不建家目录

-s 钦命用户的私下认可shell

-e 用户过期时间

-G 为用户指明附加组,组须事先存在

案例1:创设用户gentpp,附加组为bin和root,私下认可shell为/bin/csh,注释音讯为”Gentoo
Distribution”。

[[email protected]
~]#useradd gentpp -G bin,root -s /bin/csh -c “Gentoo Distribution”

[[email protected]
~]#cat /etc/passwd|tail -n1 #查看/etc/passwd最后一行

[[email protected]
~]#id gentpp

uid=1007(gentpp) gid=1008(gentpp) groups=1008(gentpp),0(root),1(bin)

#

开创用户时默许值设定期存款放于/etc/default/useradd

[[email protected]
~]#cat /etc/default/useradd

# useradd defaults file

GROUP=100

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

INACTIVE=-1 #是不是启用帐号过期停权,-1意味着不启用

EXPIRE= #帐号终止日期,不安装表示不启用

SHELL=/bin/bash #新用户暗许所用的shell类型

SKEL=/etc/skel
#布署新用户家目录的暗中同意存放路径。当大家用useradd添加用户时,

用户家目录下的文件,都是从那里配置的目录中复制过去的。上边会详细解释一下/etc/skel

CREATE_MAIL_SPOOL=yes #创建mail文件

#

/etc/login.defs文件是用来定义成立用户时所必要的一对用户的布置音信。如创立用户时,是不是需求家目录,UID和GID的范围,用户及密码的有效期限等等。

上面是centos7本子的/etc/login.defs文件内容

#QMAIL_DIR Maildir

MAIL_DIR /var/spool/mail
#创办用户时,要在目录/var/spool/mail中开创贰个用户mail文件

#MAIL_FILE .mail

# Password aging controls:

# PASS_MAX_DAYS Maximum number of days a password may be used.

# PASS_MIN_DAYS Minimum number of days allowed between password
changes.

# PASS_MIN_LEN Minimum acceptable password length.

# PASS_WARN_AGE Number of days warning given before a password
expires.

PASS_MAX_DAYS 99999 #3个密码最长能够应用的小运

PASS_MIN_DAYS 0 #转移密码的极小天数

PASS_MIN_LEN 5 #密码的细小长度

PASS_WARN_AGE 7 #密码失效前提前多少天开头警告

# Min/max values for automatic uid selection in useradd

UID_MIN 1000 #细微UID为一千,也正是说添加用户时,UID从一千初步分配

UID_MAX 60000 #最大UID为60000

# System accounts

SYS_UID_【澳门金沙国际】用户和组,CentOS用户组和权限管理。MIN 201 #系统用户UID最小为201

SYS_UID_MAX 999 #系统用户UID最大为999

# Min/max values for automatic gid selection in groupadd

GID_MIN 1000 #GID的范围为一千-五千0。同地方UID景况

GID_MAX 60000

# System accounts

SYS_GID_MIN 201 #系统GID的限制是201-999

SYS_GID_MAX 999

# useradd command line.

CREATE_HOME yes #是或不是成立家目录,暗中同意需求创造;可用-m参数控制

# The permission mask is initialized to this value. If not specified,

# the permission mask will be initialized to 022.

UMASK 077 #私下认可权限

# This enables userdel to remove user groups if no members exist.

USERGROUPS_ENAB yes #剔除用户同时删除用户组

# Use SHA512 to encrypt password.

ENCRYPT_METHOD SHA512 #SHA512密码加密

#### 补充某个

/etc/skel的功用:/etc/skel目录使用来存放新用户配置文件的目录,当我们添加新用户时,那么些目录下的有所文件会自动被复制到新加上的用户的家目录下;暗中同意情况下,/etc/skel目录下的文本都以隐形文件;用过修改、添加、删除/etc/skel目录下的问及爱你,大家能够为新创制的用户提供联合的,标准的、早先化用户环境。

#

usermod

-u UID: 新UID

-g GID: 新主组

-G 新附加组,原来的附加组将会被覆盖;若保留原来,则要同时选用-a选项

-s 新的默许SHELL

-c 新的注明音讯

-d HOME:
新家目录不会活动创设;若要成立新家目录并活动原家数据,同时选取-m选项

-l login_name: 新的名字

-L: lock钦命用户,在/etc/shadow 密码栏的充实!

-U: unlock内定用户,将/etc/shadow 密码栏撤消!centos7不得以解锁

案例:修改gentpp的私下认可shell和描述新闻

[[email protected]
~]#cat /etc/passwd | tail -n1

gentpp:x:1007:1008:Gentoo Distribution:/home/gentpp:/bin/csh

[[email protected]
~]#usermod -s /bin/sh gentpp

[[email protected]
~]#cat /etc/passwd | tail -n1

gentpp:x:1007:1008:new world:/home/gentpp:/bin/sh

#

userdel

-r 删除用户时,连同其家目录,mail一同删除

#

getent passwd ==cat /etc/passwd #翻开用户音讯,后边可直接跟用户名

[[email protected]
~]#getent passwd ma

ma:x:1000:1000:ma:/home/ma:/bin/bash

#

id

-u: 显示UID

-g: 显示GID

-G: 显示用户所属的组的ID

-n: 展现名称,需同盟ugG使用

案例:

[[email protected]
~]#id gentpp

uid=1007(gentpp) gid=1008(gentpp) groups=1008(gentpp),0(root),1(bin)

[[email protected]
~]#id -u gentpp

1007

[[email protected]
~]#id -g gentpp

1008

[[email protected]
~]#id -G gentpp

1008 0 1

[[email protected]
~]#id -nG gentpp

gentpp root bin

#

su 切换用户或以其余用户身份执行命令

壹 、su 非登录式切换,不会读取指标用户的部分安排文件,不改动当前工作目录

二 、su – 登录式切换,会读取目的用户的安排文件,切换至家目录,完全切换

③ 、root使用su切换至其余用户无须密码,别的用户之间切换也许切换成root需求密码

#

passwd 修改钦命用户的密码,仅root用户权限

-l:锁定钦赐用户

-u:解锁钦点用户

-e:强制用户下次登录修改密码

-n mindays: 钦点最短使用年限

-x maxdays:最大应用定期

-w warndays:提前多少天初阶警告

-i inactivedays:非活动为期

–stdin:从正式输入接收用户密码

案例:修改ma的密码

[[email protected]
~]#echo maguofu |passwd –stdin ma

Changing password for user ma.

passwd: all authentication tokens updated successfully.

瞩目:三次只好修改2个用户密码,不可能批量修改。

#

###组帐号管理命令

#

groupadd

-g 创设钦命gid的组

-r 成立系统组 CentOS 6: ID<500

CentOS 7: ID<1000

#

groupmod

-n newgrpname oldgrpname 修改组名

-g newgid groupname 修改gid

#

groupdel

groupdel 组名 删除组

#

gpasswd

-a user 将user添加至钦命组中

-d user 从钦赐组中移除用户user

例如:
[[email protected]
~]#gpasswd -a ma -g zhu

Adding user ma to group zhu #将用户ma添加到组zhu中

[[email protected]
~]#gpasswd -d ma -g zhu

Removing user ma from group zhu #将用户ma从组zhu中删除

#

groupmems[options] [action]

options

-g 更改为钦赐组

actions

-a 钦命用户参预组

-d 从组中删除用户

-p 从组中清除全体成员

-l 展现组成员列表

案例:

[[email protected]
~]#groupmems -g admins -a ma

[[email protected]
~]#groupmems -g admins -a zhu #将ma和zhu用户拉长到admins中

[[email protected]
~]#groupmems -g admins -l #查阅admins中的用户列表

ma zhu

[[email protected]
~]#groupmems -g admins -d ma #将ma从admins中删除

[[email protected]
~]#groupmems -g admins -l

zhu

[[email protected]
~]#groupmems -g admins -p #清空admins中的全部组成员

[[email protected]
~]#groupmems -g admins -l

#

groups 查看用户所属组列表

[[email protected]
~]#groups ma

ma : ma

[email protected]
~]#groups zhu

zhu : zhu

#

##文本权限

###文件属性

通过ls -li可查阅文件的长格式音讯,我们取出二个进展分解

[[email protected]
/]#ls -li

64 dr-xr-xr-x. 4 root root 4.0K Jul 14 11:33 boot

第1列:inode号

第贰列:第一个字符代表文件的品种(-是普通文书,d是目录等等)

第③-十一个字符代表文件权限,前三个是用户的权限、中间四个用户组的、前面别的用户的权杖

第①三个字符.与SELINUX相关,暂且不做描述

第1列:文件的硬连接数

第六列:文件对应的属主可能用户

第⑤列:文件对应的属组也许用户组

第伍列:文件大小

第九列:文件最后的修改的时光

第8列:文件名

#

###修改文件属主和属组

chown 修改文件的属主(也得以改组)

用户 文件只怕目录 <==仅仅授权用户

:组 文件活目录 <==仅仅授权组

用户:组 文件或目录 <==表示授权用户和组

-R 递归

–reference=源文件 目的文件

强调:

1)在那之中的冒号“:”能够用点好“.”代替

2)要授权的用户和组名,必须是linux系统里其实存在的

案例:

[[email protected]
app]#ll

-rw-r–r–. 1 root root 0 Jul 29 16:27 f1

-rw-r–r–. 1 root root 0 Jul 29 16:27 f2

[[email protected]
app]#chown ma:ma f1

[[email protected]
app]#chown :zhu f2

[[email protected]
app]#ll

-rw-r–r–. 1 ma ma 0 Jul 29 16:27 f1

-rw-r–r–. 1 root zhu 0 Jul 29 16:27 f2

[[email protected]
app]#chown –reference=/app/f1 f2 #将f1的用户和属组新闻复制给f2

[[email protected]
app]#ll

-rw-r–r–. 1 ma ma 0 Jul 29 16:27 f1

-rw-r–r–. 1 ma ma 0 Jul 29 16:27 f2

#

chgrp 修改文件的属组(只可以改组)

—-reference=源文件 指标文件

-R 递归

案例:

[[email protected]
app]#chgrp ma f1 <==将f1的属组直接改动成ma

[[email protected]
app]#ll

-rw-r–r–. 1 ma ma 0 Jul 29 16:27 f1

-rw-r–r–. 1 ma ma 0 Jul 29 16:27 f2

-rw-r–r–. 1 root root 0 Jul 29 16:37 f3

[[email protected]
app]#chgrp –reference=/app/f3 f1

[[email protected]
app]#chgrp –reference=/app/f3 f2

[[email protected]
app]#ll

-rw-r–r–. 1 ma root 0 Jul 29 16:27 f1

-rw-r–r–. 1 ma root 0 Jul 29 16:27 f2

-rw-r–r–. 1 root root 0 Jul 29 16:37 f3

#

###文件权限

万般文书

r:可以读取文件的剧情

w:能够扩充大概覆盖文件的内容

x:能够举办改文件,供给和r协作

目录文件

r:能够查阅目录下有哪些文件,不能够查看文件的详细音讯

w:能够在目录中开创和删除文件,须要x同盟

x:能够cd进入该目录

区别:

澳门金沙国际 6

#

文件权限能够用八进制来表示

r:4

w:2

x:1

例如:rwx=4+2+1=7

#

修改文件权限

chmod

方法一:chmod u=rwx,g=rx,o=r /app/f1

方法二:chmod 755 /app/f1

方法三:chmod –reference=f1 f2 <==将f2的权柄修改成f1平等

#

暗许权限umask

诚实用途,从对应的位中校umask钦命权限去除

大局设置:/etc/bashrc

用户设置:~/.bashrc

新建目录权限=777-umask

新建文件权限=666-umask 看结果,有寄数,对位+1

无寄数 偶数不变,最后结果

#

目录案例:

[[email protected]
app]#umask

0022

现阶段umask的值为0022(首个人是例外权限位,后续会介绍临时不要理会)

新建目录权限=777-022=755

[[email protected]
app]#mkdir test/

[[email protected]
app]#ll

drwxr-xr-x. 2 root root 6 Jul 29 19:15 test
<==创立一个目录test能够看见默许权限为755

[[email protected]
app]#su – ma <==切换来ma用户,root私下认可umask为022,别的用户002

Last login: Sat Jul 29 17:17:11 CST 2017 on pts/0

[[email protected]
~]$umask

0002

[[email protected]
~]$mkdir test2

[[email protected]
~]$ll

drwxrwxr-x. 2 ma ma 6 Jul 29 19:20 test2
<==创制的目录为775=777-002,符合上述格式

#

文本案例:此次我们把暗中认可umask更改为0421

[[email protected]
app]#umask 0421

[[email protected]
app]#umask

0421

[[email protected]
app]#touch f1

[[email protected]
app]#ll

–w-r–rw-. 1 ma ma 0 Jul 29 19:38 f1 <==666-421=245
5为奇数+1,偶数不变。最后为246。

# 用户组和权力管理 ##
概念 用户分为三类: 壹 、一级用户:root
uid=0,不难的话uid为0的用户就是最棒用户。 二 、虚拟用…

1.useradd              useradd 用户名               useradd -u xxx 用户名 钦定被创制用户的uid为多少

                    -g      gid 指明用户所属基本组
                    -c      用户的笺注消息
                    -M     创制非系统用户,不建家目录
                    -s       钦定用户的暗许shell
                    -e      用户过期时间
                    -G     为用户指明附加组,组须事先存在

            创立用户时默许值设定期存款放于/etc/default/useradd 
            [root@centos7 ~]#cat /etc/default/useradd
            # useradd defaults file
            GROUP=100                       
           HOME=/home #把用户的家目录建在/home中         
           INACTIVE=-1 #是还是不是启用帐号过期停权,-1意味不启用
           EXP  IRE= #帐号终止日期,不设置表示不启用
           SHELL=/bin/bash #新用户暗中认可所用的shell类型
           SKEL=/etc/skel
#陈设新用户家目录的默许存放路径。当大家用useradd添加用户时,用户家目录下的文件,都是从那里配置的目录中复制过去的。
           CREATE_MAIL_SPOOL=yes #创建mail文件

案例1:成立用户gentpp,附加组为bin和root,私下认可shell为/bin/csh,注释消息为”Gentoo
Distribution”。

[root@centos7 ~]#useradd gentpp -G bin,root -s /bin/csh -c “Gentoo Distribution”
[root@centos7 ~]#cat /etc/passwd|tail -n1  #查看/etc/passwd最后一行
[root@centos7 ~]#id gentpp
uid=1007(gentpp) gid=1008(gentpp) groups=1008(gentpp),0(root),1(bin)

                 /etc/login.defs文件是用来定义创立用户时所须要的一对用户的配置音讯。如创设用户时,是不是须要家目录,UID和GID的限量,用户及密码的有效期限等等。

2.usermod
                   -u            UID: 新UID
                   -g            GID: 新主组
                   -G          
新附加组,原来的附加组将会被掩盖;若保留原来,则要同时接纳-a选项
                   -s            新的默许SHELL
                   -c            新的注释新闻
                   -d            HOME:
新家目录不会自动创设;若要创设新家目录并活动原家数据,同时采纳-m选项
                   -l              login_name: 新的名字
                   -L            lock钦命用户,在/etc/shadow
密码栏的充实!
                   -U            unlock钦点用户,将/etc/shadow
密码栏撤废!centos7无法解锁

案例:修改gentpp的默许shell和描述音讯

[root@centos7 ~]#cat /etc/passwd | tail -n1
gentpp:x:1007:1008:Gentoo Distribution:/home/gentpp:/bin/csh
[root@centos7 ~]#usermod -s /bin/sh gentpp
[root@centos7 ~]#cat /etc/passwd | tail -n1
gentpp:x:1007:1008:new world:/home/gentpp:/bin/sh

 3.userdel

                 -r           删除用户时,连同其家目录,mail一同删除

    getent passwd ==cat /etc/passwd #查阅用户新闻,前边可一贯跟用户名
   

 [root@centos7 ~]#getent passwd fan
 fan:x:1000:1000:ma:/home/ma:/bin/bash

 

 4.ID
               展现当前用户自身的消息
                id                 用户名  彰显钦赐用户的音讯
               id -u              用户名 突显钦定用户的uid
               id -g              用户名 展现钦命用户的主组的gid
               id -un            用户名 展现钦定用户的名字
               id -gn            用户名 突显内定用的的主组的组名

案例:

[root@centos7 ~]#id gentpp
uid=1007(gentpp) gid=1008(gentpp) groups=1008(gentpp),0(root),1(bin)
[root@centos7 ~]#id -u gentpp
1007
[root@centos7 ~]#id -g gentpp
1008
[root@centos7 ~]#id -G gentpp
1008 0 1
[root@centos7 ~]#id -nG gentpp
gentpp root bin

 

5.su
切换用户或以别的用户身份执行命令
              su                  
非登录式切换,不会读取指标用户的一些计划文件,不更改当前工作目录
              su –               
登录式切换,会读取指标用户的布署文件,切换至家目录,完全切换
              root                
使用su切换至别的用户无须密码,其余用户之间切换只怕切换来root必要密码

6.passwd
改动钦赐用户的密码,仅root用户权限
               -l:                   锁定钦命用户
              -u:                   解锁钦点用户
              -e:                   强制用户下次登录修改密码
              -n mindays:     内定最短使用定期
              -x maxdays:  最大利用年限
             -w warndays: 提前多少天起首警告
              -i :                 非活动为期
              –stdin:           从规范输入接收用户密码

案例:修改fan的密码

[root@centos7 ~]#echo fanhj |passwd –stdin fan
Changing password for user fan.
passwd: all authentication tokens updated successfully.

 

专注:1回只可以修改3个用户密码,不能够批量改动。

1.添加用户命令useradd

一、用户:

贰 、组帐号管理命令

1.groupadd
              -g                  创立钦点gid的组
              -r                   成立系统组 CentOS 6: ID<500
              CentOS 7: ID<1000

2.groupmod
              -n                  newgrpname oldgrpname 修改组名
              -g                  newgid groupname 修改gid 

3.groupdel
              groupdel 组名 删除组 

4.gpasswd
              -a                  user 将user添加至钦命组中
              -d                  user 从钦点组中移除用户user

5.groupmems[options]
[action]
options
              -g                  更改为钦命组
actions
              -a                  钦赐用户参预组
              -d                  从组中删除用户
              -p                  从组中清除全数成员
              -l                    展现组成员列表

root@centos7 ~]#groupmems -g admins -a f
[root@centos7 ~]#groupmems -g admins -a h #将ma和zhu用户添加到admins中
[root@centos7 ~]#groupmems -g admins -l #查看admins中的用户列表
fan  h
[root@centos7 ~]#groupmems -g admins -d f #将ma从admins中删除
[root@centos7 ~]#groupmems -g admins -l
h
[root@centos7 ~]#groupmems -g admins -p #清空admins中的所有组成员
[root@centos7 ~]#groupmems -g admins –l

6.groups 查看用户所属组列表

[root@centos7 ~]#groups fan
fan : fan
root@centos7 ~]#groups h
h : h

 

参数:

    是用来操作系统中差别成效的身份.

-u:用户uid,配置文件在/etc/login.defs下

Linux系统中用户的分类

-o:合营-u选项,不检查uid的唯一性

    1)一流用户: root  uid=0

-g:创制用户时钦定主组为有个别已存在的组。(将不会更创设与用户同名的组)

    2)系统用户:不需求报到系统,服务于应用程序,维护系统的周转

-c “hello”:注释音信

            bin  nobody  uid=1-499

-s shellL:指明用户的暗中同意shell程序

    3)普通用户:能够登录的用户  uid>=500

-G :为用户指明附加组,组必须事先存在

        UID:用户标识

-N:不创建私用组做主组,使用users组做主组

拉长用户:useradd  username  创造的时候能够钦赐u、g、c等接纳

成立的admin没有团结的gid,暗许为users组的gid

查阅当前用户的ID:id  username

-r:创立系统用户 centos:id<500 ,centos7:id<一千

[root@localhost ~]# useradd -N admin
// 创建一个用户并且不创建私用的组做主组
[root@localhost ~]# id admin   
uid=1001(admin) gid=100(users) groups=100(users)

查看当前用户的名字:whoami

实例:

[root@localhost ~]# useradd -u 100 test 
 //指定test用户的uid为100

安装用户密码:passwd  username
(普通用户只可以通过passwd修改本人小编密码)

1.1来得或转移默许配置:

删去三个用户:userdel  username  (-r 选项会连同创立的家目录一同删除)

useradd -D //呈现暗许配置,配置文件在/etc/default/useradd文件中

创建组:groupadd  groupname

useradd -D -s //修改默许shell

删除组:groupdel  groupname (用户的重要组不得以去除)

useradd -D -b //修改暗许家目录

修改用户音讯:usermod  -[u,g,G等]  username

useradd -D -g //修改暗中认可gid

修改组的新闻:groupmod  groupname

实例:

[root@localhost ~]# useradd  -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
//查看创建账号默认权限设置
[root@localhost ~]# useradd -D  s /bin/csh  
//设置默认shell为csh,当创建用户的时候用户的默认shell为csh

为组添加3个管理员:gpasswd  -A  username  groupname

2.用户修改命令usermod

用组管理员为组添加二个用户成员:gpasswd  -a  usrname  groupname

参数:

去除二个组成员:gpasswd  -d username group

-u :钦定新的uid

为组织设立定三个密码:gpasswd  groupname

-g :钦赐新的组gid

系统文件:

-G :新的附加组,原来的会被覆盖,若要保留原有,则要同时丰盛-a选项

    /etc/passwd:用户音讯

-s :新的私下认可shell

    /etc/shadow:用户密码相关的消息

-c :新的笺注音讯

  useradd user1

-d :新家目录不会自行创立。若要创设新的家目录并活动原数据,同时选择-m选项

① 、会在/etc/passwd添加一行

-o 同盟-u选项,不检查UID的唯一性 创设同UID的用户,权限相同

贰 、会在/etc/group添加一行

-l :新的名字

③ 、会在/etc/shadow添加一行

-L :lock 钦赐用户名,在/etc/shadow密码栏的扩张!,表示锁定账号

④ 、会在/etc/gshadow添加一行

-U :unlock钦命用户,将/etc/shadow密码栏的!拿掉,表示解锁账号

五 、会在/home目录下树立二个与用户同名的目录作为家目录,同时会从/etc/skel目录中复制出全部的隐藏文件到该目录

-e yyyy-mm-dd:指明用户账号过期日期

陆 、修改权限

-f :内定非活动定期

-u    钦点用户的uid

实例:

[root@localhost ~]# usermod -u 1000 test
//指定test的uid为1000,如果1000已经存在需要加上-o 
[root@localhost ~]#usermod -ou 1003 test 
//修改test的uid为1003,因为已经存在所以必须加-o,切记-o参数一定要加在前面,如果在后面会报错

-g    钦定用户的gid

用户删除命令 userdel

-G    钦定附属组,能够有多个, 可是这一个附属组必须是系统内早已存在的

参数:

-c    钦点描述

-r :删除账号的还要删除家目录

-d    钦点家目录

实例:

[root@localhost ~]# userdel test
//删除test账号,但不删除家目录
[root@localhost ~]# userdel -r wzc 
//删除wzc账号并且删除家目录

-M    不制造家目录

3.查看用户相关的Id音信,命令id

-s    指定shell

参数:

-e    内定用户过期时间, 日期

-u :显示uid

-f    钦点用户过期时间, 天数

-g :显示gid

#useradd u1 -u 2000 -g 2000 -G 516 -d /u1 -c user1 -s /sbin/nologin

-G :展现用户所属的组的id

usermod

-n :显示名称,需同盟ugG使用

与useradd参数大概,一个是在开创用户时设定,3个是用户创设好

实例:

[root@localhost ~]# id admin   
uid=1001(admin) gid=100(users) groups=100(users)
//当前用户的组id

-u -g -G -d -s   

4.用户切换命令su

-L  锁定用户

参数:

-U  解除锁定

su username:非登录式切换,即不会读取指标用户配置的文书,不改动当前工作目录

-l    改名

su – username :登录式切换,会读取目的用户的配备文件,切换至家目录,完全切换

-a  添加用户到组,结合-G使用

root su至其余用户无需密码:非root用户切换时要求密码

passwd -l 锁定用户

换个身份执行命令:

      -u 解锁用户

实例:

[root@localhost ~]# su - root -c 'ls /root' 
111.txt          gcc-4.8.5-11.el7.x86_64.rpm  node-latest.tar.gz
anaconda-ks.cfg  manpages-zh-1.5.1.tar.gz     node-v8.1.4
// 临时获取root权限
[root@localhost ~]#  su test    
//切换到test账号,但不读取test账号配置文件信息,不改变当前工作目录
[root@localhost ~]#  su - test 
//切换到test账号并且读取test账号配置信息,目录改变到test的家目录

  -n 密码最小使用定期  天数

4.改动用户密码命令passwd

  -x 密码最大使用定期  天数

参数:

  -w  密码过期前日提醒  天数

-l :锁定钦赐账号

whoami

-u :解锁内定账号

who

-e :强制用户下次登录修改密码

who am i

-n :钦赐最短使用年限(密码多短期过期)

w

-x :最大应用时间限制(密码到期时间必须修改时间)

users

-w :提前多少天警告

id

–stdin :从标准输入接受用户密码

finger username  查看用户的相关音讯

实例:

[root@localhost ~]# echo yyc| passwd --stdin root
//表示前面输出yyc,作为后面root密码

[root@localhost ~]# passwd -l wzc 
//锁定wzc账号,密码文件/etc/shadow查看时会看到wzc账号密码那位会有!!号,
说明账号被锁,解锁就输入相应的命令,如果是2个!就要解锁2次

chfn username  修改用户相关音讯

5.改动用户密码策略命令chage

userinfo username    X window下修改用户相关新闻 

参数:

对用户的操作:新增、删除、修改、查看、设置密码

-d 10 root:钦定密码的上次修改时间

    一 、查看用户    id

-E :钦定账号的逾期时间

        # id            //暗许查看的是现阶段用户的新闻

-I :密码过期多长期后有点天账号过期

            uid=0(root) gid=0(root) groups=0(root)

-m:设置最小存活时间(密码多长时间过期)

        # whoami  //查看当前用户是哪个人

-M:设置最大存活时间(密码到期时间必须修改时间)

            root

-W:设置密码过期前的唤起时间

        # id lp        //查看钦赐用户的音信

-l :详细展现username密码策略音讯

            uid=4(lp) gid=7(lp) groups=7(lp)

实例:

[root@localhost ~]# chage -d 10 root  
//指定用户上次修改密码的时间
[root@localhost ~]# chage -l root
Last password change                                    : never
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
//详细显示root密码策略信息

                uid:用户标识

6.开立组命令groupadd

                gid:组标识,用户的主组

参数:

                groups:用户所属组音讯

-g :指明gid

    ② 、添加用户  useradd

-r :创立系统组

        注意:添加用户的操作只有root能操作

实例:

groupmod  -n haha  test
//把test的组名修改成haha

        # useradd niulang

7.修改组命令groupmod

        反例: 

参数:

        # su – niulang    // switch user切换用户

-n username:新名字

        $ useradd zhinv

-g :新gid

            -bash: /usr/sbin/useradd: Permission denied 
权限被驳回,普通用户是力不从心添加用户的

实例:

[root@localhost ~]# groupdel haha 
//删除haha组

        $ exit

8.删减组命令groupdel

            logout

参数:

        # id niulang

groupdel group:删除钦赐组

            uid=500(niulang) gid=500(niulang) groups=500(niulang)

实例:

[root@localhost ~]# groupdel haha //删除haha组

           
添加用户时,要是不点名用户的组,那么暗中认可会创设3个与用户名同名的组作为用户的首要组。

9.更改组密码命令gpasswd

      1)添加用户时内定选项  man useradd

参数:

            -c:注释性的叙说新闻

-a user:将user添加至钦定组中

            -d:内定用户的家目录

-d user:从钦命组中移除用户user

                    私下认可情状下:

-A user1 user2,…:设置有管理员权限的用户列表

                            root的家目录是/root

实例:

gpasswd  -a test yyc 
//将test添加到yyc的组中
gpasswd root 
//设置root用户的组(gid)密码

                            普通用户的家目录是/home

10.暂且切换主组命令newgrp

            -g:钦命用户的首要组,前提:组是必须存在的

实例:

[root@localhost ~]# newgrp root 
//切换到root的gid的组下,需要输入组密码,
当获取到root的组后可以拥有root权限,退出只须exit即可

            -G:内定用户的附加组(附属组),前提:组是必须存在的

11.转移和查看组成员命令groupmems

            -s:钦定用户的登录shell

参数:

            -u:钦赐用户的uid

-g :更改为钦命组(只有root)

            # head -1 /etc/passwd

-a :钦点用户出席组

                root:x:0:0:root:/root:/bin/bash

-d :从组中删除用户

               
用户名:密码:uid:gid:注释性描述:用户的家目录:用户的报到shell

-p :从组中清楚全部成员

                                    -u  -g      -c              -d     
            -s

-l :突显组的分子立标

            # echo $SHELL  //查看当前shell,echo能够用来打印变量

实例:

groupmems  -lg root /显示组
groupmems -a  test -g yyc 
//把test加入到yyc的附加组,-a表示添加,-g指定yyc组

                /bin/bash

          必要分其他三种shell

           
/bin/bash:可记名shell,若是用户的shell是那一个,那么该用户能够登录到系统中

           
/sbin/nologin:非登录shell,假诺用户的shell是以此,那么该用户是不允许登录到系统的

    格式:useradd 选项 选项的参数 … 用户名

            例子:

                # useradd -u 600 -s /sbin/nologin zhinv

                # id zhinv

                    uid=600(zhinv) gid=600(zhinv) groups=600(zhinv)

                # tail -1 /etc/passwd

                    zhinv:x:600:600::/home/zhinv:/sbin/nologin

                # useradd -g 502 wangmu  错的

                    useradd: group ‘502’ does not exist

                # useradd -g zhinv wangmu

                # id wangmu

                    uid=601(wangmu) gid=600(zhinv) groups=600(zhinv)

    ③ 、删除用户 userdel

          # userdel wangmu       
//删除的时候不会去除用户的家目录和信箱

          # useradd wangmu        //能添加,可是会有提示消息

                useradd: warning: the home directory already exists.

                Not copying any file from skel directory into it.

                Creating mailbox file: File exists

          -r: 可以彻底的去除三个用户

            # userdel -r wangmu

          # cd /var/spool/mail/    邮箱所在地方

    肆 、给用户设置密码

        passwd:

         
拔尖用户:既能够修改本身的密码,又能够修改外人的密码,并且不需求提供当前密码

          普通用户:只好修改本身的密码,供给从严,并且要求提供当前密码

        # passwd    // 暗中同意修改当前用户的密码

            Changing password for user root.

            New password:

            BAD PASSWORD: it is based on a dictionary word

            BAD PASSWORD: is too simple

            Retype new password:

            passwd: all authentication tokens updated successfully.

        # passwd niulang            //修改钦赐用户的密码

            Changing password for user niulang.

            New password:

            BAD PASSWORD: it is too short

            BAD PASSWORD: is too simple

            Retype new password:

            passwd: all authentication tokens updated successfully.

        反例:

            # su – niulang

            $ passwd zhinv

                passwd: Only root can specify a user name.

       
普通用户修改自个儿的密码,要求当前密码,而且长度最少5位,而且不可能是字典单词

            $ passwd

                Changing password for user niulang.

                Changing password for niulang.

                (current) UNIX password:

                New password:

                BAD PASSWORD: it is based on a dictionary word

                New password:

                Retype new password:

                passwd: all authentication tokens updated successfully.

        /etc/shadow:存放用户密码音讯的文件

            # head -1 /etc/shadow

root:$6$9AOmQbxm$3X1qbP0srKNql7jCXpmwhyNxGTHmIbT65zF.:16276:0:99999:7:::

用户名:加密后的密码:….

        $6$:加密算法是sha512

        $1$:加密算法是md5

    ⑤ 、修改用户:常用

        usermod:      //modify:修改

            -G:修改用户的附属组,不管用户原本的附属组怎样,直接覆盖

            -g:修改用户的首要组

            -a:一般和-G联合使用,追加附属组

            -u:修改用户的uid

            -d:修改用户的家目录

            -s:修改用户的shell

            # useradd -G niulang,zhinv sha

            # id sha

                uid=601(sha) gid=601(sha)
groups=601(sha),500(niulang),600(zhinv)

            # useradd sha2

            # usermod -G sha2 sha

            # id sha

                uid=601(sha) gid=601(sha) groups=601(sha),602(sha2)

            # usermod -a -G niulang sha

            # id sha

                uid=601(sha) gid=601(sha)
groups=601(sha),500(niulang),602(sha2)

练习:

    1)添加多个用户usr1,usr2,usr3

        # useradd usr1

        # useradd usr2

        # useradd usr3

   
2)添加用户usr4,同时钦赐其主组为usr1,uid为二〇一六,并说明用户创造是还是不是正确

        # useradd -g usr1 -u 2014 usr4

        # id usr4

    3)添加用户usr5,家目录为/tmp/usr5,附加组为usr2,usr3

        # useradd -d /tmp/usr5 -G usr2,usr3 usr5

    4)修改usr4的附加组为usr2,usr3,注意验证

        # usermod -G usr2,usr3 usr4

        # id usr4

    5)修改usr1的shell为非登录shell

        # usermod -s /sbin/nologin usr1

        # grep usr1 /etc/passwd      //仅过滤出文件中含有usr1的行

    6)彻底剔除usr5用户

        # userdel -r usr5

    7)为用户usr1设置密码redhat

        # passwd usr1

二、组  group

   
用户和组的关系:组中可以没有用户、也足以有2个要么七个用户。用户唯有二个首要组,能够而且属于多个组,不过除了那么些之外主组以外的其它组称为附属组。

    组的分类:从用户的角度分的,分为:

                主组:primary group、initial group、first
group,用户的私下认可组,约等于gid所标识的组

                附属组:secondary group、supplementary group

    1、添加组  groupadd

        # groupadd g1

            -g:添加组时,内定gid是不怎么

        # groupadd -g 800 g2

        # tail -2 /etc/group

            g1:x:603:

            g2:x:800:

            组名:密码:gid:组里成员

    2、修改组: groupmod

        # groupmod -g 888 g2

        # grep g2 /etc/group

            g2:x:888:

        修改组的名字 :  -n 新名字

            # groupmod -g 588 -n group1 g1

            # grep gr /etc/group

                group1:x:588:

    3、删除组:groupdel

        注意:不可见删除用户的重要组,能够删除用户的附属组

        # groupdel group1

        # grep group1 /etc/group 
//没有其它输出,表示文件中并未包蕴group1关键字的行

        #

        小实验:

        # useradd t1

        # useradd t2

        # id t1

            uid=603(t1) gid=603(t1) groups=603(t1)

        # id t2

            uid=604(t2) gid=604(t2) groups=604(t2)

        # tail -2 /etc/group

            t1:x:603:

            t2:x:604:

        # groupdel t1    //t1组是t1用户的首要组,无法去除

            groupdel: cannot remove the primary group of user ‘t1’

        # usermod -g t2 t1

        # usermod -G t1 t2

        # id t1

            uid=603(t1) gid=604(t2) groups=604(t2)

        # id t2

            uid=604(t2) gid=604(t2) groups=604(t2),603(t1)

        # groupdel t1  //t1组仅仅是t2用户的附属组,能够被去除

        # grep t1 /etc/group

4、组管理  gpasswd

       
管理/etc/group和/etc/gshadow文件的,每一个组能够有管理员,成员和密码

       
给组加密码:能够让知道组密码的人,近年来的切换来该组中,能够利用该组的能源。

        1)钦点组的管理员列表

            # groupadd groups

            # useradd u1

            # gpasswd -A u1 groups    //u1用户正是groups组的总指挥了

        2)向组中添加成员

            # su – u1

            $ gpasswd -a sha groups

                Adding user sha to group groups

            # tail /etc/group

                groups:x:889:sha

        3)给组设置密码

            # gpasswd groups

                Changing the password for group groups

                New Password:

                Re-enter new password:

        4)切换组

            # su – niulang

            $ id

                uid=500(niulang) gid=500(niulang) groups=500(niulang)

            $ newgrp groups  //一时切换组

                Password:

            $ id

                uid=500(niulang) gid=889(groups)
groups=500(niulang),889(groups)

        5)将用户从组中删除

            # gpasswd -d sha groups

                Removing user sha from group groups

/etc/passwd: 保存用户消息的文本

/etc/shadow: 保存用户密码相关消息的文书

/etc/group:  保存组音讯的公文

/etc/gshadow:保存组密码相关消息的文书

1、/etc/passwd: *****

    # man 5 passwd

    # head -1 /etc/passwd

        root:x:0:0:root:/root:/bin/bash

      用户名:密码占位符:UID:GID:描述新闻:家目录:登录shell

2、/etc/shadow

    # useradd zhangsan

    用户有无密码三种情况:

    # tail -1 /etc/shadow.

        zhangsan:!!:16276:0:99999:7:::

    # passwd zhangsan

        Changing password for user zhangsan.

        New password:

        BAD PASSWORD: it is WAY too short

        BAD PASSWORD: is a palindrome

        Retype new password:

        passwd: all authentication tokens updated successfully.

    # tail -1 /etc/shadow

       
zhangsan:$6$/23ax9CR$IDSfqNF3gZqDq4L0.Bdqd19SLbzBa6CuSpuOn.9YrFmSWYy09xPGa47SVEsQXfQJDybUDOzsu4vG.FV

        KMt91l/:16276:0:99999:7:::

  # man 5 shadow

    zhangsan:!澳门金沙国际,!:16276:0:99999:7:::

      1)用户名

      2)加密后的密码

      3)上3回密码修改时间(单位是天,是离开一九七〇年八月10日有点天)

      4)密码最小生存周期  单位:天 
0代表随时能够修改密码;2表示二日内不能改改

      5)密码最大生存周期  单位:天,密码使用的最长日子

      6)密码到期前些天起始警告

      7)密码过期以往到账户失效在此之前的时光限定       
密码过期之后还足以用几天

      8)账户过期时间

      9)保留列

  查看用户的密码相关的时间

      # chage -l root

            Last password change : Jul 25, 2014

            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

  # chage -d 0 用户名  用户下次登录必须改变密码

    chage -m 2 u1  修改密码最少使用天数

    chage -M 50 u1  修改密码最大使用天数(密码过期时间)

    chage -I 5 u1 
密码过期后到账户失效的气数(密码过期后仍可以利用的运气)

        chage -E “2019-3-5” u1 修改的是账户的逾期时间

3、/etc/group

    # head -1 /etc/group

        root:x:0:

        组名:密码占位符:GID:用户列表

4、/etc/gshadow

    # head -1 /etc/gshadow

        root:::

        组名: 加密后的密码:组管理员:组成员

/etc/login.defs  私下认可创设新用户的配置文件

和用户登录相关的公文或目录

/etc/profile

    此文件为系统的每一个用户设置环境音信,当用户率先次登录时,该公文被执行.
并从/etc/profile.d目录的陈设文件中募集shell的安装

/etc/bashrc

    为每1个运转bash shell的用户执行此文件.当bash
shell被打开时,该文件被读取

~username/.bashrc

   
各种用户都可应用该文件输入专用于自身使用的shell音信,当用户登录时,该公文仅仅执行贰次!暗中同意意况下,他安装有个别环境变量,执行用户的.bashrc文件

~username/.bash_profile

    该文件包罗专用于您的bash
shell的bash音信,当登录时以及历次打开新的shell时,该该文件被读取。

/etc/profile.d/*

profile类的文本:

          设定环境变量

          运行命令或脚本

bashrc类的文件:

          设定本地变量

          定义命令别称

站在用户登录的角度来说,SHELL的档次:

登录式shell:

          正常通过某终端登录

          su – USERNAME

          su -l USERNAME

非登录式shell:

          su USELacrosseNAME(使用su切换用户,不带任何参数)

          GUI下打开命令窗口

          自动执行的shell脚本

登录式shell怎么着读取配置文件:

/etc/profile –>/etc/profile.d/*.sh –>~/.bash_profile
–>~/.bashrc –>/etc/bashrc

非登录式shell怎么样读取配置文件:

~/.bashrc –>/etc/bashrc –>/etc/profile.d/*.sh

su – :完全登录shell,切换后用户拥有和谐的一套环境变量

su:不完全登录shell,切换后用户选择的是别的用户的环境变量

和新创制用户相关的文本:/etc/login.defs  /etc/default/useradd

/etc/rc.local 
是系统开机后实施的最后一个本子,一般被管理员执行一些系统开机械运输营的吩咐

相关文章