文档库 最新最全的文档下载
当前位置:文档库 › Linux的用户和用户组管理分解

Linux的用户和用户组管理分解

Linux的用户和用户组管理分解
Linux的用户和用户组管理分解

Linux的用户和用户组管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

一:用户和组帐号概述

1:Linux基于用户身份对资源访问进行控制

(1)用户帐号:

●超级用户root:类似于Windows系统中的Administrator用户,非执行管理任务时不建议使用root用户登录系统

●普通用户:一般只在用户自己的宿主目录中有完全权限

●程序用户:用于维持系统或某个程序的正常运行,一般不允许登录到系统。例如:bin、daemon、ftp、mail等

(2)组帐号:

●基本组( 私有组)

●附加组(公共组)

(3)UID 和GID :

●UID (User Identity ,用户标识号)

●GID (Group Identify ,组标识号)

●1~499的UID、GID默认保留给程序用户使用,普通用户/组使用的号在500~60000之间

2:用户帐号文件—— passwd

?用于保存用户的帐号基本信息

?文件位置:/etc/passwd

?每一行对应一个用户的帐号记录

[root@localhost ~]# tail -2 /etc/passwd

sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin student:x:500:500:Student User:/home/student:/bin/bash

?字段1:用户帐号的名称

?字段2:用户密码字串或者密码占位符“x”

?字段3:用户帐号的UID号

?字段4:所属基本组帐号的GID号

?字段5:用户全名

?字段6:宿主目录

?字段7:登录Shell信息

3:用户密码文件—— shadow

?用于保存密码字串、密码有效期等信息

?文件位置:/etc/shadow

?每一行对应一个用户的密码记录

[root@localhost ~]# tail -2 /etc/shadow

sabayon:!!:15495:0:99999:7:::

student:$1$po/zD0XK$4HSh/Aeae/eJ6dNj1k7Oz1:15495:0:99999:7::: ?字段1:用户帐号的名称

?字段2:加密的密码字串信息

?字段3:上次修改密码的时间:表示从1970年01月01日算起到最近一次修改密码时

间隔的天数

?字段4:密码的最短有效天数,默认值为0

?字段5:密码的最长有效天数,默认值为99999

?字段6:提前多少天警告用户口令将过期,默认值为7

?字段7:在密码过期之后多少天禁用此用户

?字段8:帐号失效时间,默认值为空

?字段9:保留字段(未使用)

4:组帐号文件— group、gshadow

?与用户帐号文件相类似

?/etc/group :保存组帐号基本信息

?/etc/gshadow :保存组帐号的密码信息

5:用户帐号的初始配置文件

文件来源

?新建用户帐号时,从/etc/skel 目录中复制而来

主要的用户初始配置文件

?~/.bash_profile :用户每次登录时执行

?~/.bashrc :每次进入新的Bash 环境时执行

?~/.bash_logout :用户每次退出登录时执行

实现用户账号的管理,要完成的工作主要有如下几个方面:

·用户账号的添加、删除与修改。

·用户口令的管理。

·用户组的管理。

一、Linux系统用户账号的管理

用户账号的管理工作主要涉及到用户账号的添加、修改和删除。

添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。1、添加新的用户账号使用useradd命令,其语法如下:

useradd 选项用户名

其中各选项含义如下:

-c comment 指定一段注释性描述。

-d 目录指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

-e :指定帐号失效时间 (可用具体时间 yyyy-mm-dd)

-M :不为用户建立并初始化宿主目录

-g 用户组指定用户所属的用户组。

-G 用户组,用户组指定用户所属的附加组。

-s Shell文件指定用户的登录Shell。

-u 用户号指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

用户名指定新账号的登录名。

2、例子说明

例1:

# useradd –d /usr/sam -M sam

此命令创建了一个用户sam,

其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。

例2:

# useradd -s /bin/sh -g group –G adm,root gem

此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,它属于group 用户组,同时又属于adm和root用户组,其中group用户组是其主组。

这里可能新建组:#groupadd group及groupadd adm

增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。

Linux提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理。

EG1:

(1)创建名为st02的用户帐号,并将其UID号指定为504

[root@localhost ~]# useradd -u 504 st02

[root@localhost ~]# tail -1 /etc/passwd

st02:x:504:504::/home/st02:/bin/bash

(2)创建一个考试测试用的帐号exam01,指定属于users组,该帐号于2009-07-30失效

[root@localhost ~]# useradd -G users -e 2012-07-30 exam01

3、删除帐号

如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。删除一个已有的用户账号使用userdel命令,其格式如下:

userdel 选项用户名

常用的选项是-r,它的作用是把用户的主目录一起删除。

例如:

# userdel sam

此命令删除用户sam在系统文件中(主要是

/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。

4、修改帐号

修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。修改已有用户的信息使用usermod命令,其格式如下:usermod 选项用户名

常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。另外,有些系统可以使用如下选项:

-l :更改用户帐号的登录名称

-L :锁定用户账户

-U :解锁用户账户

-l 新用户名

这个选项指定一个新的账号,即将原来的用户名改为新的用户名。

例如:

# usermod -s /bin/ksh -d /home/z –g developer sam 此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。

5、用户口令的管理

用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。

指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:

passwd 选项用户名

可使用的选项:

-l 锁定口令,即禁用账号。

-u 口令解锁。

-d 使账号无口令。

-S 查看用户帐号的状态(是否被锁定)

-f 强迫用户下次登录时修改口令。

如果默认用户名,则修改当前用户的口令。

例如,假设当前用户是sam,则下面的命令修改该用户自己的口令:

$ passwd

Old password:******

New password:*******

Re-enter new password:*******

如果是超级用户,可以用下列形式指定任何用户的口令:

# passwd sam

New password:*******

Re-enter new password:*******

普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。

为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。

为用户指定空口令时,执行下列形式的命令:

# passwd -d sam

此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再询问口令。

passwd命令还可以用-l(lock)选项锁定某一用户,使其不能登录,例如:

# passwd -l sam

6、改变用户密码期限——chage命令

?格式:chage [选项]... 用户帐号名

常用命令选项

?-M :密码的最长有效天数

?-m :密码的最短有效天数

?-W :用户密码到期前,提前收到警告信息的天数。

?-I :停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。

?-E :密码的过期时间yyyy-mm-dd 密码过期后用户就会被删除(即便再修改密码也没有用)

二、Linux系统用户组的管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

1、增加一个新的用户组使用groupadd命令。其格式如下:

groupadd 选项用户组

可以使用的选项有:

-g GID 指定新用户组的组标识号(GID)。

-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

例1:

# groupadd group1

此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。

例2:

#groupadd -g 101 group2

此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。

2、如果要删除一个已有的用户组,使用groupdel命令,其格式如下:

groupdel 用户组

例如:

#groupdel group1

此命令从系统中删除组group1。

3、修改用户组的属性使用groupmod命令。其语法如下:

groupmod 选项用户组

常用的选项有:

-g GID 为用户组指定新的组标识号。

-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。

-n新用户组将用户组的名字改为新名字

例1:

# groupmod -g 102 group2

此命令将组group2的组标识号修改为102。

例2:

# groupmod –g 10000 -n group3 group2

此命令将组group2的标识号改为10000,组名修改为group3。

4、如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。

例如:

假设当前用户是lwj

$ newgrp root

这条命令将当前用户切换到root用户组。如果root组设置了密码(可以使用gpasswd命令),而lwj本身是root的组成员,则直接用#newgrp root即可切换到root组,若lwj不是root的组成员,则必须要输入组密码才能完成切换。如果root组没有设置密码,则只有组成员才能完成组的切换,其他用户不可用切换。Lwj成功将当前组切换为root后,他所创建的文件或目录的属组默认是root,而不再是lwj。

5:设置组账号密码——gpasswd命令

?用途:设置组帐号密码(极少用)、添加/ 删除组成员

?格式:gpasswd [选项]... 组帐号名

常用命令选项

?-a :向组内添加一个用户

?-d :从组内删除一个用户成员

?-M :定义组成员列表,以逗号分隔

?-r:删除密码

?-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组

设置用户为组管理员的命令格式为:

gpasswd -A 组管理员用户列表用户组

设定组密码

使用gpasswd命令设定组密码:

gpasswd group_name

此操作由组管理员进行。

5.取消组密码

使用gpasswd命令取消组密码:

Gpasswd -r group_name

此操作由组管理员进行。

说明:取消密组码后,只有成员才可以通过newgrp命令切换入该组。

三、用户和组的其他

1:用户和组帐号查询

?id命令

?用途:查询用户身份标识

?格式:id [用户名]

?groups 命令

?用途: 查询用户所属的组

?格式:groups [用户名]

?finger 命令

?用途:查询用户帐号的详细信息

?格式:finger [-l] [用户名]

?users 、w 、who 命令

?用途:查询已登录到主机的用户信息

EG2:

(1)先建manager组,创建两个用户natasha,harry附属组为manager,创建第三个用户strlt不充许login。

(2)建一个用户susa,指定UID号为4000。

(3)现雇用一组顾问从事某一项目。为每位顾问创建用户帐户,并将这些帐户掭加到作为补充组,名为consultants、组id为40000的组中。这些帐户应在90天后终止时过期,且每个月都必须更改密码。

以下是顾问姓名及其相应用户名的列表,帐户的初始密码均应为default):

