一.Linux组群账户配置文件

1./etc/group文件

/etc/group文件是用户组群的配置文件,内容包括用户和用户组群,并且能显示出用户是归属哪个用户组群或哪几个用户组群。一个用户可以归属一个或多个不同的用户组群,同一用户组群的用户之间具有相似的特征。比如把某一用户加入到root用户组群,那么这个用户就可以浏览root用户主目录的文件,如果root用户把某个文件的读写执行权限放开,root用户组群的所有用户都可以修改此文件;如果是可执行的文件,root用户组群的用户也是可以执行的。

(1)./etc/group文件内容

/etc/group文件的内容包括用户组群名、用户组群口令、GID及该用户组群所包含的用户,每个用户组群都有一条记录。一行有4个段位,每个段位用":"分隔,下面是/etc/group文件的部分内容的示例。

[root@redhat2 home]# cat /etc/group

root:x:0:

bin:x:1:bin,daemon

daemon:x:2:bin,daemon

sys:x:3:bin,adm

adm:x:4:adm,daemon

tty:x:5:

disk:x:6:

表8-3所示为/etc/passwd文件中各字段的含义。

字段

含义

组群名

用户组群名称,如组群名root

组群口令

存放加密的密码,在上面示例中我们看到的是一个x,其实口令已被映射到/etc/gshadow文件中

组群标识号

在系统内用一个整数标识组群GID,每个组群的GID都是唯一的,默认普通组群的GID从500开始,如root组群GID是0

组群成员

属于这个组群的成员,如root组群的成员有root用户

(2)./etc/gshadow文件

/etc/gshadow是/etc/group的加密文件,比如用户组群管理密口令就是存放在这个文件中。/etc/gshadow和/etc/group是互补的两个文件;

/etc/gshadow文件中每个用户组群都有一条记录。一行有4个段位,每个段位用":"分割,下面是/etc/gshadow文件的部分内容的示例:

[root@redhat2 home]# cat /etc/gshadow

root:::

bin:::bin,daemon

daemon:::bin,daemon

sys:::bin,adm

adm:::adm,daemon

tty:::

disk:::

lp:::daemon

mem:::

kmem:::

wheel:::

mail:::mail,postfix

uucp:::

man:::

games:::

表4-1 所示为/etc/gshadow文件中各字段的含义。

字段

含义

组群名

组群名称,如组群名root

组群口令

口令已经加密,如果这些组群在这里显示的是"!",表示这个组群没有口令。上面示例中组群shanghai没有口令,组群beijing已设置口令。

组群管理者

组群的管理者,有权在该组群中添加、删除用户

组群成员

属于该组群的用户成员列表,如有多个用户用","分隔。上面示例中beijing组群的成员是ou

二.字符界面下组群账户的设置

在Linux系统字符界面下创建、修改以及删除组群账户主要使用groupadd,groupmod和groupdel这3个命令,其结果与使用“用户管理器”工具一样。

1.创建组群账户

使用groupadd命令可以在Linux系统下创建组群账户。

命令语法:

[root@redhat2 ~]# groupadd

Usage: groupadd [options] GROUP

Options:

-f, --force                   exit successfully if the group already exists,

and cancel -g if the GID is already used

-g, --gid GID                 use GID for the new group

-h, --help                    display this help message and exit

-K, --key KEY=VALUE           override /etc/login.defs defaults

-o, --non-unique              allow to create groups with duplicate

(non-unique) GID

-p, --password PASSWORD       use this encrypted password for the new group

-r, --system                  create a system account

[root@redhat2 ~]#

2.创建名为china的组群。

[root@redhat2 ~]# groupadd -g 800 ou

[root@redhat2 ~]# cat /etc/group |grep ou

dialout:x:18:

ou:x:800:

[root@redhat2 ~]#

//查看文件/etc/group,可以看到已经创建了组群ou,组群GID是800。

3.创建名为chineses的系统组群。

[root@redhat2 ~]# groupadd -r chineses

[root@redhat2 ~]# cat /etc/group |grep chinese

chineses:x:493:

[root@redhat2 ~]#

4.创建名为chinese的系统组群。

[root@redhat2 ~]# groupadd -r chineses

[root@redhat2 ~]# cat /etc/group |grep chinese

chineses:x:493:

[root@redhat2 ~]#

//查看/etc/group文件,可以看到系统组群chinese的GID是493,是小于500的。

三.修改组群账户

使用groupmod命令可以在Linux系统下修改组群账户,如组群名称、GID等。

命令语法:

[root@redhat2 ~]# groupmod

Usage: groupmod [options] GROUP

Options:

-g, --gid GID                 change the group ID to GID

-h, --help                    display this help message and exit

-n, --new-name NEW_GROUP      change the name to NEW_GROUP

-o, --non-unique              allow to use a duplicate (non-unique) GID

-p, --password PASSWORD       change the password to this (encrypted)

PASSWORD

[root@redhat2 ~]#

例1:将组群ou的GID修改为900。

[root@redhat2 ~]# groupmod -g 900 ou

[root@redhat2 ~]# cat /etc/group |grep ou

dialout:x:18:

ou:x:900:

[root@redhat2 ~]#

//查看文件/etc/group,可以看到组群ou的GID已经更改为900。

例2:修改组群ou的新组群名称为shanghai。

[root@redhat2 ~]# groupmod -n shanghai ou

[root@redhat2 ~]# cat /etc/group|grep shanghai

shanghai:x:900:

[root@redhat2 ~]#

//查看/etc/group文件,可以看到当前组群shanghai已经存在。

四.账户相关文件或目录

在创建、修改和删除账户时,涉及到众多的相关文件和目录,如/etc/skel目录、/etc/login.defs文件和/etc/default/useradd文件。

