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)
上一篇 2016-08-07 22:05
下一篇 2016-08-07 22:05

相关推荐

  • bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示

    1)bash的工作特性之命令执行状态返回值; 在 Linux 下,任意一个命令执行结束之后,bash都会返回0-255之间的数值以表示命令执行成功与否;其返回值保存于bash的特殊变量$?中; 其中0表示:执行成功;1-255表示执行错误; 例如: [root@localhost ~]# ls anaconda-ks.cfg initial-setup-ks…

    Linux干货 2016-11-06
  • Linux系统重定向和管道

    1、标准输入和标准输出              程序:指令+数据               &n…

    Linux干货 2016-08-04
  • (总结)MySQL自带的性能压力测试工具mysqlslap详解

    PS:今天一同事问我有木有比较靠谱的mysql压力测试工具可用。其实mysql自带就有一个叫mysqlslap的压力测试工具,还是模拟的不错的。下面举例说说。mysqlslap是从5.1.4版开始的一个MySQL官方提供的压力测试工具。通过模拟多个并发客户端访问MySQL来执行压力测试,同时详细的提供了“高负荷攻击MySQL”的数据性能报告。并且能很好的对比…

    Linux干货 2015-02-10
  • SED基本用法和在文本中的使用

    sed命令行格式为: sed [-nefri] ‘command’ 输入文本/文件 常用选项: -n∶取消默认的输出,使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到屏幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来 -e∶进行多项编辑,…

    Linux干货 2017-05-05
  • 第八周作业脚本练习

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;      在线的主机使用绿色显示;      不在线的主使用红色显示;          &…

    Linux干货 2017-02-01
  • sed命令的入门与进阶

    sed:Stream EDitor     什么是sed呢?sed被称为linux文本处理三剑客之一,另外两个就是大名鼎鼎的grep和awk。sed是非交互性的流编辑器,在处理文本时一次只读取一行文本,然后基于所给定的编辑脚本对模式空间中的内容做编辑处理并把处理后的结果输出至标准输出。接着处理下一行文本,这样不断重复,直到文件的末尾。se…

    2017-03-16