sspade,bboop,dtracy

EG3:

?主要有哪两个用户帐号文件,各有什么作用?

?如何锁定、解锁用户帐号?

?在添加用户帐号时,如何设置其失效时间?

?用户初始配置文件包括哪些,各有什么作用?

?如何设置一个组的多个用户成员?

部分答案提示:

【1】/etc/passwd、/etc/shadow

【2】锁定帐号:usermod -L 用户名、passwd -l 用户名;解锁帐号:usermod -U 用户名、passwd -u 用户名

【3】useradd -e YYYY-mm-dd 用户名或者usermod -e YYYY-mm-dd 用户名【4】~/.bash_profile、~/.bashrc、~/.bash_logout

【5】gpasswd -M 用户1,用户2,用户3 组名

复习:

(1)先建manager组,创建两个用户natasha,harry附属组为manager,创建第三个用户strlt不充许login

(2)/etc/fstab 复制到/var/tmp/fstab ,设置harry可以读写,natasha不能做任何操作,其他用户可读,设置manager组为fstab 所属组

(3)建一个用户susa,指定UID号为4000

(4)查找所有属于普通用户susa的文件,并移动到/root/finder目录

(5)查找/var/share/doc/words中包含字符串“lib”的行,并按顺序复制到/root/lines.txt中。

(6)设置用户natasha对目录/home/cnrts(创建)有完全控制权限,在目录中创建的文件自动继承组的权限,设置manager组用户对目录有读写执行权行,其他人没有权限,(root除外)

三、与用户账号有关的系统文件

完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/shadow, /etc/group等。下面分别介绍这些文件的内容。

1、/etc/passwd文件是用户管理工作涉及的最重要的一个文件。Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。这个文件对所有用户都是可读的。它的内容类似下面的例子:

#cat /etc/passwd

root:x:0:0:Superuser:/:

daemon:x:1:1:System daemons:/etc:

bin:x:2:2:Owner of system commands:/bin:

sys:x:3:3:Owner of system files:/usr/sys:

adm:x:4:4:System accounting:/usr/adm:

uucp:x:5:5:UUCP administrator:/usr/lib/uucp:

auth:x:7:21:Authentication administrator:/tcb/files/auth:

cron:x:9:16:Cron daemon:/usr/spool/cron:

listen:x:37:4:Network daemon:/usr/net/nls:

lp:x:71:18:Printer administrator:/usr/spool/lp:

sam:x:200:50:Sam san:/usr/sam:/bin/sh

从上面的例子我们可以看到,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell 1)“用户名”是代表用户账号的字符串。通常长度不超过8个字符,并且由大小写字母和/或数字组成。登录名中不能有冒号(:),因为冒号在这里是分隔符。为了兼容起见,登录名中最好不要包含点字符(.),并且不使用连字符(-)和加号(+)打头。

2)“口令”一些系统中,存放着加密后的用户口令字。。虽然这个字段存放的只是用户口令的加密串,不是明文,但是由于/etc /passwd文件对所有用户都可读,所以这仍是一个安全隐患。因此,现在许多Linux 系统(如SVR4)都使用了shadow技术,把真正的加密后的用户口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符,例如“x”或者“*”。

3)“用户标识号”是一个整数,系统内部用它来标识用户。一般情况下它与用户名是一一对应的。如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等。

通常用户标识号的取值范围是0~65 535。0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。

4)“组标识号”字段记录的是用户所属的用户组。它对应着/etc/group文件中的一条记录。

5)“注释性描述”字段记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途。在不同的Linux 系统中,这个字段的格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。

6)“主目录”,也就是用户的起始工作目录,它是用户在登录到系统之后所处的目录。在大多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用户主目录的名称就是该用户的登录名。各用户对自己的主目录有读、写、执行(搜索)权限,其他用户对此目录的访问权限则根据具体情况设置。

7)用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。Shell 是用户与Linux系统之间的接口。Linux的Shell有许多种,每种都有不同的特点。常用的有

sh(Bourne Shell), csh(C Shell), ksh(Korn Shell), tcsh(TENEX/TOP S- 20 type C Shell), bash(Bourne Again Shell)等。系统管理员可以根据系统情况和用户习惯为用户指定某个 Shell。如果不指定Shell,那么系统使用sh为默认的登录Shell,即这个字段的值为/bin/sh。

用户的登录Shell也可以指定为某个特定的程序(此程序不是一个命令解释器)。利用这一特点,我们可以限制用户只能运行指定的应用程序,在该应用程序运行结束后,用户就自动退出了系统。有些Linux 系统要求只有那些在系统中登记了的程序才能出现在这个字段中。

8)系统中有一类用户称为伪用户(psuedo users),这些用户在

/etc/passwd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。常见的伪用户如下所示。

伪用户含义

bin 拥有可执行的用户命令文件

sys 拥有系统文件

adm 拥有帐户文件

uucp UUCP使用

lp lp或lpd子系统使用

nobody NFS使用

拥有帐户文件

除了上面列出的伪用户外,还有许多标准的伪用户,例如:

audit, cron, mail, usenet等,它们也都各自为相关的进程和文件所需要。

由于/etc/passwd文件是所有用户都可读的,如果用户的密码太简单或规律比较明显的话,一台普通的计算机就能够很容易地将它破解,因此对安全性要求较高的Linux系统都把加密后的口令字分离出来,单独存放在一个文件中,这个文件是/etc/shadow文件。只有超级用户才拥有该文件读权限,这就保证了用户密码的安全性。

2、/etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用“:”隔开。这些字段是:

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号

2)“口令”字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集

合{ ./0-9A-Za-z }中的字符,则对应的用户不能登录。

3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCO Linux 中,这个时间起点是1970年1月1日。

4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。

5)“最大时间间隔”指的是口令保持有效的最大天数。

6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。

7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。

8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。

下面是/etc/shadow的一个例子:

#cat /etc/shadow