/etc/skel目录

/etc/skel目录是存放用户启动文件的目录,这个目录由root用户管理,当管理员创建新用户时,这个目录下的文件会自动复制到新创建的用户的主目录下。/etc/skel目录下的文件都是隐藏文件,也就是类似".file"格式的,可以通过添加、修改和删除/etc/skel目录下的文件,来为用户提供一个统一、标准和默认的用户环境。

使用如下命令查看/etc/skel目录内包含的文件信息。

[root@redhat2 ~]# ls -al /etc/skel

total 40

drwxr-xr-x.   4 root root  4096 Jun  4  2014 .

drwxr-xr-x. 100 root root 12288 Jan 11 05:24 ..

-rw-r--r--.   1 root root    18 Apr 23  2012 .bash_logout

-rw-r--r--.   1 root root   176 Apr 23  2012 .bash_profile

-rw-r--r--.   1 root root   124 Apr 23  2012 .bashrc

drwxr-xr-x.   2 root root  4096 Jul 14  2010 .gnome2

-rw-r--r--.   1 root root   121 Apr 11  2012 .kshrc

drwxr-xr-x.   4 root root  4096 Jun  2  2014 .mozilla

[root@redhat2 ~]#

当用户useradd命令创建新用户时,/etc/skel目录下的文件会自动复制到新创建用户的主目录下。另外一种方法也可以达到同样效果,管理员通过修改/etc/passwd文件创建新用户时,设置用户的主目录,然后把/etc/skel下的文件复制到用户的主目录下,最后用chown命令改变新用户主目录的属主。

2./etc/login.defs配置文件

/etc/login.defs文件规定了创建新用户时的一些默认设置,比如创建用户时是否需要主目录、UID和GID的范围、用户账户口令的期限等,这个文件可以通过root用户来修改。

MAIL_DIR   /var/spool/mail  //创建用户时,要在目录/var/spool/mail中创建一个用户邮箱文件

PASS_MAX_DAYS   99999   //用户必须更改口令的天数

PASS_MIN_DAYS   0             //用户可以更改口令的天数

PASS_MIN_LEN    5                //口令最小长度

PASS_WARN_AGE   7           //在用户口令过期之前的警告时间

UID_MIN                   500     //创建新用户时用户的UID从500开始

UID_MAX                 60000  //用户最大UID职为60000

GID_MIN                   500      //创建新组群时组群的GID从500开始

GID_MAX                 60000   //组群最大GID值为60000

CREATE_HOME     yes   //是否要求创建用户主目录,yes表示要求创建

ENCRYPT_METHOD MD5  //启用MD5加密口令

3./etc/default/useradd文件

/etc/default/useradd文件是在使用useradd命令创建用户账户时的规则文件。

[root@redhat2 ~]# cat /etc/default/useradd

# useradd defaults file

GROUP=100

HOME=/home        //把用户的主目录创建在/home目录中

INACTIVE=-1          //是否启用账户过期,-1表示不启用

EXPIRE=                   //账户终止日期,不设置表示不启用

SHELL=/bin/bash  //用户账户所用shell类型

SKEL=/etc/skel     //创建新用户时从/etc/skel目录下复制文件到用户主目录

CREATE_MAIL_SPOOL=yes  //创建新用户时在/var/spool/mail目录下创建该用户邮箱目录。

五.用户和组群维护命令

1.账户维护命令

在平时的工作中对账户进行维护主要用到passwd,gpasswd,chfn,chsh,su,pwck以及newgrp等众多命令。

(1).passwd命令

使用passwd命令可以设置或修改用户的口令,普通用户和超级权限用户都可以运行passwd。

普通用户只能更改自己的用户口令,root用户可以设置或修改任何用户的口令。

如果passwd命令后面不接任何选项或用户名,则表示修改当前用户的口令。

命令语法:

[root@redhat2 ~]# passwd --help

Usage: passwd [OPTION...]

-k, --keep-tokens       keep non-expired authentication tokens

-d, --delete            delete the password for the named account (root only)

-l, --lock              lock the password for the named account (root only)

-u, --unlock            unlock the password for the named account (root only)

-e, --expire            expire the password for the named account (root only)

-f, --force             force operation

-x, --maximum=DAYS      maximum password lifetime (root only)

-n, --minimum=DAYS      minimum password lifetime (root only)

-w, --warning=DAYS      number of days warning users receives before  password expiration (root only)

-i, --inactive=DAYS     number of days after password expiration when an

account becomes disabled (root only)

-S, --status            report password status on the named account (root only)

--stdin                 read new tokens from stdin (root only)

Help options:

-?, --help              Show this help message

--usage                 Display brief usage message

例1:设置用户zhaoliu的口令

[root@redhat2 home]# passwd zhaoliu

Changing password for user zhaoliu.

New password:

BAD PASSWORD: it is WAY too short

BAD PASSWORD: is too simple

Retype new password:

passwd: all authentication tokens updated successfully.

[root@redhat2 home]#

例2:设置当前用户的口令

[root@redhat2 home]# passwd

Changing password for user root.

New password:

BAD PASSWORD: it is WAY too short

BAD PASSWORD: is too simple

Retype new password:

passwd: all authentication tokens updated successfully.

[root@redhat2 home]#

例3:锁住用户zhaoliu的口令。

[root@redhat2 home]# passwd -l zhaoliu

Locking password for user zhaoliu.

passwd: Success

[root@redhat2 home]#

//用户zhaoliu锁住以后不能登录到系统,但是可以用su命令从其他用户切换到用户zhaoliu

[root@redhat2 home]# passwd -S zhaoliu

zhaoliu LK 2015-01-12 0 99999 7 -1 (Password locked.)

[root@redhat2 home]#

