Linux中的账号管理之命令的使用(中)

linux中账号管理的命令非常多,我这里主要介绍最常见的几个命令,这些命令分别是针对用户和组的管理

主要介绍对用户管理的命令:

一、用户创建:useradd

useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中

格式:useradd[options] LOGIN

选项:

-u UID: [UID_MIN, UID_MAX]定义在/etc/login.defs

-o 配合-u 选项,不检查UID的唯一性

例如:将一个普通rooter用户变成了一个管理员,因为不检查UID的唯一性,会导致现有的id和原有的id一样

1.png

-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

例如:

创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution"

   useradd -G bin,root -s /bin/csh -c "Gentoo Distribution" gentoo

    2.png

3.png

二、用户属性修改usermod

usermod命令用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。你需手动更改使用者的crontab档。也需手动更改使用者的at工作档。采用NIS server须在server上更动相关的NIS设定

格式:useradd[options] LOGIN

选项:

-u UID: 新UID

-g GID: 新基本组

-G GROUP1[,GROUP2,…[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append;

-s SHELL:新的默认SHELL;

-c 'COMMENT':新的注释信息;

-d HOME: 新家目录不会自动创建,原家目录中的文件不会同时移动至新的家目录;若要创建新家目录并移动原家数据,同时使用-m选项

-l login_name: 新的名字;

-L: lock指定用户,在/etc/shadow 密码栏的增加!

-U: unlock指定用户,将/etc/shadow 密码栏的! 拿掉

-e YYYY-MM-DD: 指明用户账号过期日期;

-f INACTIVE: 设定非活动期限;

例如:

把mage用户的uid改为2000,属主改为wang,附加组有bin和root,把shell改为了/bin/csh,家目录改为/test/mage并保留了原来的家数据,把用户名改为了magew,用户账号过期日期是2017.1.1,非活动期限是3

usermod -u 2000 -g wang -G bin,root -s /bin/csh -d /test/mage -m -c "mage very good" -l magew -e 20017-01-01 -f 3 mage

1.png

三、删除用户userdel

userdel命令用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件。

格式:useradd[options]… LOGIN

选项:

-f:强制删除用户,即使用户当前已登录;

-r:删除用户的同时,删除与用户相关的所有文件。

这个命令比较简单请不要轻易用-r选项;他会删除用户的同时删除用户所有的文件和目录,切记如果用户目录下有重要的文件,在删除前请备份。 其实也有最简单的办法,但这种办法有点不安全,也就是直接在/etc/passwd中删除您想要删除用户的记录;但最好不要这样做,/etc/passwd是极为重要的文件,可能您一不小心会操作失误

四、设置密码passwd

passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

格式:passwd[OPTIONS] UserName: 修改指定用户的密码,仅root用户权限

passwd: 修改自己的密码;

选项:

-l:锁定指定用户

-u:解锁指定用户

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

-n mindays: 指定最短使用期限

-x maxdays:最大使用期限

-w warndays:提前多少天开始警告

-iinactivedays:非活动期限;

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

echo "PASSWORD" | passwd–stdinUSERNAME

五、修改用户密码策略

chage命令是用来修改帐号和密码的有效期限。
    格式:chage[OPTION]… LOGIN

选项:

-d LAST_DAY

-E, –expiredateEXPIRE_DATE

-I, –inactive INACTIVE

-m, –mindaysMIN_DAYS

-M, –maxdaysMAX_DAYS

-W, –warndaysWARN_DAYS

–l,显示密码策略

例如:

可以通过如下命令修改我的密码过期时间:

    [root@linuxde ~]# chage -M 60 root     
    [root@linuxde ~]# chage -l root
     
    最近一次密码修改时间 :          8月 3, 2016
    密码过期时间 :                  从不
    密码失效时间 :                  从不 
    帐户过期时间 :                  从不 
    两次改变密码之间相距的最小天数 :0 
    两次改变密码之间相距的最大天数 :60 
    在密码过期之前警告的天数 :      9

然后通过如下命令设置密码失效时间:

    [root@linuxde ~]# chage -I 9 root     
    [root@linuxde ~]# chage -l root 
    
    最近一次密码修改时间 :         8月 3, 2016
    密码过期时间 :                 9月 11, 2016
    密码失效时间 :                 9月 16, 2016
    帐户过期时间 :                 从不 
    两次改变密码之间相距的最小天数 :0 
    两次改变密码之间相距的最大天数 :60 
    在密码过期之前警告的天数 :      9

六、创建组groupadd

groupadd命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。

格式:groupadd[OPTION]… group_name

选项:

-g GID: 指明GID号;[GID_MIN, GID_MAX]

-r: 创建系统组;

CentOS 6: ID<500

CentOS 7: ID<1000

七、修改和删除组

组属性修改:groupmod:

groupmod[OPTION]… group

-n group_name: 新名字

-g GID: 新的GID;

组删除:groupdel:

groupdel GROUP

八、更改组密码gpasswd

格式:gpasswd[OPTION] GROUP

选项:

-a user: 将user添加至指定组中;

-d user: 从指定组中移除用户user

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

九、更改和查看组成员groupmems

格式:groupmems[options] [action]

选项:

-g, –group groupname更改为指定组(只有root)

Actions:

-a, –add username 指定用户加入组

-d, –delete username 从组中删除用户

-p, –purge 从组中清除所有成员

-l, –list 显示组成员列表

例如:

1、把root组从用户sunny删除

8.png

2、使用groupmems,把组user9加到wangcai中成为他的附加组

9.png

十、一些小练习

1、创建testuser uid 1234,主组:bin,辅助组:root,ftp,shell:/bin/csh home:/testdir/testuser

1.png

2、修改testuser uid:4321,主组:root,辅助组:nobody,loginname:testhome:/home/test 家数据迁移

2.png

3.png

3、批量创建帐号:user1…user10;uid:3000-3009,shell:/bin/csh,home:/testdir/username;passwd:usernamepass注意家目录相关配置,使用户正常登录

(1)批量创建用户使用的是newusers

Linux中的账号管理之命令的使用(中)

(2)批量创建密码使用的是chpassswd命令

Linux中的账号管理之命令的使用(中)

(3)批量创建用户家目录是空的,需要从/etc/skel把家目录拷贝到普通用户家目录中

Linux中的账号管理之命令的使用(中)



原创文章,作者:xiaoqing,如若转载,请注明出处:http://www.178linux.com/30585

(0)
xiaoqingxiaoqing
上一篇 2016-08-07
下一篇 2016-08-07

相关推荐

  • CentOS系统启动流程

    概述:系统启动流程是Linux一个重要的内容,深入了解启动流程会对我们学习Linux起到一个顺水推舟的作用。因为CentOS 7改动较大,所以下面的内容只是针对CentOS 5和6来说的。下面进入正题。 启动流程:  第一步:POST加电自检    此过程的就是为了检测一下外界的硬件设备是否能够正常运行,如CPU,内存设备,硬盘…

    Linux干货 2016-09-13
  • 第十周 N21 总有刁民想害朕

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情)   加电-MBR-GRUB-/sysinit-init X 对应的服务-/etc/rc.d     MBR        读取分区表     GRUB      &…

    Linux干货 2016-09-26
  • CentOS 6 系统启动流程

    一、CentOS 6 启动流程 1.加载BIOS的硬件信息,获取第一个启动设备。 2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息 3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备。 4.核型执行init程序并获取运行信息。 5.Init执行/etc/rc.d/rc.sysinit文件。 6.启动核心的外挂模块(/et…

    Linux干货 2016-09-12
  • LAMP基于rsyslog+loganalyzer实现日志集中管理及分析

    前言 作为一名运维工程师,查看分析系统日志是每天必做的功课,但每次查看日志都得一台服务器一台服务器的看,几台服务器还可以这么对付,但如果管理成百上千台线上服务器,这种方法就捉襟见肘了。于是我们就需要用到日志服务器了,但是如何能让它更直观的显示呢?loganalyzer是一个不错的选择,本文将讲解如何使用rsyslog+loganalyze实现日志统一管理及分…

    Linux干货 2015-04-27
  • 用户、组、权限 等相关命令

    用户、组、文件权限属性 1、用户和组的配置文件 在Linux中用户和组的配置文件主要为: /etc/passwd :存放用户及其属性的信息(名称、GID、UID) /etc/group :存放组及其属性信息 /etc/shadow :存放用户密码及其相关属性 /etc/gshadow :存放组密码及其相关属性 (1)、/etc/passwd的格式 root:…

    Linux干货 2017-07-29
  • 文件查找find与压缩

    1.locate:   locate是查询系统上预建的文件索引数据库    /var/lib/mlocate/mlocate.db   依赖于事先构建的索引   索引的构建是在系统较为空闲时自动进行(周期性任务),管理 员手动更新数据库(updatedb)    缺点:索引构建过…

    Linux干货 2016-08-18