>>前言
Linux是一个多用户、多任务的操作系统,Linux系统的初衷之一就是满足多用户同时工作的需求,因此,linux需要具备很好的安全性,需要对用户进行管理,用户又分几种,管理员(root)、系统用户和普通用户。root管理员拥有最高的系统所有权,能够管理系统的各项功能。在这几种用户中怎样进行区分,linux通过用户身份UId来进行判断,管理员的UID为0,所以为系统管理员,root用户不一是管理员,要root的UID为0才为系统管理员;系统用户的UID在1~999和普通的用户UID为1000+。为了进一步管理用户,linux还引入了用户组的概念。
>>用户和工作组的具体操作
#用户的创建 useradd [opt][username]
##[opt]
-d 指定用户登录时的起始目录
-e 账户的到期时间,格式为YYYY-MM-DD
-u 指定用户的UID
-g 指定一个初始的用户组(必须存在)
-G 指定一个或多个扩展用户组
-N 不创建与用户同名的用户组
-s 指定该用户的默认解释器
-f<缓冲天数> 指定在密码过期后多少天即关闭该账号
-D 变更预设值
-m 自动建立用户的登入目录
-M 不要自动建立用户的登入目录
-r 建立系统帐号
-n 取消建立以用户名称为名的群组
##Instance
###需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号
#修改用户的属性 usermod [opt] [username]
##[opt]
-c<备注> 修改用户帐号的备注文字;
-d<登入目录> 修改用户登入时的目录;
-e<有效期限> 修改帐号的有效期限;
-f<缓冲天数> 修改在密码过期后多少天即关闭该帐号;
-g<群组> 修改用户所属的群组;
-G<群组> 修改用户所属的附加群组;
-l<帐号名称> 修改用户帐号名称;
-L 锁定用户密码,使密码无效;
-s<shell> 修改用户登入后所使用的shell;
-u<uid> 修改用户ID;
-U 解除密码锁定。
#修改用户密码passwd [opt] [username]
##[opt]
-d 删除密码,仅有系统管理者才能使用;
-f 强制执行;
-k 设置只有在密码过期失效后,方能更新;
-l 锁住密码;
-s 列出密码的相关信息,仅有系统管理者才能使用;
-u 解开已上锁的帐号。
-e 强制用户下次登录时修改密码
--stdin 允许通过标准输入修改用户密码 如echo ‘newpasswd’| passwd -stdin Username
#删除用户 userdel [opt] [username]
##[opt]
-f:强制删除用户,即使用户当前已登录;
-r:删除用户的同时,删除与用户相关的所有文件。
#用户组的创建 groupadd [opt][groupname]
##[opt]
-g:指定新建工作组的id;
-r:创建系统工作组,系统工作组的组ID小于500;
-K:覆盖配置文件“/ect/login.defs”;
-o:允许添加组ID号不唯一的工作组。
##instance
使用#cat /etc/group 查看工作组
#更改用户组 groupmod [opt] [groupname]
##[opt]
-g<群组识别码>:设置欲使用的群组识别码;
-o:重复使用群组识别码;
-n<新群组名称>:设置欲使用的群组名称
#删除工作组 groupdel [groupname]
#修改账号和密码的有限期 change [opt] [username]
##[opt]
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。
-w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
#显示用户或组信息 id [-gGnru][--help][--version][username]
##[opt]
-g或--group 显示用户所属群组的ID。
-G或--groups 显示用户所属附加群组的ID。
-n或--name 显示用户,所属群组或附加群组的名称。
-r或--real 显示实际ID。
-u或--user 显示用户ID。
-help 显示帮助。
-version 显示版本信息。
#用户间切换 su [opt] [user]
##[opt]
-c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份;
-f或——fast:适用于csh与tsch,使shell不用去读取启动文件;
-l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;
-m,-p或--preserve-environment:变更身份时,不要变更环境变量;
-s<shell>或--shell=<shell>:指定要执行的shell;
--help:显示帮助;
--version;显示版本信息
#工作组管理 gpasswd[opt][group]
##[opt]
-a:添加用户到组;
-d:从组删除用户;
-A:指定管理员;
-M:指定组成员和-A的用途差不多;
-r:删除密码;
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。
#扩展
##禁止用户登录
1.passwd -l username
2.vim /etc/passwd
Tom:x:666:1234::/home/Tom:/bin/bash:/sbin/nologin