创建用户、设置密码、修改用户、删除用户:
useradd testuser 创建用户testuser
useradd [选项]
useradd 命令选项
-u uid:指定新用户的uid,默认用当前最大uid加1
-g group:指定新用户所在的组(私有组),该组必须存在
-G group:指定新用户的附加组
-d dir:指定新用户的自家目录
-s shell:指定新用户的使用shell,默认bash
-c comment:新用户的附近信息,如全名等
-e expire:指定用户的登录失效时间
-m 建立新用户的自家目录
例如
#useradd -d /tmp -s /sbin/nologin testuser1
然后 #cat cat /etc/passwd,
文件后面出现testuser1:x:501:501::/tmp/:/sbin/nologin
#useradd -d /data -s /sbin/nologin -g nobody ppp
然后ls -a /data/查看发现有下列文件 .bash_logout .bash_profile .bashrc,当登录这个ppp用户时,会调用这些文件.
finger 注:查看用户信息工具
id 注:查看用户的UI D、GI D 及所归属的用户组
chfn 注:更改用户信息工具
pwcov 注:同步用户从/ et c/ passwd 到/ et c/
shadow
pwck 注:pwck 是校验用户配置文件/ et c/ passwd 和/ et c/
shadow 文件内容是否合法 或完整;
pwunconv 注:是pwcov 的立逆向操作,是从/ et c/ shadow 和 / et
c/ passwd 创建/ et c/ passwd ,然后会删除 / et c/ shadow 文件;
passwd testuser
给已创建的用户testuser设置密码
说明:新创建的用户会在/home下创建一个用户目录testuser
usermod --help 修改用户这个命令的相关参数
userdel testuser 删除用户testuser
rm -rf testuser 删除用户testuser所在目录
上面的几个命令只有root账号才可以使用,如果你不知道自己的系统上面的命令在什么位置可以使用如下命令查找其路径:
locate useradd
创建新用户后,同时会在etc目录下的passwd文件中添加这个新用户的相关信息
说明:为了截图,此处我使用了tail -3
passwd命令,只将该文件的最后3行信息(也是我关注的信息)显示出来
在/ et c/ passwd 中,每一行都表示的是一个用户的信息;一行有7 个段位;每个段位用: 号分割,比如下面是我的系统中的/
et c/ passwd 的两行; beinan: x: 500: 500: beinan sun: / home/ beinan:
/ bin/ bash linuxsir: x: 505: 502: linuxsir open, linuxsir office,
13898667715: / home/ linuxsir: / bin/ bash beinan: x: 500: 500:
beinan sun: / home/ beinan: / bin/ bash linuxsir: x: 501: 502: : /
home/ linuxsir: / bin/ bash
第一字段:用户名(也被称为登录名);在上面的例子中,我们看到这两个用户的用户名分 别是 beinan 和linuxsir;
第二字段:口令;在例子中我们看到的是一个x,其实密码已被映射到/ et c/ shadow 文件 中;
第三字段:UI D ;请参看本文的UI D 的解说;
第四字段:GI D;请参看本文的GI D 的解说;
第五字段:用户名全称,这是可选的,可以不设置,在beinan 这个用户中,用户的全称是 beinan sun
;而linuxsir 这个用户是没有设置全称;
第六字段:用户的家目录所在位置;beinan 这个用户是/ home/ beinan ,而linuxsir 这个用户是/
home/ linuxsir ;
第七字段:用户所用SHELL 的类型,beinan 和linuxsir 都用的是 bash
;所以设置为/ bin/ bash ;
/ et c/ shadow 的内容分析;
/ et c/ shadow 文件的内容包括9 个段位,每个段位之间用: 号分割;
我们以如下的例子说 明; beinan: $1$VE. Mq2Xf$2c9Qi7EQ9JP8GKF8gH7PB1: 13072:
0: 99999: 7: : : linuxsir: $1$I PDvUhXP$8R6J/ Vt PXvLyXxhLWPrnt / :
13072: 0: 99999: 7: : 13108:
第一字段:用户名(也被称为登录名),在/ et c/ shadow 中,用户名和/ et
c/ passwd 是 相同的,这样就把passwd 和shadow 中用的用户记录联系在一起;这个字段是非空的;
第二字段:密码(已被加密),如果是有些用户在这段是x,表示这个用户不能登录到系统; 这个字段是非空的;
第三字段:上次修改口令的时间;这个时间是从1970 年01 月01 日算起到最近一次修改
口令的时间间隔(天数),您可以通过passwd 来修改用户的密码,然后查看/ et c/ shado w 中此字段的变化;
第四字段:两次修改口令间隔最少的天数;如果设置为0, 则禁用此功能;也就是说用户必
须经过多少天才能修改其口令;此项功能用处不是太大;默认值是通过/ et c/ login. defs 文 件定义中获取,PASS_MI
N_DAYS 中有定义; 第五字段:两次修改口令间隔最多的天数;这个能增强管理员管理用户口令的时效性,应该
说在增强了系统的安全性;如果是系统默认值,是在添加用户时由/ et c/ login. defs 文件定
义中获取,在PASS_MAX_DAYS 中定义; 第六字段:提前多少天警告用户口令将过期;当用户登录系统后,系统登录程序提醒用户口
令将要作废;如果是系统默认值,是在添加用户时由/ et c/ login. defs 文件定义中获取,在 PASS_WARN_AGE
中定义; 第七字段:在口令过期之后多少天禁用此用户;此字段表示用户口令作废多少天后,系统会
禁用此用户,也就是说系统会不能再让此用户登录,也不会提示用户过期,是完全禁用;
第八字段:用户过期日期;此字段指定了用户作废的天数(从1970 年的1 月1 日开始的 天数),如果这个字段的值为空,帐号永久可用;
第九字段:保留字段,目前为空,以备将来Linux 发展之用; 如果更为详细的,请用 man shadow
来查看帮助,您会得到更为详尽的资料;
命令行窗口下用户的相互切换:
su 用户名
说明:su是switch user的缩写,表示用户切换
从新的用户状态下输入“exit”即可退回到刚才的用户状态
禁用账户:
#usermod -L username 禁用账户
#passwd -l username 禁用密码
恢复账户
#usermod -U username 恢复禁用账户
#passwd -u username 恢复禁用密码
用户组的添加和删除:
groupadd testgroup 组的添加
groupdel testgroup组的删除
说明:组的增加和删除信息会在etc目录的group文件中体现出来。