1./etc/passwd:用户及其属性信息(用户名,密码,uid,gid,gecos注释性描述信息,家目录,登录shell)在/etc/passwd文件中每个用户都有一个对应的记录行,它记录了这个用户的一些基本属性。系统管理员经常会接触到这个文件的修改以完成对用户的管理工作。这个文件对所有用户都是可读的。
getent passwd [username]:查看/etc/passwd中的信息
◎ 用户名:
◎ 密码位(X):passwd username 设置用户密码
pwconv 也就是投影密码,将密码映射到/etc/shadow(默 认),只允许管理员读取,同时把原密码置换成“X”字符,强化系统安全。
pwunconv 将密码保存到/etc/passwd,删除/etc/shadow
◎ uid :每个用户都有uid,当uid为0,说明是root账户。Centos6 1-499为预留系统用户,centos7 1-999为系统用户。
◎ gid:主要组: 每个用户都有且仅有一个主要组,当用户创建时,自动创建 与用户同名的组作为主要组,用户可以有多个辅助组,创建用户一定会有默认组,但是可以单独创建组而不创建用户,每个组都有自己的组名,且以自己的组标识号相区分。
注意uid和gid并不一定相同
◎ gecos:主要是设置用户的描述,其中有两种设置方法
chfn username 设置用户的描述r
finger username(默认没有安装)查看用户的信息
◎ 家目录:该字段定义了个人用户的主目录,当用户登录后,他的Shell将把该目录作为用户的工作目录。
在Unix/Linux系统中,超级用户root的工作目录为/root;而其它个人用户在/home目录下均有自己独立的工作环境,系统在该目录下为每个用户配置了自己的主目录。个人用户的文件都放置在各自的主目录下。
usermod -d /home/magedu/ magedu
注意:当用户家目录被删除或者是没有,此时就无法通过-d来修改家目录的信息
◎ 登录时默认的shell
usermod -s /sbin/nologin magedu
chsh -s /sbin/nologin/ magedu
2./etc/shadow:有一个文件负责所有用户的密码,那就是shadow,包含的字段(登录名,密加密后的密码口令,最后一次修改时间,最小存活期,最大存活期,密码过期前提醒,密码过期后账户保保留时间,账户过期时间从1970-1-1开始计算,保留位)。 /etc/shadow文件是只有系统管理员才有权利进行查看和修改的文件。
chage可以用来修改用户的密码信息,普通用户能够用chage设置自己的密码信息,管理员可以修改任何用户的密码信息,相对于在shadow文件中直接修改会方便很多,一般不要在shadow中直接修改密码信息。
◎chage -l username 显示用户的密码信息
◎chage -d 指定用户密码的上次修改时间(yyyy-mm-dd)
◎chage -E 指定账户的过期时间
◎chage -I 密码过期后多少天账户过期
◎chage -M 设置两次密码修改相距的最大天数
◎chage -m 设置两次密码修改相距最小天数
◎chage -W 设置密码过期前提醒时间
◎chage username :交互式修改密码
设置最近一次密码修改时间
设置密码过期时间
设置密码失效时间
设置账户过期时间
设置两次修改密码之间相距的最小天数
设置两次修改密码相距的最大天数
设置在密码过期之前的警告的天数
◎ chage -d 0强制用户下次登录时必须修改密码
◎passwd-l:锁定指定用户
◎passwd-u:解锁指定用户
◎passwd-e:强制用户下次登录修改密码
◎passwd-n mindays:指定最短使用期限
◎passwd-x maxdays:最大使用期限
◎passwd-w warndays:提前多少天开始警告
◎passwd-i inactivedays:非活动期限
◎passwd–stdin:从标准输入接收用户密码
◎passwdecho “PASSWORD” | passwd –stdin USERNAME
3./etc/group文件是有关于系统管理员对用户和用户组管理的文件,linux用户组的所有信息都在/etc/group文件中。具有某种共同特征的用户集合起来就是用户组(Group)。用户组(Group)配置文件主要有 /etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密信息文件。将用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。包含的字段有(组名:口令:组标识号:组内用户列表)
◎组名:组名是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。
◎密码位:字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*。
◎gid:centos6 1-499预留系统组;centos7 1-999预留系统组
◎组成员:将该组作为辅助组的成员列表。当成员先把该组作为辅助组,再转化成主组时,不改变。当成员离开该组时,被删除。这个成员列表可能是用户的主组,也可能是附加组。
4./etc/gshadow是/etc/group的加密资讯文件,用户组管理密码就是存放在这文件。如果不想让一些非用户组成员永久拥有用户组的权限和特性,这时就可以通过密码验证的方式让一些用户临时拥有一些用户组的
特性,此时就可以用到用户组的密码,如果要维护密码安全,普通用户将不能读取该文件。
getent gshadow[groupname]
◎groupname(组名):必须是一个合法的在系统中存在的组名。
◎encrypted password(加密密码):用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码,可以修改加密方式
gpasswd groupname设置组密码
newgrp groupname(普通用户)
如果一个用户同时隶属于两个或两个以上分组,需要切换到其它用户组来执行一些操作,就用到了newgrp命令切换当前登陆所在组。
当用户不是该groupname的辅助组成员时,则需要输入密码,成功后临时以主要组的身份加入该组;当用户是该groupname的辅助组成员时,无需输入密码,将临时以主要组的身份加入该组,而其原有的主要组,临时变为辅助组。
◎管理员:只能由root任命,可以同时有多个,以,为间隔。权利:可以修改组密码,也可以把成员从该组中删除或添加。
gpasswd
-A xiaobai ,magedu groupname任命管理员
gpasswd -A “” groupname 撤销管理员
gpasswd -a xiaobai groupname 往组中增加用户
gpasswd -d xiaobai groupname 将用户从组中删除
gpasswd -r groupname 删除组密码
gpasswd -R groupname 限制非辅助组可以通过newgrp groupname 获取主组权限。当前密码被删除替换为!
gpasswd -M xiaobai,xiaohong groupname 设置辅助组成员列表。
groupmems -g groupname -a xiaobai (仅能一次添加一个用户到组中)
groupmems -g groupname -d xiaobai 将指定的成员从组中删除
groupmems -g groupname -l 列出指定组的成员(辅助)列表
groupmems -p groupname 消除指定组的所有成员
◎组成员:将该组作为辅助组的成员列表。当成员先把改组作为辅助组后,再转成主要组时,不改变。当成员离开该组时,被删除。
5.useradd的基本用法
useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是终极用户。
格式 useradd [-d home][-s shell][…]
useradd -u uid username 创建用户时指定uid(如不指定centos6:500-6000,centos7:1000-9000)
useradd -o -u uid username 创建用户指定uid,当uid与之前的用户相同时,会默认排在前的用户
useradd -g groupname username = 创建用户时指定主组为某个已存在的组。(将不会再创建与用户同名的组)如下所示当创建的用户指定的组是本来就创建过的就可以指定,如果不存在指定的组就报错
useradd -c … username 创建用户时指定描述信息。
chfn … username
useradd -d path username 指定用户的家目录(确保指定的家目录所在的上级目录要存在,且家目录本身不能存在)
useradd -s /sbin/nologin username 指定用户的默认shell
useradd -G group1[,group2] username 指定用户 辅助组
useradd -N username 设置用户的主要组为默认组(users,uid=100)
useradd -r username 创建系统用户
6./etc/login.defs 影子密码配套设置,文件定义了与/etc/password和/etc/shadow配套的用户限制设定
7. usermod:命令修改系统帐户文件来反映通过命令行指定的变化
usermod -u newuid username 修改用户的uid
-o -u newuid username 修改用户的uid(可以与已存在用户的uid相同)
-aG 加组名,可以追加辅助组而不用覆盖之前的组,一般都是两个一起用。
-G “” username 或 usermod -G primarygroup username 清空用户所有的辅助组
-g groupname username 修改用户的主组
-s /sbin/nologin username 修改用户的默认shell
-c … username 修改用户时指定描述信息。
chfn … username
-d /…/path username 修改用户的家目录(不会创建,只修改/etc/passwd当中的家目录信息)
-m -d /…/path username 修改用户的家目录信息,并将家目录移动到目的目录并改名。
-l newname oldname 修改用户名
-L 给用户/etc/shadow中的密码位加!使用户被锁定
-U 把!拿掉。
-e yyyy-mm-dd 设置一个帐户过期时间
-f days 指定密码过期之后多少天帐户过期
vipw = vim /etc/passwd修改用户及其属性信息
vipw -s = vim /etc/shadow修改用户密码信息
vigr = vim /etc/group修改用户组信息
vigr -s = vim /etc/gshadow 修改组的加密资讯信息
pwck 检查/etc/passwd /etc/shadow 检查用户加密信息
grpck 检查/etc/group /etc/gshadow检查用户组密码加密信息,一般情况组加密信息不会出现很多异常。
8.userdel 是一个底层用于删除用户的工具。userdel会查询系统账户。如/etc/password 和 /etc/group。那么它会删除所有和用户名相关的条目。在我们删除它之前,用户名必须存在。不带选项使用
userdel,只会删除用户。用户的家目录将仍会在/home目录下。
userdel -r 删除家目录的同时,同样会删除用户的邮件池。
userdel -f 选项来强制删除用户。甚至当用户已经登入 Linux 系统时此选项仍旧生效
9.groupadd
-g gid groupname 创建指定gid的组
-r groupname 创建系统组
10.groupmod
-n newgrpname oldgrpname 修改组名
-g newgid groupname 修改gid
groupdel groupname 删除组
groups username
查看指定用户属于哪些组,后跟用户名而不是组名
原创文章,作者:libai,如若转载,请注明出处:http://www.178linux.com/82315