root:Dnakfw28zf38w:8764:0:168:7:::

daemon:*::0:0::::

bin:*::0:0::::

sys:*::0:0::::

adm:*::0:0::::

uucp:*::0:0::::

nuucp:*::0:0::::

auth:*::0:0::::

cron:*::0:0::::

listen:*::0:0::::

lp:*::0:0::::

sam:EkdiSECLWPdSa:9740:0:0::::

3、用户组的所有信息都存放在/etc/group文件中。

将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。用户组的所有信息都存放在/etc/group文件中。此文件的格式也类似于/etc/passwd文件,由冒号(:)隔开若干个字段,这些字段有:

组名:口令:组标识号:组内用户列表

1)“组名”是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。

2)“口令”字段存放的是用户组加密后的口令字。一般Linux 系统的用户组都没有口令,即这个字段一般为空,或者是*。

3)“组标识号”与用户标识号类似,也是一个整数,被系统内部用来标识组。

4)“组内用户列表”是属于这个组的所有用户的列表/b],不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。

/etc/group文件的一个例子如下:

# cat /etc/group

root::0:root

bin::2:root,bin

sys::3:root,uucp

adm::4:root,adm

daemon::5:root,daemon

lp::7:root,lp

users::20:root,sam

wingger回复于:2004-11-04 13:31:28

四、添加量用户批

添加和删除用户对每位Linux系统管理员都是轻而易举的事,比较棘手的是如果要添加几十个、上百个甚至上千个用户时,我们不太可能还使用 useradd 一个一个地添加,必然要找一种简便的创建大量用户的方法。Linux系统提供了创建大量用户的工具,可以让您立即创建大量用户,方法如下:

(1)先编辑一个文本用户文件,每一列按照/etc/passwd密码文件的格式书写,要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏可以留做空白或输入x号。一个范例文件user.txt内容如下:

user001::600:100:user:/home/user001:/bin/bash

user002::601:100:user:/home/user002:/bin/bash

user003::602:100:user:/home/user003:/bin/bash

user004::603:100:user:/home/user004:/bin/bash

user005::604:100:user:/home/user005:/bin/bash

user006::605:100:user:/home/user006:/bin/bash

(2)以root身份执行命令/usr/sbin/newusers,从刚创建的用户文件user.txt中导入数据,创建用户:

# newusers < user.txt

然后可以执行命令vipw或vi /etc/passwd检查/etc/passwd文件是否已经出现这些用户的数据,并且用户的宿主目录是否已经创建。

(3)执行命令/usr/sbin/pwunconv,将/etc/shadow产生的shadow密码解码,然后回写到/etc/passwd中,并将/etc/shadow的shadow密码栏删掉。这是为了方便下一步的密码转换工作,即先取消shadow password功能。

# pwunconv

(4)编辑每个用户的密码对照文件,范例文件passwd.txt内容如下:

user001:密码

user002:密码

user003:密码

user004:密码

user005:密码

user006:密码

(5)以root身份执行命令/usr/sbin/chpasswd,创建用户密码,chpasswd 会将经过/usr/bin/passwd命令编码过的密码写入/etc/passwd的密码栏。

# chpasswd < passwd.txt

(6)确定密码经编码写入/etc/passwd的密码栏后,执行命令

/usr/sbin/pwconv将密码编码为shadow password,并将结果写入

/etc/shadow。

# pwconv

这样就完成了大量用户的创建了,之后您可以到/home下检查这些用户宿主目录的权限设置是否都正确,并登录验证用户密码是否正确。

wingger回复于:2004-11-04 13:39:12

五、赋予普通用户特殊权限

在Linux系统中,管理员往往不止一人,若每位管理员都用root身份进行管理工作,根本无法弄清楚谁该做什么。所以最好的方式是:管理员创建一些普通用户,分配一部分系统管理工作给他们。

我们不可以使用su让他们直接变成root,因为这些用户都必须知道root 的密码,这种方法很不安全,而且也不符合我们的分工需求。一般的做法是利用权限的设置,依工作性质分类,让特殊身份的用户成为同一个工作组,并设置工作组权限。例如:要wwwadm这位用户负责管理网站数据,一般

Apache Web Server的进程httpd的所有者是www,您可以设置用户wwwadm

与www为同一工作组,并设置Apache默认存放网页目录

/usr/local/httpd/htdocs的工作组权限为可读、可写、可执行,这样属于此工作组的每位用户就可以进行网页的管理了。

但这并不是最好的解决办法,例如管理员想授予一个普通用户关机的权限,这时使用上述的办法就不是很理想。这时您也许会想,我只让这个用户可以以root身份执行shutdown命令就行了。完全没错,可惜在通常的Linux系统中无法实现这一功能,不过已经有了工具可以实现这样的功能——sudo。

sudo通过维护一个特权到用户名映射的数据库将特权分配给不同的用户,这些特权可由数据库中所列的一些不同的命令来识别。为了获得某一特权项,有资格的用户只需简单地在命令行输入sudo与命令名之后,按照提示再次输入口令(用户自己的口令,不是root用户口令)。例如,sudo允许普通用户格式化磁盘,但是却没有赋予其他的root用户特权。

1、sudo工具由文件/etc/sudoers进行配置,该文件包含所有可以访问sudo工具的用户列表并定义了他们的特权。一个典型的/etc/sudoers条目如下:

liming ALL=(ALL) ALL

这个条目使得用户liming作为超级用户访问所有应用程序,如用户liming 需要作为超级用户运行命令,他只需简单地在命令前加上前缀sudo。因此,要以root用户的身份执行命令format,liming可以输入如下命令:

# sudo /usr/sbin/useradd sam

注意:命令要写绝对路径,/usr/sbin默认不在普通用户的搜索路径中,或者加入此路径:PATH=$PATH:/usr/sbin;export PATH。另外,不同系统命令的路径不尽相同,可以使用命令“whereis命令名”来查找其路径。

这时会显示下面的输出结果:

We trust you have received the usual lecture from the local System

Administrator. It usually boils down to these two things: #1) Respect the privacy of others.

#2) Think before you type.

Password:

如果liming正确地输入了口令,命令useradd将会以root用户身份执行。

注意:配置文件/etc/sudoers必须使用命令Visudo来编辑。

只要把相应的用户名、主机名和许可的命令列表以标准的格式加入到文件/etc/sudoers,并保存就可以生效,再看一个例子。

2、例子:管理员需要允许gem用户在主机sun上执行reboot和shutdown命令,在/etc/sudoers中加入:

gem sun=/usr/sbin/reboot,/usr/sbin/shutdown

注意:命令一定要使用绝对路径,以避免其他目录的同名命令被执行,从而造成安全隐患。

然后保存退出,gem用户想执行reboot命令时,只要在提示符下运行下列命令:

$ sudo /usr/sbin/reboot

输入正确的密码,就可以重启服务器了。

如果您想对一组用户进行定义,可以在组名前加上%,对其进行设置,如:

%cuug ALL=(ALL) ALL

3、另外,还可以利用别名来简化配置文件。别名类似组的概念,有用户别名、主机别名和命令别名。多个用户可以首先用一个别名来定义,然后在规定他们可以执行什么命令的时候使用别名就可以了,这个配置对所有用户都生效。主机别名和命令别名也是如此。注意使用前先要在/etc /sudoers中定义:

User_Alias, Host_Alias, Cmnd_Alias项,在其后面加入相应的名称,也以逗号分隔开就可以了,举例如下:

Host_Alias SERVER=no1

User_Alias ADMINS=liming,gem

Cmnd_Alias SHUTDOWN=/usr/sbin/halt,/usr/sbin/shutdown,

/usr/sbin/reboot

ADMINS SERVER=SHUTDOWN

4、再看这个例子:

ADMINS ALL=(ALL) NOPASSWD: ALL

表示允许ADMINS不用口令执行一切操作,其中“NOPASSWD:”项定义了用户执行操作时不需要输入口令。

5、sudo命令还可以加上一些参数,完成一些辅助的功能,如

$ sudo –l

会显示出类似这样的信息:

User liming may run the following commands on this host: (root) /usr/sbin/reboot

说明root允许用户liming执行/usr/sbin/reboot命令。这个参数可以使用户查看自己目前可以在sudo中执行哪些命令。

6、在命令提示符下键入sudo命令会列出所有参数,其他一些参数如下:

-V 显示版本编号。

-h 显示sudo命令的使用参数。

-v 因为sudo在第一次执行时或是在N分钟内没有执行(N预设为5)会询问密码。这个参数是重新做一次确认,如果超过N分钟,也会问密码。

-k 将会强迫使用者在下一次执行sudo时询问密码(不论有没有超过N分钟)。

-b 将要执行的命令放在背景执行。

-p prompt 可以更改问密码的提示语,其中%u会替换为使用者的账号名称,%h会显示主机名称。

-u username/#uid 不加此参数,代表要以root的身份执行命令,而加了此参数,可以以username的身份执行命令(#uid为该username的UID)。

-s 执行环境变量中的SHELL 所指定的Shell ,或

是/etc/passwd 里所指定的Shell。

-H 将环境变量中的HOME(宿主目录)指定为要变更身份的使用者的宿主目录。(如不加-u参数就是系统管理者root。)

要以系统管理者身份(或以-u更改为其他人)执行的命令。

Linux 用户管理命令

Linux 用户管理命令 Useradd user //建立用户名为user的新用户 与用户管理相关的配置文件 →/etc/default/useradd 配置文件的定义 useradd -D 如不指定任何参数,useradd显示目前预设的值; →/etc/passwd //记录用户密码 →/etc/groups //记录用户组 →finger longcpu //查询一下amdcpu 用户的信息; →root@localhost ~]# useradd -e 11/04/2005 cooler 注:添加用户cooler,并设置其有效期为2005年11月04日; →[root@localhost ~]# passwd cooler 注:设置用户cooler密码; Changing password for user cooler. New UNIX password: 注:设定cooler的密码; Retype new UNIX password: 注:核实设定密码; passwd: all authentication tokens updated successfully. 注:设置成功;有效期的记录是写在/etc/shadow文件中 → passwd 作为普通用户和超级权限用户都可以运行,但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定;如果root用户运行passwd ,可以设置或修改任何用户的密码; passwd 命令后面不接任何参数或用户名,则表示修改当前用户的密码;请看下面的子; [root@localhost ~]# passwd 注:没有加任何用户,我是用root用户来执行的passwd 表示修改root用户的密码;下面也有提示; Changing password for user root. New UNIX password: 注:请输入新密码; Retype new UNIX password: 注:验证新密码; passwd: all authentication tokens updated successfully. 注:修改root 密码成功;

实验七 linux用户管理和密码管理

实验7 用户管理和密码管理 1 实验目的 1、通过实验掌握用户和组的管理命令。 2、了解与用户和组管理相关的文件。 2 实验环境 VMware中已经安装好CentOS6.2版本。 3 实验原理或背景知识 3.1 用户管理命令 用户管理的命令主要有3个,即useradd、userdel和usermod,分别用于用户的建立、用户的删除和用户属性的修改。它们的详细说明可参见教材P73~P74或查看帮助手册。 3.2 组管理命令 组管理命令主要有groupadd、groupdel和groupmod等,分别用于组的建立、组的删除和组的属性修改。它们的详细说明可参见教材P75或查看帮助手册。 3.3 密码管理 密码管理的命令是passwd和chage,passwd使用可参见教材P76或查看帮助手册,chage 的使用可参见man手册。 3.4 与用户管理相关的文件 与用户管理相关的文件有/etc/passwd、/etc/shadow、/etc/group、/etc/login.defs、/etc/default/useradd等,用于对用户设置和登录项目进行控制。这些文件的说明可参见教材。 4 实验任务 1、使用useradd、userdel、usermod、passwd、groupadd、groupdel等命令建立用户和

组,删除用户和组,修改用户或组的属性,将用户添加进入组或者从组中删除。 2、通过修改管理文件达到管理用户或组的目的。 5 实验步骤 练习1:使用命令进行用户帐号的管理操作 1、创建一个用户,用户名为Tom,描述信息为tommy,用户组为Tom,登录shell为 /bin/csh,登录主目录为/home/tom_office,用户ID为3600,帐号过期日期为2010处10月8号。 2、将用户帐号名由Tom改为Tommy。 3、为用户Tommy设置密码。 4、将用户帐号Tommy的帐号过期日期设为2010年9月30日,密码的最大生存期设 为100天,密码过期前10天起开始提醒用户。 练习2:使用命令进行用户组帐号的管理操作 5、创建一个GID为506,组名为company的用户组帐号。 6、创建用户Tom、employee1、employee2。 7、指定用户帐号Tom为用户组company的组管理员。 转换到用户帐户Tom登录,将用户employee1、employee2加入到组company中。 8、查看登录到系统的用户有哪些,再给这些用户发个消息通知他们你将在10分钟后关机。 6 实验总结 总结管理用户和组的命令有哪些?各有什么作用?

Linux的用户和组群管理

二、Linux的用户和组的管理实验步骤 1.桌面环境下,单击主菜单\系统设置\用户和组群菜单,进行用户与组群的添加、修改、删 除操作,注意理解修改用户时,口令信息中各设置参数的含义。 添加:单击工具栏-添加用户,在弹出的”创建新用户”窗口中输入用户名 修改:直接双击该用户,在弹出的窗口中直接进行修改; 删除:在用户管理器里面选中需要删除的用户,直接单击删除按钮,会询问“直接删除主目录?”,点击确定既可。 2.用户管理器显示所有的用户的信息,并利用搜索过滤器查找所有以s开头的用户。

3.用groupadd命令创建一名为czn组群,并指定其GID为600. 4.用useradd命令创建chf用户,并指定其主要组群为czn,用户ID为600。 5.用id命令查看chf用户的UID、GID修改情况。 6.用passwd命令修改root、chf用户的密码。 修改根root的密码: 修改chf的密码: 7.用vi打开passwd、shadow、group、gshadow文件,熟悉文件中各项的含义。 打开passwd: vi /etc/passwd 打开shadow: vi /etc/shadow 打开group: vi /etc/group 打开gshadow: vi /etc/gshadow 8.用passwd命令删除chf用户密码,并尝试以chf用户登录,看看是不需要密码。 不需要密码进入用户 而进入原先设置密码的root就需要输入密码后方能进入:

9.用passwd命令锁定和解锁chf用户,并尝试以chf用户登录,看看是否能登录。 命令:passwd –l chf 锁定之后不能登陆用户chf Passwd –u chf 解锁后能够登陆用户chf 10.用usermod命令修改chf用户,使其用户名为chen,UID为601. 命令:usermod –l chen chf 修改用户名 Usermod –u 601 chen 11.用groupmod命令修改czn组群,使其组群名为czn1,用id chen 命令查看变化情况。 修改组群名:groupmod –n czn1 czn 查看:id chen 12.用groupmod命令修改czn组群,使其GID为601,用id chen 命令查看变化情况。 修改GID:groupmod –g 601 czn 查看:id chen 13.创建test1,test2用户,查看/home文件夹下目录情况。 创建用户:Useradd test1 Useradd test1 查看:vi/home home下多了用户test1和test2 14.用userdel test1与userdel –r test2删除两个用户并查看/home文件夹的变化情况。 执行以上命令后发现:使用userdel test1并不删除test1的主目录,而 userdel –r test2删除了主目录