//查看用户口令状态,可以看到用户zhaoliu的口令是锁住的。

[root@redhat2 home]# cat /etc/shadow|grep zhaoliu

zhaoliu:!!$1$fMvAUpfG$yIGyFEzLVkZflgi78rCkJ/:16448:0:99999:7:::

[root@redhat2 home]#

//查看/etc/shadow文件,可以看到用户zhaoliu口令锁住以后在口令字段前有"!!"

例4:解锁用户zhaoliu口令。

[root@redhat2 home]# passwd -u zhaoliu

Unlocking password for user zhaoliu.

passwd: Success

[root@redhat2 home]#

例5:删除用户zhaoliu的口令。

[root@redhat2 home]# cat /etc/shadow|grep zhaoliu

zhaoliu:!!$1$fMvAUpfG$yIGyFEzLVkZflgi78rCkJ/:16448:0:99999:7:::

//查看/etc/shadow文件,可以看到用户zhaoliu设置过口令。

[root@redhat2 home]# passwd -u zhaoliu

Unlocking password for user zhaoliu.

passwd: Success

[root@redhat2 home]# cat /etc/shadow|grep zhaoliu

zhaoliu:$1$fMvAUpfG$yIGyFEzLVkZflgi78rCkJ/:16448:0:99999:7:::

[root@redhat2 home]# passwd -d zhaoliu

Removing password for user zhaoliu.

passwd: Success

[root@redhat2 home]# cat /etc/shadow |grep zhaoliu

zhaoliu::16448:0:99999:7:::

[root@redhat2 home]#

//查看/etc/shadow文件,可以看到用户zhaoliu的口令已经没有了.

(2).gpasswd

使用gpasswd命令可以设置一个组群的组群密码,或是在组群中添加、删除用户。

[root@redhat2 home]# gpasswd

Usage: gpasswd [option] GROUP

Options:

-a, --add USER                add USER to GROUP

-d, --delete USER             remove USER from GROUP

-r, --remove-password         remove the GROUP's password

-R, --restrict                restrict access to GROUP to its members

-M, --members USER,...        set the list of members of GROUP

-A, --administrators ADMIN,...

set the list of administrators for GROUP

Except for the -A and -M options, the options cannot be combined.

例1:把用户zhaoliu添加到zhang组群中。

[root@redhat2 home]# gpasswd -a zhaoliu zhang

Adding user zhaoliu to group zhang

//正在将用户"zhaoliu"加入到'zhang'组群中。

[root@redhat2 home]# cat /etc/group |grep zhaoliu

zhang:x:513:zhaoliu

[root@redhat2 home]#

//在/etc/group文件中可以看到zhang组群中有用户zhaoliu。

例2:从zhang组群中删除用户zhaoliu。

[root@redhat2 home]# gpasswd -d zhaoliu zhang

Removing user zhaoliu from group zhang

[root@redhat2 home]# cat /etc/group |grep zhang

zhangsan:x:501:

zhang:x:513:

[root@redhat2 home]#

//在/etc/group文件中可以看到zhang组群中已经没有用户zhaoliu了。

例3:设置zhang组群的口令。

[root@redhat2 home]# gpasswd zhang

Changing the password for group zhang

New Password:

Re-enter new password:

[root@redhat2 home]#

//在/etc/gshadow文件中可以看到组群zhang已经设置口令。

例4:取消zhang组群密码。

[root@redhat2 home]# gpasswd -r zhang

[root@redhat2 home]# cat /etc/gshadow |grep zhang

zhangsan:!::

zhang:::

[root@redhat2 home]#

//在/etc/gshadow文件中可以看到组群zhang已经不存在了。

(3).chsh命令

使用chsh命令可以更改用户账户的shell类型。

[root@redhat2 home]# chsh --help

Usage: chsh [ -s shell ] [ --list-shells ] [ --help ] [ --version ]

[ username ]

[root@redhat2 home]#

例1.列出当前系统中所有支持的shell类型。

[root@redhat2 home]# chsh -l

/bin/sh

/bin/bash

/sbin/nologin

/bin/tcsh

/bin/csh

/bin/ksh

[root@redhat2 home]#

例2:更改用户wangwu所用的shell类型为/bin/sh.

[root@redhat2 home]# cat /etc/passwd |grep wangwu

wangwu:x:514:514::/home/wangwu:/bin/bash

//查看/etc/passwd文件,可以看到用户wangwu的shell类型为/bin/bash

[root@redhat2 home]# chsh -s /bin/sh wangwu

Changing shell for wangwu.

Shell changed.

[root@redhat2 home]#

[root@redhat2 home]# cat /etc/passwd |grep wangwu

wangwu:x:514:514::/home/wangwu:/bin/sh

[root@redhat2 home]#

//查看/etc/passwd文件,可以看到用户wangwu的shell类型已经更改为/bin/sh

例3:更改当前用户wangwu 的shell类型为/bin/bash。

[root@redhat2 home]# chsh wangwu

Changing shell for wangwu.

New shell [/bin/sh]: /bin/bash      //在此输入shell类型,比如/bin/bash

Shell changed.

[root@redhat2 home]#

(3).pwck命令

使用pwck命令可以检验用户配置文件/etc/passwd和/etc/shadow内容是否合法和完整。

[root@redhat2 home]# pwck

user 'adm': directory '/var/adm' does not exist

user 'uucp': directory '/var/spool/uucp' does not exist

user 'gopher': directory '/var/gopher' does not exist

user 'ftp': directory '/var/ftp' does not exist

user 'avahi-autoipd': directory '/var/lib/avahi-autoipd' does not exist

user 'saslauth': directory '/var/empty/saslauth' does not exist

user 'pulse': directory '/var/run/pulse' does not exist

user 'wangwu': directory '/home/wangwu' does not exist

pwck: no changes

[root@redhat2 home]#

//可以看到用户wangwu的主目录/home/wangwu不存在。

(4).newgrp命令

使用newgrp命令可以让用户账户以另一个组群的身份进行登录。

说明:newgrp指令类似于login指令,是以相同的账号名,不同的组群身份登录系统。如果要使用newgrp指令切换组群,用户必须是该组群的用户,否则将无法登陆指定的组群。单一用户如果要同时隶属多个组群,需利用交替用户的设置。如果不指定组群名称,则newgrp指令会登录该用户名称的预设组群。

例:将用户zhang以组群zhangsan的身份登录系统。

[root@redhat2 home]# su zhang

[zhang@redhat2 home]$ newgrp zhangsan

[zhang@redhat2 home]$ id

uid=513(zhang) gid=513(zhang) groups=513(zhang),501(zhangsan)

[zhang@redhat2 home]$

一.Linux组群账户配置文件

1./etc/group文件

/etc/group文件是用户组群的配置文件,内容包括用户和用户组群,并且能显示出用户是归属哪个用户组群或哪几个用户组群。一个用户可以归属一个或多个不同的用户组群,同一用户组群的用户之间具有相似的特征。比如把某一用户加入到root用户组群,那么这个用户就可以浏览root用户主目录的文件,如果root用户把某个文件的读写执行权限放开,root用户组群的所有用户都可以修改此文件;如果是可执行的文件,root用户组群的用户也是可以执行的。

(1)./etc/group文件内容

/etc/group文件的内容包括用户组群名、用户组群口令、GID及该用户组群所包含的用户,每个用户组群都有一条记录。一行有4个段位,每个段位用":"分隔,下面是/etc/group文件的部分内容的示例。

[root@redhat2 home]# cat /etc/group

root:x:0:

bin:x:1:bin,daemon

daemon:x:2:bin,daemon

sys:x:3:bin,adm

adm:x:4:adm,daemon

tty:x:5:

disk:x:6:

表8-3所示为/etc/passwd文件中各字段的含义。

字段

含义

组群名

用户组群名称,如组群名root

组群口令

存放加密的密码,在上面示例中我们看到的是一个x,其实口令已被映射到/etc/gshadow文件中

组群标识号

在系统内用一个整数标识组群GID,每个组群的GID都是唯一的,默认普通组群的GID从500开始,如root组群GID是0

组群成员

属于这个组群的成员,如root组群的成员有root用户

(2)./etc/gshadow文件

/etc/gshadow是/etc/group的加密文件,比如用户组群管理密口令就是存放在这个文件中。/etc/gshadow和/etc/group是互补的两个文件;

/etc/gshadow文件中每个用户组群都有一条记录。一行有4个段位,每个段位用":"分割,下面是/etc/gshadow文件的部分内容的示例:

[root@redhat2 home]# cat /etc/gshadow

root:::

bin:::bin,daemon

daemon:::bin,daemon

sys:::bin,adm

adm:::adm,daemon

tty:::

disk:::

lp:::daemon

mem:::

kmem:::

wheel:::

mail:::mail,postfix

uucp:::

man:::

games:::

表4-1 所示为/etc/gshadow文件中各字段的含义。

字段

含义

组群名

组群名称,如组群名root

组群口令

口令已经加密,如果这些组群在这里显示的是"!",表示这个组群没有口令。上面示例中组群shanghai没有口令,组群beijing已设置口令。

组群管理者

组群的管理者,有权在该组群中添加、删除用户

组群成员

属于该组群的用户成员列表,如有多个用户用","分隔。上面示例中beijing组群的成员是ou

二.字符界面下组群账户的设置

在Linux系统字符界面下创建、修改以及删除组群账户主要使用groupadd,groupmod和groupdel这3个命令,其结果与使用“用户管理器”工具一样。

1.创建组群账户

使用groupadd命令可以在Linux系统下创建组群账户。

命令语法:

[root@redhat2 ~]# groupadd

Usage: groupadd [options] GROUP

Options:

-f, --force                   exit successfully if the group already exists,

and cancel -g if the GID is already used

-g, --gid GID                 use GID for the new group

-h, --help                    display this help message and exit

-K, --key KEY=VALUE           override /etc/login.defs defaults

-o, --non-unique              allow to create groups with duplicate

(non-unique) GID

-p, --password PASSWORD       use this encrypted password for the new group

-r, --system                  create a system account

[root@redhat2 ~]#

2.创建名为china的组群。

[root@redhat2 ~]# groupadd -g 800 ou

[root@redhat2 ~]# cat /etc/group |grep ou

dialout:x:18:

ou:x:800:

[root@redhat2 ~]#

//查看文件/etc/group,可以看到已经创建了组群ou,组群GID是800。

3.创建名为chineses的系统组群。

[root@redhat2 ~]# groupadd -r chineses

[root@redhat2 ~]# cat /etc/group |grep chinese

chineses:x:493:

[root@redhat2 ~]#

4.创建名为chinese的系统组群。

[root@redhat2 ~]# groupadd -r chineses

[root@redhat2 ~]# cat /etc/group |grep chinese

chineses:x:493:

[root@redhat2 ~]#

//查看/etc/group文件,可以看到系统组群chinese的GID是493,是小于500的。

三.修改组群账户

使用groupmod命令可以在Linux系统下修改组群账户,如组群名称、GID等。

命令语法:

[root@redhat2 ~]# groupmod

Usage: groupmod [options] GROUP

Options:

-g, --gid GID                 change the group ID to GID

-h, --help                    display this help message and exit

-n, --new-name NEW_GROUP      change the name to NEW_GROUP

-o, --non-unique              allow to use a duplicate (non-unique) GID

