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

相关推荐

  • 文本处理工具基础应用

                                                      &nbsp…

    Linux干货 2016-08-07
  • CentOS7下编译安装Apache

    在Linux中通过编译源代码进行安装软件,需要GCC(GNU Compiler Collection,GNU编译器套件)的支持。通过yum安装GCC [root@localhost ~]# yum install gcc C程序源码编译安装三个步骤: 第一步:./configure  (1)通过选项传递参数,…

    Linux干货 2016-09-05
  • 马哥教育网络班21期+第13周课程练习

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程) 1)共享名为shared,工作组为magedu; 2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; 3)添加samba用户gentoo,centos和u…

    Linux干货 2016-10-24
  • 第十周作业

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情)     CentOS系统启动流程:     1.加电自检:由bios去检测各硬件是否存在且是否正常运行,然后进行硬件初始化     2.选择启动顺序,加载mbr:根据bios设置的设备启动顺序,…

    2017-07-03
  • linux开机启动流程

    linux开机启动流程:   一、BIOS 加电自检 当你按电源开关开机时,电脑会首先去启动BIOS(基本输入输出系统),BIOS一般是集成在主板上的. BIOS 的工作 1.检测连接硬件,比如显卡,内存,磁盘等等,检测的目的是以后把这些设备信息提供给操作系统 2.寻找启动磁盘,每一种BIOS都会有开机启动菜…

    Linux干货 2016-09-14
  • 马哥教育网络19期+第五周练习博客

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;   grep "^[[:space:]]\+.*" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; &n…

    Linux干货 2016-06-19