Linux编程用户信息管理系统

一绪论 §1.1设计背景 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。 §1.2设计目的 在Linux系统的/etc目录下有这样一个文件passwd,该文件里包含系统中所有用户信息的记录,记录里包含每个用户的如下信息:用户名、密码、用户ID、组ID、用户全名、用户主目录和用户登录所用的shell。请设计一个脚本(shell)程序能实现增加、删除、查找和显示特定用户信息的功能。你们可以通过创建一些UNIX/LINUX shell 脚本文件来满足以上需求。 二需求分析 §2.1系统概述 §2.1.1 任务概述 Linux作为多用户、多任务的操作系统,其系统资源是所有用户共享的。对用户的管理是操作系统的重点。LINUX课程设计要用shell编程实现,将理论学习付诸实践。设计一个脚本(shell)程序能实现增加、删除、查找和显示特定用户信息的功能。 §2.1.2需求规定 程序要包括四个文件,即menu,add,delete,passwd四个文件。passwd文件是用来保存用户信息;menu文件是主菜单,要求运行的时候能显示一个菜单供用户选择;addusers 文件是用来增加信息;deluser文件是用来删除信息。在主Shell脚本文件里(必须以 menu 命名)要有一个多操作选项的菜单以便用户从中选择。对于任务6和7,需要编写单独的Shell 脚本文件(必须分别命名为addusers和deluser)并且在主脚本menu文件中调用这些脚本

Linux实验报告-用命令实现用户和组的管理

Linux实验报告-用命令实现用户和组的管理

————————————————————————————————作者:————————————————————————————————日期:

河南师范大学综合性、设计性实验项目简介学院名称(公章):软件学院学年 2014 - 2015 第 1 学期填表日期: 2014 年 10 月 29 日 实验课程名称Linux操作系统 实验项目名称用命令实现用户和组的管理 实验项目性质1、综合性 2、设计性主讲教师袁培燕开课年级2012级开课专业Java 实验地点过街楼B区开课日期2014.09.01 开课时间1—18周 一、实训目标 (1)掌握在Linux操作系统下用命令实现用户和组的管理 (2)了解和掌握Linux操作系统的权限概念。 二、实训环境 一台安装CentOS 7 系统的计算机,主机内存为6GB,频率为2.5GHz。 三、实训内容 (1)建立目录“/project_a”,该目录里的文字只能有David 和 Peter 两人读取、增加、删除、修改及执行,其他用户不能对该目录进行任何的访问操作。 (2) (3)建立目录“/project_b”,该目录里的文字只能有Jack和 Mike 两人读取、增加、删除、修改及执行,其他用户不能对该目录进行任何的访问操作。 (4) (5)建立目录“/project”,该目录里的文字只能有David、Peter、Jack、Mike 四个人读取、增加、删除、修改及执行,其他用户不能对该目录进行任何的访问操作。 四、实验步骤 (1)创建用户和设置密码

创建David用户,并为之设置密码– d,接下来创建其他3为用户,并设置为其密码。 具体操作:

linux用户管理

实验项目(四) 用户管理 一、学习目的 1、掌握文件和目录的访问权限设置的命令 2、掌握创建新用户的方法 3、掌握用户管理的基本命令 4、掌握用户身份的转换 5、掌握组的管理 二、学习任务 第一部分文件和目录的访问权限用户:root 工作目录:/home 1、查看当前umask参数 Umask 2、在/home目录下创建新目录dir1 说明,用mkdir命令创建目录,比如mkdir dir1 mkdir /home/dir1 3、显示目录dir1的详细信息,记录目录的权限信息 Ls -l /home/dir1 4、改变umask参数为066 Umask 0066 5、创建新目录dir2 Mkdir dir2 6、显示目录dir1的详细信息,记录目录的权限信息 Ls -l /home/dir1 7、创建新文件file1 Touch file1 8、显示文件file1的详细信息,记录文件file1的文件权限 Ls –l file1 9、为dir1的同组用户增加写权限 Chomd 664 dir1 10、改变file1的文件权限为755 Chmod 755 file1 第二部分用户管理的基本命令(一)创建用户

1、增加新用户user1,用户主目录:/home/user1 Useradd –c /home/user1 user1 2、设置user1密码为user111 Passwd user1 user111 3、增加新用户user2,用户主目录:/user/user2 Useradd –c /user/user2 user2 4、设置 user2 的密码为空 Passwd user2 5、以user1用户身份登陆 Su user1 6、将/home/file1文件拷贝到user1的用户主目录下,能够执行成功吗? 可以,Cp –r /home/file1 /home/user1 7、将/home/file1文件拷贝到 /home/dir1目录下,能够执行成功吗? 可以,Cp –r /home/file1 /home/dir1 8、切换到root用户 Su root 9、将/home/file1文件拷贝到 /home/dir1目录下,能够执行成功吗?为什么? 可以,Cp –r /home/file1 /home/dir1 10、执行# chown user1 /home/dir1,命令作用是什么? 改变文件所属用户 11、切换回user1用户 Su user1 12、将/home/file1文件拷贝到 /home/dir1目录下,能够执行成功吗?为什么? Cp –r /home/file1 /home/dir1 思考题:/etc/passwd和/etc/shadow的文件权限对于系统安全有何作用? /etc/passwd文件存放用户的宿主目录、shell环境等资料,用户必须有权限查看,所以不能设置为700。而/etc/shadow文件的默认权限一般是400。 (二)删除用户 1、#userdel user1 2、#userdel -r user2 思考:步骤1和步骤2的执行结果有什么异同? 第一个只删除用户但不删除用户的主目录。第二个删除文件的用户和主目录 步骤1要达到和步骤2同样结果,还需要增加哪些操作 Rm –rf user1

8实训八 Linux下用户和组群的管理

实验八Linux下用户和组群的管理 一、实验目的 1.理解/etc/passwd和/etc/group文件的含义。 2.掌握桌面环境下管理用户与组群的方法。 3.掌握利用Shell命令管理用户与组群的方法。 4.掌握批量新建用户帐号的步骤和方法。 二、实验相关知识 1.用户账号文件passwd passwd文件用于定义系统的用户账号,该文件位于“/etc”目录下。由于所有用户都对passwd有读权限,所以该文件中只定义用户账号,而不保存口令。passwd文件中每行定义一个用户账号,一行中又划分为多个字段定义用户账号的不同属性,各字段间用“:”分隔。 2.用户口令文件shadow shadow文件位于“/etc”目录中,用于存放用户口令等重要,所以该文件只有root用户可以读取。与passwd文件类似,shadow文件中每行定义一个用户的信息,行中的各字段用“:”分隔。为了进一步提高安全性,shadow文件中保存的是已加密的口令。 三、实验内容 1.桌面环境下管理用户与组群。 2.利用Shell命令管理用户与组群。 3.批量新建多个用户帐号。 四、实验准备 一台已经安装好Fedora操作系统的主机。 五、实验步骤 1.桌面环境下管理用户与组群 【操作要求1】新建两个用户帐号,其用户名为user1和user2,口令为“redhat”和“redhat”。 【操作步骤】 (1)以超级用户身份登录图形化用户界面,依次单击“桌面”→“系统设置”→“用户和组群”,启动“用户管理器”窗口,如图8-1所示。 图8-1 用户管理器