-p, --password PASSWORD       change the password to this (encrypted)

PASSWORD

[root@redhat2 ~]#

例1:将组群ou的GID修改为900。

[root@redhat2 ~]# groupmod -g 900 ou

[root@redhat2 ~]# cat /etc/group |grep ou

dialout:x:18:

ou:x:900:

[root@redhat2 ~]#

//查看文件/etc/group,可以看到组群ou的GID已经更改为900。

例2:修改组群ou的新组群名称为shanghai。

[root@redhat2 ~]# groupmod -n shanghai ou

[root@redhat2 ~]# cat /etc/group|grep shanghai

shanghai:x:900:

[root@redhat2 ~]#

//查看/etc/group文件,可以看到当前组群shanghai已经存在。

四.账户相关文件或目录

在创建、修改和删除账户时,涉及到众多的相关文件和目录,如/etc/skel目录、/etc/login.defs文件和/etc/default/useradd文件。

/etc/skel目录

/etc/skel目录是存放用户启动文件的目录,这个目录由root用户管理,当管理员创建新用户时,这个目录下的文件会自动复制到新创建的用户的主目录下。/etc/skel目录下的文件都是隐藏文件,也就是类似".file"格式的,可以通过添加、修改和删除/etc/skel目录下的文件,来为用户提供一个统一、标准和默认的用户环境。

使用如下命令查看/etc/skel目录内包含的文件信息。

[root@redhat2 ~]# ls -al /etc/skel

total 40

drwxr-xr-x.   4 root root  4096 Jun  4  2014 .

drwxr-xr-x. 100 root root 12288 Jan 11 05:24 ..

-rw-r--r--.   1 root root    18 Apr 23  2012 .bash_logout

-rw-r--r--.   1 root root   176 Apr 23  2012 .bash_profile

-rw-r--r--.   1 root root   124 Apr 23  2012 .bashrc

drwxr-xr-x.   2 root root  4096 Jul 14  2010 .gnome2

-rw-r--r--.   1 root root   121 Apr 11  2012 .kshrc

drwxr-xr-x.   4 root root  4096 Jun  2  2014 .mozilla

[root@redhat2 ~]#

当用户useradd命令创建新用户时,/etc/skel目录下的文件会自动复制到新创建用户的主目录下。另外一种方法也可以达到同样效果,管理员通过修改/etc/passwd文件创建新用户时,设置用户的主目录,然后把/etc/skel下的文件复制到用户的主目录下,最后用chown命令改变新用户主目录的属主。

2./etc/login.defs配置文件

/etc/login.defs文件规定了创建新用户时的一些默认设置,比如创建用户时是否需要主目录、UID和GID的范围、用户账户口令的期限等,这个文件可以通过root用户来修改。

MAIL_DIR   /var/spool/mail  //创建用户时,要在目录/var/spool/mail中创建一个用户邮箱文件

PASS_MAX_DAYS   99999   //用户必须更改口令的天数

PASS_MIN_DAYS   0             //用户可以更改口令的天数

PASS_MIN_LEN    5                //口令最小长度

PASS_WARN_AGE   7           //在用户口令过期之前的警告时间

UID_MIN                   500     //创建新用户时用户的UID从500开始

UID_MAX                 60000  //用户最大UID职为60000

GID_MIN                   500      //创建新组群时组群的GID从500开始

GID_MAX                 60000   //组群最大GID值为60000

CREATE_HOME     yes   //是否要求创建用户主目录,yes表示要求创建

ENCRYPT_METHOD MD5  //启用MD5加密口令

3./etc/default/useradd文件

/etc/default/useradd文件是在使用useradd命令创建用户账户时的规则文件。

[root@redhat2 ~]# cat /etc/default/useradd

# useradd defaults file

GROUP=100

HOME=/home        //把用户的主目录创建在/home目录中

INACTIVE=-1          //是否启用账户过期,-1表示不启用

EXPIRE=                   //账户终止日期,不设置表示不启用

SHELL=/bin/bash  //用户账户所用shell类型

SKEL=/etc/skel     //创建新用户时从/etc/skel目录下复制文件到用户主目录

CREATE_MAIL_SPOOL=yes  //创建新用户时在/var/spool/mail目录下创建该用户邮箱目录。

五.用户和组群维护命令

1.账户维护命令

在平时的工作中对账户进行维护主要用到passwd,gpasswd,chfn,chsh,su,pwck以及newgrp等众多命令。

(1).passwd命令

使用passwd命令可以设置或修改用户的口令,普通用户和超级权限用户都可以运行passwd。

普通用户只能更改自己的用户口令,root用户可以设置或修改任何用户的口令。

如果passwd命令后面不接任何选项或用户名,则表示修改当前用户的口令。

命令语法:

[root@redhat2 ~]# passwd --help

Usage: passwd [OPTION...]

-k, --keep-tokens       keep non-expired authentication tokens

-d, --delete            delete the password for the named account (root only)

-l, --lock              lock the password for the named account (root only)

-u, --unlock            unlock the password for the named account (root only)

-e, --expire            expire the password for the named account (root only)

-f, --force             force operation

-x, --maximum=DAYS      maximum password lifetime (root only)

-n, --minimum=DAYS      minimum password lifetime (root only)

-w, --warning=DAYS      number of days warning users receives before  password expiration (root only)

-i, --inactive=DAYS     number of days after password expiration when an

account becomes disabled (root only)

-S, --status            report password status on the named account (root only)

--stdin                 read new tokens from stdin (root only)

Help options:

-?, --help              Show this help message

--usage                 Display brief usage message

例1:设置用户zhaoliu的口令

[root@redhat2 home]# passwd zhaoliu

Changing password for user zhaoliu.

New password:

