xml地图|网站地图|网站标签 [设为首页] [加入收藏]
来自 IT之家 2019-11-10 08:35 的文章
当前位置: 新濠国际登录平台 > IT之家 > 正文

(将不会再创建与用户同名的组),确认用户存

一、用户管理命令

![Uploading qq_477481.jpg . . .]

用户和组

Linux用户管理各命令的使用

unix的元年为1970年的1月1日

现行的各个版本的系统,无论是win还是linux大都遵循3A用户及权限管理机制即(Authencattion 身份认证机制、Authorzation 授权、Accounting 审计)

新濠国际登录平台 1

如图,当用户输入用户名密码后,系统通过查找passwd文件中相对应的UID,GID,以及所属组的信息,确认用户存在与否,如果存在,那么登陆账户,执行操作,如果没有,那么重新登陆。

[[email protected] ~]# cat /etc/passwd

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

以上内容为我passwd中相关root的信息,其从左至右依次为username,password,uid,gid,GECOS,homefile,shell。

username 不用多说,基本上都知道,根据角色,权限都会用不同的username

password 经过加密的密码文件信息,在Centos5.x及以下用到的加密方式为md5,但在Centos6及 以上好像用的加密方式是sha512,并保存在/etc/shadow文件下

UID 用户的ID号码,机器通过ID号码查找你的用户名及密码信息是否正确,个数为0-65535个

其中普通用户:1-60000

系统用户:

CentOS6: 1-499

CentOS7:1-999

登录用户:

CentOS6: 500+

CentOS7: 1000+

GID GroupName组ID,用于分配用户的权限及角色,它的主要配置文件为/etc/gshadow 和/etc/group,一些公司的邮件系统基本上都是使用的这个来区分职能,linux对于组的分 配:

管理员组:0

普通组:

Centos6.X:1-499

Centos7.X:1-999

登陆用户:

Centos6.X:500+

Centos7.X:1000+

GECOS 用户的一些详细信息

HOMEFILE 家目录,存放一些个人角色用户的文件

SHELL 用户默认shell

注:/etc/shadow文件管理的是用户的密码信息,为单向不可逆文件,如以下代码文件:

新濠国际登录平台 2其格式为:

login name:encrypted password:date of last password change:minimum password age:maximum password age:password warning period:password inactivity period:account expiration date:reserved field

他的数据分别以":"或者"$"间隔开来

用户和组管理的相关命令:

useradd、usermod、passwd、userdel

groupadd、groupmod、gpasswd、groupdel

chage, chsh, chfn

id, w, who, whoami

su

useradd:创建用户

useradd [options] LOGIN

useradd -D [options]

-r: 创建系统用户

-u UID: 指定UID;

-g GID: 指定用户所属基本组,此组必须事先存在

-c 'COMMENT':

-d /PATH/TO/SOMEWHERE:指定用户的主目录路径;此位置不能事先 存在,否则,其用户相关配置文件将被 复制;/etc/skel

-s SHELL:设定用户的默认shell;

cat /etc/shells

-G GID,...:指定所属的附加组;

-M: 不给用户创建家目录;

groupadd:创建组

groupadd [OPTIONS] GROUPNAME

-g GID: 指明组ID;

-r: 创建系统组;

[[email protected] ~]# groupadd database

[[email protected] ~]# groupadd sql

id:查看用户相关的id信息;

id [OPTION]... [USER]

-u: UID

-g: GID

-G: Groups

-n: NAME

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

3000 501 502

su:switch user, 切换用户或以其它用户的身份执行命令;

切换方式:

su USERNAME: 非完全切换;非登录式切换

su - USERNAME或su -l USERNAME: 完全切换;登录式切换

仅以指定用户的身份执行指定的命令:

su - USERNAME -c 'COMMAND'

usermod:用户属性修改

usermod [OPTION]... LOGIN

-u UID

-g GID

-G GID[,GID,...]:修改用户所属的附加组;同时使用-a选项;

-s SHELL

-c 'COMMENT'

-d HOME: 修改用户的家目录为新位置时,用户原来的文件是不会被 移动至新家;-m选项可实现同时将其迁至新的家目录;

-l LOGIN:

-L:lock user

-U: unlock user

[[email protected] ~]# useradd nicai

[[email protected] ~]# usermod -l Oralce nicai

[[email protected] ~]# cat /etc/passwd

Oracle:x:3000:3000::/home/database:/bin/bash

Oralce:x:3001:3001::/home/nicai:/bin/bash

passwd:给用户添加密码

passwd [OPTION] [UserName]

-l: lock user

-u: unlock user

-n mindays: 最短使用期限;

-x maxdays:默认为99999天;

-w warndays:

-i inactivedays:

--stdin:从标准输出接收用户密码;

echo 'centos' | passwd --stdin centos

userdel:删除用户

userdel [-r] USERNAME

-r:删除用户的同时删除其家目录;

新濠国际登录平台 3

groupmod: 组属性修改

groupmod [OPTION] GROUPNAME

-n GROUP_NAME

-g GID

gpasswd:设定组密码

newgrp:切换基本组为指定的组

groupdel:删除组

chage:修改用户账号及密码的属性

chage [OPTION]... LOGIN

其它命令:chfn, chsh, finger, whoami, who

例如:

创建用户Oracle,所属附加组database和sql,ID号为3000, 家目录为/home/database;

[[email protected] ~]# useradd Oracle -G database,sql -u 3000 -d /home/database
新濠国际登录平台 4

unix的元年为1970年的1月1日 现行的各个版本的系统,无论是win还是linux大都遵循3A用户及权限管理机制即(Authen...

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.添加用户命令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<1000

[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

为组添加一个管理员: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选项

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

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

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

-l :新的名字

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

-L :lock 指定用户名,在/etc/shadow密码栏的增加!,表示锁定账号

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

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

5、会在/home目录下建立一个与用户同名的目录作为家目录,同时会从/etc/skel目录中复制出所有的隐藏文件到该目录

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

6、修改权限

-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参数差不多,一个是在创建用户时设定,一个是用户创建好

实例:

[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:指定密码的上次修改时间

    1、查看用户    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

    2、添加用户  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组

            添加用户时,如果不指定用户的组,那么默认会创建一个与用户名同名的组作为用户的主要组。

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

本文由新濠国际登录平台发布于IT之家,转载请注明出处:(将不会再创建与用户同名的组),确认用户存

关键词: