在linux中添加用户时,将涉及到几个文件和目录
1./etc/passwd:存储用户账号信息
2./etc/shadow:存储用户密码信息
3./etc/group:存储用户所在的组(基本组,兼职组/附加组)
4./etc/gshadow:存储组密码相关信息
5./etc/default/useradd :创建新用户时的默认配置
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
6./etc/skel 目录。这是一个框架目录,复制到某个路径下成为用户的家目录
7./etc/login.defs:创建用户的默认的另外一些参数
创建用户
useradd [options] username
-u # :为用户指定uid
-g GID/GName :为用户指定基本组(指定的基本组必须已经存在)
-G GID/GName :为用户指定兼职组
-d 路径 :指定家目录的路径。若目标目录已存在,则不会复制家目录框架。但仍可以创建该账户,只是登陆后没有标准环境可用。
-c 备注信息
-s shellPath/shellName :指定要使用的默认shell
以上若为指定,则使用默认值。
-m :创建用户时强制创建家目录
-M :不创建家目录
-D :列出上面7号文件的内容,也可以修改。这个修改将影响到之后建立的用户。
-r :创建系统用户。对系统用户默认是不创建家目录的。默认的shell是/sbin/nologin
修改用户信息
1.chsh :按照提示修改自己的shell。
2.chsh username:修改别人的shell。需要管理员权限。
3.chfn :修改自己的备注信息。管理员可以修改其他用户的备注。
4.usermod [options] username
-u uid
-g gid
-G gid 修改兼职组为gid ;同时使用 -a 则增加兼职组gid
-c “ ” 修改注释
-d pathToNewHome 改变家目录位置,默认不会移动原来的家目录;
同时使用-m则移动原来的家目录
-s shellPath/shellName 指定新的xhell
-l newLoginName 修改登录名。这里不会修改基本组名。
-L 锁定用户。锁定后在shadow中相应行的密码段首部增加了!!
-U 解锁用户
修改登录密码
passwd 该自己的密码,根据提示进行修改
passwd username 改别人的密码(需要管理员权限)
修改用户的密码日期属性
chage [options] username
-d #### 设置密码最后修改的日期YYYY-MM-DD,或者距离1970.1.1的天数。
-m #### 设置密码最短必须使用的天数,这段期间内禁止用户修改密码。
-M #### 设置密码最长可以使用的天数 设置-1 则表示永久有效。
-W #### 设置密码到达最长使用天数之前几天开始提示修改。
-I #### 密码到期后,还有几天可以修改密码,否则该账户将被锁定。
-E #### 设置账号到期的日期YYYY-MM-DD,或者距离1970.1.1的天数,-1 永不过期;0立即过期。
-l 显示username 账号密码有效期,由非特权用户来确定他们的密码或帐号何时过期
查看用户信息
id [options] username
-u 显示uig,n一起用,则显示名称
-g 显示gid ,n一起用,则显示名称
-G 显示兼职组的gid ,n一起用,则显示名称
没有选项,则显示全部信息。
切换用户
1.su [options] username
su -/-l username :以username的身份,登录式切换到username家目录下。
su -c cmd -/-l username 以username的身份运行cmd命令,完成后立即返回到当前用户,整个过程没有切换工作目录。
su -/-l 以root的身份,登录式切换到root的家目录下工作。
su -c cmd -/-l 以root的身份运行cmd命令,完成后立即返回到当前用户,整个过程没有切换工作目录。
删除用户
userdel username
删除用户及其基本组(如果基本组和用户不是同时建立的,则基本组不会被删除)
默认不会删除用户的家目录和邮件
-r 同时删除用户的家目录和邮件
如果有其他用户兼职于被删用户的基本组,那么有选项 -r 时这个基本组将不会被删除,除非手动删除。