BAD PASSWORD: it is WAY too short

BAD PASSWORD: is too simple

Retype new password:

passwd: all authentication tokens updated successfully.

[root@redhat2 home]#

例2:设置当前用户的口令

[root@redhat2 home]# passwd

Changing password for user root.

New password:

BAD PASSWORD: it is WAY too short

BAD PASSWORD: is too simple

Retype new password:

passwd: all authentication tokens updated successfully.

[root@redhat2 home]#

例3:锁住用户zhaoliu的口令。

[root@redhat2 home]# passwd -l zhaoliu

Locking password for user zhaoliu.

passwd: Success

[root@redhat2 home]#

//用户zhaoliu锁住以后不能登录到系统,但是可以用su命令从其他用户切换到用户zhaoliu

[root@redhat2 home]# passwd -S zhaoliu

zhaoliu LK 2015-01-12 0 99999 7 -1 (Password locked.)

[root@redhat2 home]#

//查看用户口令状态,可以看到用户zhaoliu的口令是锁住的。

[root@redhat2 home]# cat /etc/shadow|grep zhaoliu

zhaoliu:!!$1$fMvAUpfG$yIGyFEzLVkZflgi78rCkJ/:16448:0:99999:7:::

[root@redhat2 home]#

//查看/etc/shadow文件,可以看到用户zhaoliu口令锁住以后在口令字段前有"!!"

例4:解锁用户zhaoliu口令。

[root@redhat2 home]# passwd -u zhaoliu

Unlocking password for user zhaoliu.

passwd: Success

[root@redhat2 home]#

例5:删除用户zhaoliu的口令。

[root@redhat2 home]# cat /etc/shadow|grep zhaoliu

zhaoliu:!!$1$fMvAUpfG$yIGyFEzLVkZflgi78rCkJ/:16448:0:99999:7:::

//查看/etc/shadow文件,可以看到用户zhaoliu设置过口令。

[root@redhat2 home]# passwd -u zhaoliu

Unlocking password for user zhaoliu.

passwd: Success

[root@redhat2 home]# cat /etc/shadow|grep zhaoliu

zhaoliu:$1$fMvAUpfG$yIGyFEzLVkZflgi78rCkJ/:16448:0:99999:7:::

[root@redhat2 home]# passwd -d zhaoliu

Removing password for user zhaoliu.

passwd: Success

[root@redhat2 home]# cat /etc/shadow |grep zhaoliu

zhaoliu::16448:0:99999:7:::

[root@redhat2 home]#

//查看/etc/shadow文件,可以看到用户zhaoliu的口令已经没有了.

(2).gpasswd

使用gpasswd命令可以设置一个组群的组群密码,或是在组群中添加、删除用户。

[root@redhat2 home]# gpasswd

Usage: gpasswd [option] GROUP

Options:

-a, --add USER                add USER to GROUP

-d, --delete USER             remove USER from GROUP

-r, --remove-password         remove the GROUP's password

-R, --restrict                restrict access to GROUP to its members

-M, --members USER,...        set the list of members of GROUP

-A, --administrators ADMIN,...

set the list of administrators for GROUP

Except for the -A and -M options, the options cannot be combined.

例1:把用户zhaoliu添加到zhang组群中。

[root@redhat2 home]# gpasswd -a zhaoliu zhang

Adding user zhaoliu to group zhang

//正在将用户"zhaoliu"加入到'zhang'组群中。

[root@redhat2 home]# cat /etc/group |grep zhaoliu

zhang:x:513:zhaoliu

[root@redhat2 home]#

//在/etc/group文件中可以看到zhang组群中有用户zhaoliu。

例2:从zhang组群中删除用户zhaoliu。

[root@redhat2 home]# gpasswd -d zhaoliu zhang

Removing user zhaoliu from group zhang

[root@redhat2 home]# cat /etc/group |grep zhang

zhangsan:x:501:

zhang:x:513:

[root@redhat2 home]#

//在/etc/group文件中可以看到zhang组群中已经没有用户zhaoliu了。

例3:设置zhang组群的口令。

[root@redhat2 home]# gpasswd zhang

Changing the password for group zhang

New Password:

Re-enter new password:

[root@redhat2 home]#

//在/etc/gshadow文件中可以看到组群zhang已经设置口令。

例4:取消zhang组群密码。

[root@redhat2 home]# gpasswd -r zhang

[root@redhat2 home]# cat /etc/gshadow |grep zhang

zhangsan:!::

zhang:::

[root@redhat2 home]#

//在/etc/gshadow文件中可以看到组群zhang已经不存在了。

(3).chsh命令

使用chsh命令可以更改用户账户的shell类型。

[root@redhat2 home]# chsh --help

Usage: chsh [ -s shell ] [ --list-shells ] [ --help ] [ --version ]

[ username ]

[root@redhat2 home]#

例1.列出当前系统中所有支持的shell类型。

[root@redhat2 home]# chsh -l

/bin/sh

/bin/bash

/sbin/nologin

/bin/tcsh

/bin/csh

/bin/ksh

[root@redhat2 home]#

例2:更改用户wangwu所用的shell类型为/bin/sh.

[root@redhat2 home]# cat /etc/passwd |grep wangwu

wangwu:x:514:514::/home/wangwu:/bin/bash

//查看/etc/passwd文件,可以看到用户wangwu的shell类型为/bin/bash

[root@redhat2 home]# chsh -s /bin/sh wangwu

Changing shell for wangwu.

Shell changed.

[root@redhat2 home]#

[root@redhat2 home]# cat /etc/passwd |grep wangwu

wangwu:x:514:514::/home/wangwu:/bin/sh

[root@redhat2 home]#

//查看/etc/passwd文件,可以看到用户wangwu的shell类型已经更改为/bin/sh