(2)单击工具栏上的“添加用户”按钮,出现“创建新用户”对话框,如图8-2所示,在“用户”文本框中输入用户名“user1”,在“口令”文本框中输入口令“redhat”,在“确认口令”文本框中再次输入口令,然后单击“确认”按钮,返回“用户管理器”窗口。 (3)用同样的方法新建用户user2。 (4)使用vi文本编辑器,打开/etc/passwd和/etc/shadow文件将发现文件的末尾出现表示user1和user2用户帐号的信息。打开/etc/group和/etc/shadow文件将发现文件末尾出现表示user1和user2私人组群的信息。 (5)按下Ctrl+Alt+F1组合键切换到第1个虚拟终端,输入用户名user2和相应的口令可登录Linux系统,说明新建用户操作的确成功。 (6)输入“pwd”命令,屏幕显示用户登录后进入用户主目录“/home/user2”。(7)输入“exit”命令, user2用户退出登录。 (8)按下Alt+F7组合键返回图形化用户界面。 图8-2 创建新用户 【操作要求2】锁定user2用户帐号。 【操作步骤】 (1)在“RedHat用户管理器”窗口选中user2用户帐号,单击工具栏上的“属性” 按钮,打开“用户属性”对话框。 (2)选中“帐号信息”选项卡让“本地口令被锁”复选框被选中,如图8-3所示,单击“确定”按钮,返回“用户管理器”窗口。

2016-Linux文版-实验5-用户与组群管理-学生实验报告模板-P课件

C H A N G Z H O U U N I V E R S I T Y 实 验 报 告 课程名称: Linux 操作系统 实验名称: 实验5、用户与组群管理 学 生 姓 名: 孙文浩 班 级 计算机141 学 号 14416122 学 院(系): 信息数理学院 指 导 教 师: 庄丽华 实验时间: 2016 年 10 月 25 日 实验成绩:

实验五、用户与组群管理 一、实验要求 (1)掌握利用shell命令管理用户与组群的方法; (2)掌握批量新建用户账号的步骤和方法。 二、实验内容和实验步骤 1、利用shell命令管理用户与组群的方法 【操作要求1】新建一名为duser的用户,设置口令为“123456”,主要组群为myusers。【操作步骤】 (1)进入终端,以超级用户身份登录。 (2)输入命令:groupadd myusers建立组群。 (3)输入命令:useradd – g myusers duser,建立新用户duser,其主要组群是myusers。(4)为新用户设置口令,输入命令:passwd duser,根据屏幕提示输入两次口令,最后屏幕提示口令成功设置信息。 (5)输入命令:cat /etc/passwd,查看/etc/passwd文件的内容,发现文件的末尾增加了duser 用户信息。 (6)输入命令:cat /etc/group,查看cat /etc/group文件的内容。以上步骤截图: (7)按【Alt+F4】组合键,切换到第四个虚拟终端,输入duser用户名和口令登陆到linux 系统。 (8)输入命令:exit,duser用户退出登陆。 【操作要求2】将duser用户设置为不需要口令就能登陆。 【操作步骤】 (1)按【Alt+F3】组合键,切换到正被超级用户使用的第3个虚拟终端。

实验四 Linux下用户和组的管理

实验四Linux下用户和组的管理、磁盘限额 一. 实验目的: 1.掌握在Linux系统下利用命令方式实现用户和组的管理; 2.掌握利用Linux-conf进行用户和组的管理; 3.掌握磁盘限额的实现方法。 二. 实验内容: 1.用户和组的管理; 2.磁盘限额。 三. 实验步骤: 1. 用户的管理 创建一个新用户user01,设置其主目录为/home/user01:#useradd –d /home/user01 -m user01 查看/etc/passwd文件的最后一行,看看是如何记录的。 查看文件/etc/shadow文件的最后一行,看看是如何记录的。 给用户user01设置密码:#passwd user01。 再次查看文件/etc/shadow文件的最后一行,看看有什么变化。 使用user01用户登录系统,看能否登录成功。。 锁定用户user01:#passwd -l user01。 查看文件/etc/shadow文件的最后一行,看看有什么变化。 再次使用user01用户登录系统,看能否登录成功。 解除对用户user01的锁定:#passwd -u user01 更改用户user01的帐户名为user02:#usermod –l user02 user01。 查看/etc/passwd文件的最后一行,看看有什么变化。 删除用户user02。 2. 组的管理 创建一个新组,stuff:#groupadd stuff。 查看/etc/group文件的最后一行,看看是如何设置的。 创建一个新帐户user02,并把他的起始组和附属组都设为stuff:#useradd –g stuff –G stuff user02。 查看/etc/group文件中的最后一行,看看有什么变化。 给组stuff设置组密码:#gpasswd stuff。 在组stuff中删除用户user02:#gpasswd –d user02 stuff。 再次查看/etc/group文件中的最后一行,看看有什么变化。 删除组stuff。 3. 用Linux-conf创建用户和组 进入X-Window图形界面。 在终端中输入userconf命令,启动Linux-conf的用户管理子程序,在打开的界面中练习用户、组的 设置。 4. 磁盘限额 启动vi来编辑/etc/fstab文件。 把/etc/fstab文件中的home分区添加用户和组的磁盘限额。 用quotacheck命令创建https://www.wendangku.net/doc/93584658.html,er和aquota.group文件:#quotacheck -guva 给用户user01设置磁盘限额功能:#edquota -u user01。 将其blocks的soft设置为4000,hard设置为5000;inodes的设置为4000,hard设置为5000。编辑 完成后保存并退出。 重新启动系统。 用quotaon命令启用quota功能:#quotaon –ugva。 切换到用户user01,查看自己的磁盘限额及使用情况。

linux 新建用户、用户组及用户权限

Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。 实现用户账号的管理,要完成的工作主要有如下几个方面: ·用户账号的添加、删除与修改。 ·用户口令的管理。 ·用户组的管理。 一、Linux系统用户账号的管理 用户账号的管理工作主要涉及到用户账号的添加、修改和删除。 添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell 等资源。刚添加的账号是被锁定的,无法使用。 1、添加新的用户账号使用useradd命令,其语法如下: 代码: useradd 选项用户名 其中各选项含义如下: 代码: -c comment 指定一段注释性描述。 -d 目录指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。 -g 用户组指定用户所属的用户组。 -G 用户组,用户组指定用户所属的附加组。 -s Shell文件指定用户的登录Shell。 -u 用户号指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。 用户名指定新账号的登录名。 例1: 代码: # useradd –d /usr/sam -m sam 此命令创建了一个用户sam, 其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。 例2: 代码: # useradd -s /bin/sh -g group –G adm,root gem 此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,它属于group用户组,同时又属于

实验三用户和组的管理

实验项目3 用户和组的管理 一、实验目的 ●熟悉Linux用户的访问权限。 ●掌握在Linux系统中增加、修改、删除用户或用户组的法。 ●掌握用户账户管理及安全管理。 二、项目背景 某公司有60个员工,分别在5个部门工作,每个人工作容不同。需要在服务器上为每个人创建不同的账号,把相同部门的用户放在一个组中,每个用户都有自己的工作目录。并且需要根据工作性质给每个部门和每个用户在服务器上的可用空间进行限制。 三、实验容 ●用户的访问权限。 ●账号的创建、修改、删除。 ●自定义组的创建与删除。 四、实验步骤 子项目1.用户的管理 ●创建一个新用户user01,设置其主目录为/home/user01: ●查看/etc/passwd文件的最后一行,看看是如记录的。 ●查看文件/etc/shadow文件的最后一行,看看是如记录的。

