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一样
-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
二、用户属性修改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
三、删除用户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删除
2、使用groupmems,把组user9加到wangcai中成为他的附加组
十、一些小练习
1、创建testuser uid 1234,主组:bin,辅助组:root,ftp,shell:/bin/csh home:/testdir/testuser
2、修改testuser uid:4321,主组:root,辅助组:nobody,loginname:test,home:/home/test 家数据迁移
3、批量创建帐号:user1…user10;uid:3000-3009,shell:/bin/csh,home:/testdir/username;passwd:usernamepass注意家目录相关配置,使用户正常登录
(1)批量创建用户使用的是newusers
(2)批量创建密码使用的是chpassswd命令
(3)批量创建用户家目录是空的,需要从/etc/skel把家目录拷贝到普通用户家目录中
原创文章,作者:xiaoqing,如若转载,请注明出处:http://www.178linux.com/30585