例3:更改当前用户wangwu 的shell类型为/bin/bash。

[root@redhat2 home]# chsh wangwu

Changing shell for wangwu.

New shell [/bin/sh]: /bin/bash      //在此输入shell类型,比如/bin/bash

Shell changed.

[root@redhat2 home]#

(3).pwck命令

使用pwck命令可以检验用户配置文件/etc/passwd和/etc/shadow内容是否合法和完整。

[root@redhat2 home]# pwck

user 'adm': directory '/var/adm' does not exist

user 'uucp': directory '/var/spool/uucp' does not exist

user 'gopher': directory '/var/gopher' does not exist

user 'ftp': directory '/var/ftp' does not exist

user 'avahi-autoipd': directory '/var/lib/avahi-autoipd' does not exist

user 'saslauth': directory '/var/empty/saslauth' does not exist

user 'pulse': directory '/var/run/pulse' does not exist

user 'wangwu': directory '/home/wangwu' does not exist

pwck: no changes

[root@redhat2 home]#

//可以看到用户wangwu的主目录/home/wangwu不存在。

(4).newgrp命令

使用newgrp命令可以让用户账户以另一个组群的身份进行登录。

说明:newgrp指令类似于login指令,是以相同的账号名,不同的组群身份登录系统。如果要使用newgrp指令切换组群,用户必须是该组群的用户,否则将无法登陆指定的组群。单一用户如果要同时隶属多个组群,需利用交替用户的设置。如果不指定组群名称,则newgrp指令会登录该用户名称的预设组群。

例:将用户zhang以组群zhangsan的身份登录系统。

[root@redhat2 home]# su zhang

[zhang@redhat2 home]$ newgrp zhangsan

[zhang@redhat2 home]$ id

uid=513(zhang) gid=513(zhang) groups=513(zhang),501(zhangsan)

[zhang@redhat2 home]$

轻松学习Linux之用户账户管理及实例

Linux用户管理基础 (下载清晰视频:http://down.51cto.com/data/158699) 轻松学习Linux之用户账户管理的实例-跨硬盘移动数据 (此处视频不清楚下按下面地址下载清 ...

实验室 Linux 集群的管理常用命令

实验室有一个Linux集群,本文做一下记录. SSH相关命令 通过SSH登录集群中的其他机器上的操作系统(或虚拟机中的操作系统).操作系统之间已经设置免密码登录. 1. 无选项参数运行 SSH 通常使 ...

CentOS下的账户管理

在Linux中,每个文件都分3类权限:账户本身的权限,账户所在群组的权限和其它权限.账户和群组是多对多的关系,即一个账户可以属于多个群组,一个群组可以包含多个账户.但是,对于每一个已登录的账户,只能存 ...

Linux命令应用大词典-第13章 用户和组群管理

13.1 useradd:创建用户账户 13.2 adduser:创建用户账户 13.3 lnewusers:创建用户账户 13.4 usermod:修改用户账户 13.5 userdel:删除用户账 ...

linux用户和组账户管理

linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源.系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰. 用户账户 A.普通用户账户:普通 ...

linux账户管理[转自vbird]

useraddpasswdchageusermoduserdelfingerchfnchshidgroupaddgroupmodgroupdelgpasswd useradd 完全参考默认值创建一个用 ...

Linux学习历程——Centos 7 账户管理命令(用户篇)useradd usermod userdel

一.命令介绍 useradd     用于创建新的用户 usermod    用于修改用户属性 userdel      用于删除用户 -------------------------------- ...

linux用户和组 之 用户管理

一. linux 用户和组的基本介绍 1.linux下 有三种用户: 1. root: 权限最大的. 2. 系统用户: UID小于1000的.系统服务管理用户,一般是不允许登录系统的.(比如mysql ...

linux账户管理(centos)

1./etc/passwd 非常详细的/etc/passwd解释 http://luzl.iteye.com/blog/564404 vi /etc/passwd,可以看到如下信息,在最后一行可以看到 ...

随机推荐

IE和Firefox的Javascript兼容性总结

长久以来JavaScript兼容性一直是Web开发者的一个主要问题.在正式规范.事实标准以及各种实现之间的存在的差异让许多开发者日夜煎熬.为此,主要从以下几方面差异总结IE和Firefox的Javas ...

Jquery判断滚动条是否到达窗口顶部和底部

angular打包后路由和文件路径不对

base href换成如下script标签

docker 安装mysql数据库 <二>

一.下载mysql数据库 #网易镜像中心https://c.163.com/hub#/m/home/ #采用网易加速地址,不加速时下载非常的慢 docker pull hub.c..com/libra ...

spring boot整合shiro后,部分注解(Cache缓存、Transaction事务等)失效的问题

版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/elonpage/article/details/78965176 前言 整合有缓存.事务的sprin ...

比较正确的 iPhone7/7+ 的进入DFU的方法是这样的

正确的.没有歧义的.在WIndows7系统下进入DFU并刷机的方法是: 1)PC端打开iTunes,数据线连接iPhone7与PC: 2)iPhone7关机: 3)同时按下电源键和音量减键,LOGO会 ...

Semantic segmentation using adversarial networks

FAIR Paris分部的论文,NIPS2016 Workshop. Motivation是让predict出来的结果和真实label在高层感觉上有一致性. 基本思想就是用GAN来区分segmenta ...

FTP 搭建

FTP 搭建 FTP 是 File Transfer Protocol(文件传输协议)的英文简称,它工作在 0SI 模型的第七层,TCP 模型的第四屋上,即应用层. 一.FTP 简介 FTP 会话时包 ...

C#中的程序集和命名空间