●给用户user01设置密码:#passwd user01。 ●再次查看文件/etc/shadow文件的最后一行,看看有什么变化。 ●使用user01用户登录系统,看能否登录成功。 ●锁定用户user01:#passwd -l user01。 ●查看文件/etc/shadow文件的最后一行,看看有什么变化。 ●再次使用user01用户登录系统,看能否登录成功。

●解除对用户user01的锁定:#passwd -u user01 ●更改用户user01的名为user02:#usermod –l user02 user01。 ●查看/etc/passwd文件的最后一行,看看有什么变化。 ●删除用户user02。 子项目2.组的管理 ●创建一个新组,stuff:#groupadd stuff。 ●查看/etc/group文件的最后一行,看看是如设置的。 ●创建一个新user02,并把他的起始组和附属组都设为stuff:#useradd –g stuff –G stuff user02。

linux系统管理命令

a)系统管理:chkconfig、init、shutdown、halt、reboot、set、env、export、 crontab、uptime、last、history、id、finger、who、w、whoami、useradd、passwd、usermod、userdel、date、cal、wget、yum、curl、lsmod、dmesg。 Chkconfig:管理服务。 查看所有服务:chkconfig --list; 添加:chkconfig --add serviceName; 删除:chkconfig --del serviceName; 覆盖:chkconfig --override serviceName; 开启:chkconfig --level 2345 serviceName on; 关闭:chkconfig --level 2345 serviceName off。 Init:一个由内核启动的用户级进程。OS初始化所有的设备驱动程序和数据结构之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。Init 配合不同的运行级别数字实现不同的功能:init 0关机、init 1进单用户模式、init 6重启、init 3命令行模式、init 5图形界面。 Shutdown:冻结login指令,发送信号给init进程要求切换运行界别,并通知所有已登陆用户即将关闭系统。常用参数:-t 延迟时间,-r重启参数,-c 取消正在执行的关机,-h关机后关闭电源。 Halt:实际是调用shutdown -h。杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。参数:-n 防止sync系统调用﹐用于fsck修复根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。 Reboot:和halt差不多,不过它是重启系统。 Set:显示当前shell的变量(每个shell有自己不同的变量),包括当前用户的变量。 env:显示当前用户的变量,用户变量和你用什么shell无关,不管你用什么shell 都在。 export:显示当前导出成用户变量的shell变量。shell自己的变量可以通过export “导出”变成一个用户变量。 Crontab:相当于windows的计划任务,参数:-l 查看,-e编辑。Crontab的编辑格式:分(0-59) 时(0-23) 天(1-31) 月(1-12) 星期(0-6) 命令或者脚本。例: 0 */2 * * * /sbin/service httpd restart 意思是每两个小时重启一次apache; 50 7 * * * /sbin/service sshd start 意思是每天7:50开启ssh服务; 50 22 * * * /sbin/service sshd stop 意思是每天22:50关闭ssh服务; 0 0 1,15 * * fsck /home 每月1号和15号检查/home 磁盘; 1 * * * * /home/bruce/backup 每小时的第一分执行/home/bruce/backup这个文件; 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} /; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件; 30 6 */10 * * ls 意思是每月的1、11、21、31日是的6:30执行一次ls命令。 Uptime:显示四部分内容。当前时间+ 已运行时间+ 当前用户连接数+ 负载均衡。负载均衡:特定时间间隔内运行队列中的平均进程数,如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能是良好的。如果每个CPU内核的任务数大于5,那么这台机器的性能有严重问题。 Last:读取/var/log/wtmp文件,列出登入系统的详细信息。 History:记录使用过的命令。普通的history命令只会根据顺序显示命令。介绍一种更友好的配置,出错后配合last或者日志能清楚的找到谁的问题。

Linux操作系统下用户管理和文件管理

实验三文件管理实践基础 姓名:臧芳班级:10系统集成学号:106302218 同组实验者: 实验名称文件管理实践基础 实验时间2011-11-1实验地点信2-506 指导教师姒茂新 实验目的和要求: 目的:在虚拟机FC14,纯文本模式下完成文件管理的基本操作; 要求:掌握用户的创建、属性的修改、删除等基本操作的思维。 实验内容:(注意:要求写出所操作的过程中的关键步骤) 任务: ⑴在纯文本模式下,在终端tty1上以root用户登录;在终端tty2上以user用户登录;创建一个用户为”你的姓名+学号后两位数字”,并赋予相关的密码。在普通用户user登录情况下,创建以下目录结构;在用户主目录中用vi编辑器创建一文本文件lxtest,存储在“姓声母22”下,内容是“校名系名班级名和你的姓名”。请写出所有操作过程: ⑵改变当前目录为“姓声母1”,将文件lxtest复制到“姓声母21”,请实现该操作; ⑶改变当前目录为“姓声母22”,将文件lxtest复制 并更名为lxcopy,存放到“姓声母211”,请实现该操作; ⑷将文件lxcopy,移到“姓声母1”中,请实现它; ⑸将文件lxcopy,移到“姓声母21”中,更名为lxt,请实现它; ⑹用数字法将文件lxt的访问权限更改为三种用户都可读、写。 ⑺改变当前目录为“姓声母211”,用字母法修改文件lxtest为前两种用户皆可读、写; ⑻在“姓声母1”下创建一文件夹“姓声母12”,再创建一文件为lxlinux,内容为“Good afternoon!” ⑼查看第⑻题中目录的访问权限是什么用数字表示出来。 ⑽查看第⑻题中文件的访问权限是什么用数字表示出来。 ⑾将第⑻题中文件的访问权限用字母法和数字法分别修改为用户为读和执行、组为读写,而其他用户为只读和用户为写执行、组为读执行、其他用户只写。 ⑿将/etc/passwd文件复制到“姓声母211”,并更名为pswd,以分屏方式显示其内容;改变其属性,使student用户可以更改,更改其组为user。 要求:①按作业格式要求写实验报告三“文件管理实践基础”; ②电子稿作业发到QQ邮箱:smxszcn@https://www.wendangku.net/doc/93584658.html, 主题为:学号后两位数字+姓名+班级名+实验作业3 创建文件名:学号后两位数字+姓名+实验作业3

实验2:UnixLinux用户管理及管理命令

实验2:Unix/Linux用户管理及管理命令 1、实验目的 (1)掌握Unix/Linux用户管理机制与管理命令; (2)掌握用户和组管理命令; (3)掌握密码管理机制和密码管理命令; (4)了解对用户和组进行管理的图形界面; (5)了解与用户和组管理相关的其它命令。 2、实现设备 每人一台装有Linux系统的PC机。 3、实验方法与注意事项 不要做对系统或对其他用户不安全的事情。 做实验请不要修改超级用户密码。如果修改了root用户密码,请在实验结束前将其恢复为原密码。 用户要按通常实验要求认真书写实验报告。 4、实验过程 1)用户管理 (1)创建用户 用命令useradd/adduser以自己的名字创建一个用户。比如 useradd zhangsan 观察/etc/passwd、/etc/group和/etc/shadow的变化。方法 grep zhangsan /etc/passwd /etc/shadow /etc/group 观察/home目录内容的变化。 回答:该用户的uid,gname和gid各为什么?他的工作目录和shell是什么? (2)为用户设置密码 用passwd命令为其设置密码后,用新建用户进行登录并工作。方法如下 a. passwd zhangsan b. 切换到另一终端,使用新用户zhangsan登录 c. 为自己修改密码:$passwd (3) 创建非默认属性的用户 创建用户lisi,让他与zhangsan在一个组。 useradd –g zhangsan lisi 观察/etc/passwd、/etc/group和/etc/shadow的变化。 观察/home目录内容的变化。 回答:该用户的uid,gname和gid各为什么?他的工作目录和shell是什么? (4) 组管理 创建一个名为lisi的组并观察/etc/group的变化。方法分别是 groupadd lisi