C#中的程序集和命名空间 如果说命名空间是类库的逻辑组织形式,那么程序集就是类库的物理组织形式.只有同时指定类型所在的命名空间及实现该类型的程序集,才能完全限定该类型.<精通.NET核心技术-- ...

August 29th 2017 Week 35th Tuesday

Life is a pure flame, and we live by an invisible sun within us. 生命如纯洁的火焰,而维系这火焰的是我们内心的太阳. Burn my l ...

linux 组群设置组群密码,Linux 组群账户管理相关推荐

  1. Linux系统下设置redis的密码 与 redis 命令

    最近在linux服务器上需要安装redis,来存放数据,增加用户访问数据的速度,由于是第一次安装,于是在百度上搜了一篇文章,按照这篇博客,顺利安装好了,因此将博主的文章拷过来记录一下,方便以后使用,也 ...

  2. linux终端命令行用户名和密码,Linux入门篇 —— Linux 用户与组管理详解(system-config-users 命令行)| 七日打卡...

    用户与组管理什么是用户,用户是人吗? 用户是干啥的?用户账号超级管理员: root 普通用户: ruochen 系统/程序用户: 系统中为某个程序而产生的用户,这类用户一般不允许登录操作系统 组账号定 ...

  3. linux系统怎么设置ftp账号密码错误,linux系统FTP设置账号密码

    linux系统FTP设置账号密码 (2015-12-24 09:57:32) 一.启动vsftpd服务 1. 启动VSFTP服务器 A:cenos下运行:yum install vsftpd B. 登 ...

  4. linux应用程序设置粘滞位,Linux粘滞位的设置

    粘滞位(Stickybit),或粘着位,是Unix文件系统权限的一个旗标.最常见的用法在目录上设置粘滞位,如此以来,只有目录内文件的所有者或者root才可以删除或移动该文件.如果不为目录设置粘滞位,任 ...

  5. linux系统中设置acl的命令,Linux的ACL配置

    一. 为什么要使用ACL 首先,在 linux下,对一个文件可以进行的操作的对象分别为user(文件的拥有者),group(组,注意不一定是文件拥有者所在的组), other (其他)而对于每一对象的 ...

  6. linux系统建立ftp用户名和密码,linux系统搭建ftp服务器及创建用户使用

    linux 系统下搭建ftp服务器 ftp是什么 FTP是 File Transfer Protocol 文件传输协议的英文名称,用于在Internet上控制文件的双向传输. 同时它也是一个应用程序. ...

  7. 【Es】Es 集群设置分片很大导致集群无法选举主节点异常等

    1.背景 因为写了一个es运维平台,因此可以修改es的模板信息,然后测试把模板的分片设置成1000了,然后导致集群崩溃了,具体现象如下 集群每台机器启动正常 集群无法选举主节点 其他异常 [elast ...

  8. redis设置用户名和密码linux,redis的密码设置(windows与linux相同)

    接着我们昨天的说,昨天redis的启动已经了解,今天来说说redis的密码设置.(不管怎么说redis也是数据库,也需要密码) 修改密码可以2种行径.第一种,直接修改配置文件,打开redis.conf ...

  9. MongodDB集群设置登录账号密码(增加key-file以供集群内部相互验证身份)

    在部署mongodb集群的时候,有些安全性要求比较高的地方,需要启用密码验证的方式,登录mongo集群. 下面的方式是在mongodb 3.6版本的基础上,3个节点的集群里设置的. 生成集群验证key ...

  10. linux应用程序设置粘滞位,linux 权限设置和SUID,SGID以及粘滞位

    我们知道文件的权限可以用三个八进制数字表示.其实文件的权限应该用四个八进制来表示,不过用 ls -l 命令时,只显示三个罢了.那个没有显示的八进制数字其实是第一个,它用来设定一些特殊权限.这个八进制数 ...

最新文章

  1. debain apt oracle jdk,debian安装oracle jdk
  2. JAVA面试——计算机网络
  3. 数据治理资深大咖分享:一文详解数据标准管理
  4. Uni-G/ The University of Glasgow (Uni-G) ECG Analysis Program
  5. rsync的自动脚本实现方案(非rsyncd服务)
  6. RESTful 设计工具和Web框架
  7. .NET微信扫码支付模式二API接口开发测试
  8. 宇视摄像头IP地址修改工具
  9. RGB、HSL、Hex网页色彩码,看完这篇全懂了
  10. 基于SpringBoot实现简易的单点登录系统(提供gitee源码)
  11. matlab 相位谱是直线,matlab幅度谱和相位谱
  12. java 递归死循环_java嵌套事物与递归调用避免死循环问题
  13. 爬虫实例之豆瓣高分电影
  14. 电子计算机的发展经历了四代
  15. PCI驱动开发学习笔记(一)
  16. 管理者如何抓绩效管理?
  17. 电视直播(CCTV5)
  18. 电脑右下角网络图标有个红叉但是可以上网
  19. IDEA上的项目托管到码云步骤
  20. Spark面试,Spark面试题,Spark面试汇总

热门文章

  1. lab2 基于VMware虚拟化的跨网段访问(使用海蜘蛛)
  2. 新版gsp计算机系统全套资料,(完整版)新版GSP培训
  3. 2021-07-01标的上涨,认购下跌,认沽上涨
  4. laravel8 QQ登录
  5. 一个博客网站的历史纪录。。。
  6. 易观发布最新报告:电商第三唯品会如何做到“正品”第一?
  7. [计算机组成原理] Cache 行长一般指 Cache 行中的数据部分的长度,Cache 容量一般指 Cache 数据部分的容量
  8. 算法---快速查找质数
  9. 苹果手机升级系统12 一直无服务器,iOS 12很厉害,为啥我的手机不升级后变卡?...
  10. 联通出4G iPhone 5S(A1528)用不了