实训-Linux下用户和组的管理和权限命令操作

实训4 Linux下用户和组的管理、权限及相关命令 一.实验目的: 1.掌握在Linux系统下利用命令方式实现用户和组的管理; 2.掌握Linux权限命令的基本使用; 二.实验内容: 1.用户和组的建立和管理; 2.Red Hat Linux 9.0系统下权限操作命令的使用; 三.实验步骤: 1.用户的管理 1) 创建一个新用户user01,设置其主目录为/home/user01: #useradd -d /home/user01 -m user01 #useradd -m -u 2046 -g 1000 -d /tmp/hdf -s /bin/tcsh -c friend hdf 2) 查看文件/etc/passwd和文件/etc/shadow的最后2行,查看是如何记录的。 #more /etc/passwd #more /etc/shadow #more /etc/group 3)给用户user01设置密码: #passwd user01 4) 再次查看文件/etc/passwd和文件/etc/shadow的最后一行,看看有什么变化。 #more /etc/passwd # more /etc/shadow 5)使用Putty连接主机,在终端上用user01用户登录系统,看能否登录成功。 登录成功后显示user01的当前工作目录: $pwd 6) 锁定用户user01,在主机上使用:

#passwd -l user01 7) 查看文件/etc/shadow文件的最后一行,看看有什么变化。 # more /etc/shadow 8) 再次使用Putty连接主机,在终端上用user01用户登录系统,看能否登录成功。 9) 解除对用户user01的锁定: #passwd -u user01 10) 查看usermod命令的联机手册: #man usermod 11) 使用usermod给user01加上注释:”this is a test user”,如何操作, 给出操作命令,并查看文件/etc/passwd的最后一行,看看有什么变化: #less /etc/passwd 12) 使用usermod更改用户user01的帐户名为user03,如何操作,给出操作命令, 并查看文件/etc/passwd的最后一行,看看有什么变化: #less /etc/passwd 2.组的管理 1) 创建一个新组stuff,gid为10000: #groupadd -g 10000 stuff 2) 查看/etc/group文件的最后一行,看看是如何设置的。 # cat /etc/group 3) 创建一个新帐户user02,并把他的起始组和附属组都设为stuff: #useradd –g stuff –G stuff user02 4) 查看/etc/group文件的最后一行,看看有什么变化。 # cat /etc/group 5) 将用户user01增加到组stuff中: #usermod –G 10000 user01

实验报告五用户与组群管理

实验五用户与组群管理 实验环境: Linux操作系统 实验目的: (1)熟练掌握手工启动前后台作业的方法。 (2)熟练掌握进程与作业管理的相关 Shell 命令。 (3)掌握 at 调度和 cron 调度的设置方法。 (4)了解进行系统性能监视的基本方法。 实验内容及步骤: 1.桌面环境下管理用户与组群 操作要求1: 新建两个用户帐号,其用户名为 xuser1 和 xuser2,口令为“e12ut59er”和 “wfu1t28er”。 操作步骤及结果截图: (1)以超级用户身份登录X Window 图形化用户界面,依次单击「系统」菜单=>「管理」=>「用户和组群」,启动「用户管理者」窗口。 (2)单击工具栏上的「添加用户」按钮,出现「创建新用户」窗口。在「用户名」文本框中输入用户名“xuser1”,在「口令」文本框中输入口令“e12ut59er”,在「确认口令」文本框中再次输入口令“e12ut59er”,如图5-2 所示,然后单击「确定」按钮,返回「用户管理者」窗

口。 (3)用同样的方法新建用户xuser2。。 (4)依次单击顶部面板的「应用程序」=>「附件」=>「文本编辑器」,启动 gedit 文本编辑器,打开/etc/passwd 和/etc/shadow 文件将发现文件的末尾出现表示 xuser1 和xuser2用户帐号的信息。打开/etc/group 和/etc/gshadow 文件将发现文件末尾出现表示xuser1和 xuser2 私人组群的信息。

(5)按下CTRL+ALT+F2 组合键切换到第2 个虚拟终端,输入用户名xuser2 和相应的口令可登录Linux 系统,说明新建用户操作已成功。 (6)输入“pwd”命令,屏幕显示用户登录后进入用户主目录“/home/xuser2”。 (7)输入“exit”命令,xuser2 用户退出登录。 (8)按下ALT+F7 组合键返回GNOME 桌面环境。

用户和组的管理3

子项目1.用户的管理 ●创建一个新用户user01,设置其主目录为/home/user01 : #useradd –d /home/user01 -m user01 ●查看/etc/passwd 文件的最后一行,看看是如何记录的。 ●查看文件/etc/shadow 文件的最后一行,看看是如何记录的。 ●给用户user01 设置密码:#passwd user01 。 ●再次查看文件/etc/shadow 文件的最后一行,看看有什么变化。

●使用user01 用户登录系统,看能否登录成功。。 ●锁定用户user01 :#passwd -l user01。 ●查看文件/etc/shadow 文件的最后一行,看看有什么变化。 ●再次使用user01 用户登录系统,看能否登录成功。 ●解除对用户user01 的锁定:#passwd -u user01 ●更改用户user01 的帐户名为user02 :#usermod –l user02 user01。 ●查看/etc/passwd 文件的最后一行,看看有什么变化。

●删除用户user02 。 子项目2.组的管理 ●创建一个新组,stuff:#groupadd stuff。 ●查看/etc/group 文件的最后一行,看看是如何设置的。 ●创建一个新帐户user02,并把他的起始组和附属组都设为stuff:#useradd –g stuff – G stuff user02。 ●查看/etc/group 文件中的最后一行,看看有什么变化。 ●给组stuff 设置组密码:#gpasswd stuff。 ●在组stuff 中删除用户user02:#gpasswd –d user02 stuff 。

linux_创建用户命令

有关Linux创建用户命令的详细讨论 在任何系统中用户是使用使系统的最基本的使用单位,Linux系统用户的创建不同于windows系统,这里陈述一下Linux创建用户的命令。 Linux系统用户的创建不同于windows系统,这里陈述一下Linux创建用户的命令。包括创建用户,修改密码,修改信息,新建群组。 Linux创建用户命令1:创建新用户 useradd命令(也可以使用adduser)用来创建新的用户帐号,其命令格式如下:useradd命令常用选项 -d 设置新用户的登陆目录 -e 设置新用户的停止日期,日期格式为MM/DD/YY -f 帐户过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能。预设值为-1 -g 使新用户加入群组 -G 使新用户加入一个新组。每个群组使用逗号“,”隔开,不可以夹杂空白字 -s 指定新用户的登陆Shell -u 设定新用户的ID值 成功创建一个新用户以后,在/etc/passwd文件中就会增加一行该用户的信息,其格式如下: (用户名〕:〔密码〕:〔UID〕:〔GID〕:〔身份描述〕:〔主目录〕:〔登陆Shell〕其中个字段被冒号“:”分成7各部分。 由于小于500的UID和GID一般都是系统自己保留,不用做普通用户和组的标志,所以新增加的用户和组一般都是UID和GID大于500的。 例如使用如下命令: 1.〔root@localhost root〕# useradd user1 将会创建一个名为userl的用户,关于用户管理命令已经介绍过,在此也不做更多的介绍了。执行useradd命令的结果。 Linux创建用户命令2:设置和修改用户口令passwd

相关文档
相关文档 最新文档