文档库 最新最全的文档下载
当前位置:文档库 › 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切换到其他用户组,这个命令的参数就是目的用户组。例如:

$ newgrp root

这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管理工具来完成。

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

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

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

?常用命令选项

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

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

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

三、用户和组的其他

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/TOPS-

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更改为其他人)执行的命令。

统一用户及权限管理系统概要设计说明书范文

统一用户及权限管理系统概要设计说 明书

统一用户及权限管理系统 概要设计说明书 执笔人:K1273-5班涂瑞 1.引言 1.1编写目的 在推进和发展电子政务建设的进程中,需要经过统一规划和设计,开发建设一套统一的授权管理和用户统一的身份管理及单点认证支撑平台。利用此支撑平台能够实现用户一次登录、网内通用,避免多次登录到多个应用的情况。另外,能够对区域内各信息应用系统的权限分配和权限变更进行有效的统一化管理,实现多层次统一授权,审计各种权限的使用情况,防止信息共享后的权限滥用,规范今后的应用系统的建设。 本文档旨在依据此构想为开发人员提出一个设计理念,解决在电子政务整合中遇到的一些问题。 1.2项目背景 随着信息化建设的推进,各区县的信息化水平正在不断提升。截至当前,在各区县的信息化环境中已经建设了众多的应用系统并投入日常的办公使用,这些应用系统已经成为电子政务的重要组成部分。 各区县的信息体系中的现存应用系统是由不同的开发商在不同的时期采用不同的技术建设的,如:邮件系统、政府内

部办公系统、公文管理系统、呼叫系统、GIS系统等。这些应用系统中,大多数都有自成一体的用户管理、授权及认证系统,同一用户在进入不同的应用系统时都需要使用属于该系统的不同账号去访问不同的应用系统,这种操作方式不但为用户的使用带来许多不便,更重要的是降低了电子政务体系的可管理性和安全性。 与此同时,各区县正在不断建设新的应用系统,以进一步提高信息化的程度和电子政务的水平。这些新建的应用系统也存在用户认证、管理和授权的问题。 1.3定义 1.3.1 专门术语 数据字典:对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。 数据流图:从数据传递和加工角度,以图形方式来表示系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表示工具及用于表示软件模型的一种图示方法。 性能需求:系统必须满足的定时约束或容量约束。 功能需求:系统必须为任务提出者提供的服务。 接口需求:应用系统与她的环境通信的格式。 约束:在设计或实现应用系统时应遵守的限制条件,这些

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如何判断指定用户对指定目录具有的权限具体介绍

脚本名:power.sh 脚本内容: 代码如下: #!/bin/sh username3=$1 dir_name2=$2 # get existing directory file_path=$dir_name2 while true do if [ -d $file_path ];then break; fi file_path=${file_path%/*} done dir_name2=$file_path # Judge whether the user exists grep ^$username3: /etc/passwd ;/dev/null if [ $? -ne 0 ];then echo This user $username3 does not exist. exit 4 fi

#echo username : $username3 group4=` grep ^$username3: /etc/passwd |awk -F : {'print $4'}|xargs -i grep {} /etc/group|cut -d: -f1` #echo group : $group4 su -l $username3 -c test -r $dir_name2 is_read=$? su -l $username3 -c test -x $dir_name2 is_exe=$? su -l $username3 -c test -w $dir_name2 is_write=$? $is_read_str $is_exe_str $is_write_str if [ $is_read -eq 0 ];then is_read_str=r else is_read_str=- fi if [ $is_exe -eq 0 ];then is_exe_str=x else is_exe_str=-

系统用户及权限管理制度

航开发系统用户账号及权限管理制度 第一章总则 第一条 航开发系统用户的管理包括系统用户ID的命名;用户ID的主数据的建立;用户ID的增加、修改;用户ID的终止;用户密码的修改;用户ID的锁定和解锁;临时用户的管理;应急用户的管理;用户ID的安全管理等。 第二章管理要求 第二条 航开发系统管理员(以下简称系统管理员)在系统中不得任意增加、修改、删除用户ID,必须根据《系统用户账号申请及权限审批表》和相关领导签字审批才能进行相应操作,并将相关文档存档。 第三条 用户ID的持有人特别是共享的用户ID必须保证用户ID和用户密码的保密和安全,不得对外泄漏,防止非此用户ID的所有者登录系统。 第四条 用户管理员要定期检查系统内用户使用情况,防止非法授权用户恶意登录系统,保证系统的安全。 第五条 用户ID持有人要对其在系统内的行为负责,各部门领导要对本部门用户的行为负责。

第六条 用户ID的命名由系统管理员执行,用户ID命名应遵循用户ID的命名规则,不得随意命名。 第七条 用户ID主数据库的建立应保证准确、完整和统一,在用户ID发生改变时,用户管理员应及时保证主数据库的更新,并做好用户ID变更的归档工作。 第八条 对用户申请表等相关文档各申请部门的用户管理员必须存档,不得遗失。 第九条 公司NC-ERP系统中各部门必须明确一名运维管理人员负责本部门用户管理、权限管理及基础数据维护等相关工作。 第三章增加、修改用户ID的管理第十条 公司NC-ERP系统中增加、修改用户ID应符合下列情况之一: 1、因工作需要新增或修改用户ID; 2、用户ID持有人改变; 3、用户ID封存、冻结、解冻; 4、单位或部门合并、分离、撤消; 5、岗位重新设置; 6、其他需要增加或修改公司NC-ERP系统中用户ID的情况。 第十一条

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所示,单击“确定”按钮,返回“用户管理器”窗口。

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文件中调用这些脚本文件。 页脚内容1

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用户组,同时又属于

最经典用户权限管理模块设计

实现业务系统中的用户权限管理--设计篇 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的“非法用户”将会将他们彻底的“拒之门外”。下面就让我们一起了解一下如何设计可以满足大部分B/S系统中对用户功能权限控制的权限系统。 需求陈述 ?不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。 ?可以对“组”进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便 的事情。所以,系统中就提出了对“组”进行操作的概念,将权限一致 的人员编入同一组,然后对该组进行权限分配。 ?权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套 管理系统,就要针对权限管理部分进行重新开发。 ?满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统 之间,功能权限是可以重用的,而资源权限则不能。 关于设计 借助NoahWeb的动作编程理念,在设计阶段,系统设计人员无须考虑程序结构的设计,而是从程序流程以及数据库结构开始入手。为了实现需求,数据库的设计可谓及其重要,无论是“组”操作的概念,还是整套权限管理系统的重用性,都在于数据库的设计。 我们先来分析一下数据库结构: 首先,action表(以下简称为“权限表”),gorupmanager表(以下简称为“管理组表”),以及master表(以下简称为“人员表”),是三张实体表,它们依次记录着“权限”的信息,“管理组”的信息和“人员”的信息。如下图:

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/9617297628.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中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问;允许一个预先指定的用户组中的用户访问;允许系统中的任何用户访问。同时,用户能够控制一个给定的文件或目录的访问程度。一个文件活目录可能有读、写及执行权限。当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件。文件所有者可以将这些权限改变为任何他想指定的权限。一个文件也许只有读权限,禁止任何修改。文件也可能只有执行权限,允许它想一个程序一样执行。 三种不同的用户类型能够访问一个目录或者文件:所有着、用户组或其他用户。所有者就是创建文件的用户,用户是所有用户所创建的文件的所有者,用户可以允许所在的用户组能访问用户的文件。通常,用户都组合成用户组,例如,某一类或某一项目中的所有用户都能够被系统管理员归为一个用户组,一个用户能够授予所在用户组的其他成员的文件访问权限。最后,用户也将自己的文件向系统内的所有用户开放,在这种情况下,系统内的所有用户都能够访问用户的目录或文件。在这种意义上,系统内的其他所有用户就是other用户类。 每一个用户都有它自身的读、写和执行权限。第一套权限控制访问自己的文件权限,即所有者权限。第二套权限控制用户组访问其中一个用户的文件的权限。第三套权限控制其他所有用户访问一个用户的文件的权限,这三套权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限就构成了一个有9种类型的权限组。 我们可以用-l参数的ls命令显示文件的详细信息,其中包括权限。如下所示: [root@localhost ~]# ls -lh 总用量 368K -rw-r--r-- 1 root root 12K 8月 15 23:18 conkyrc.sample drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop -r--r--r-- 1 root root 325K 10月 22 21:08 libfreetype.so.6

实验五、用户管理与权限管理

实验五、用户管理和权限管理 一、实验目的 1、掌握对系统用户和组的建立与管理。 2、掌握linux的文件访问权限和访问权限类型。 3、掌握如何设置文件访问权限。 二、实验重点与难点 1、学会使用useradd、usermod和userdel命令 2、学会使用chmod设置文件权限 三、实验内容及步骤 1)查看/etc/passwd文件和/etc/shadow文件内容,识别该文件中记录的信 息内容。 2)使用YaST创建新用户user1和用户组group1,将用户user1加入到组 group1。 3)用useradd命令建立2个用户admin和geeko(注意要求创建用户主目 录),设定好对应的用户密码,再用groupadd命令建立一个用户组school。 4)使用命令将admin用户改名为administrator。 5)使用命令将administrator账户锁定,然后再使用该账户登录系统,观 察会发生什么?然后再将账号解除锁定。 6)将linux系统注销使用geeko账号登录,在geeko的主目录下创建两个 新的文件K1,K2。在/tmp目录下创建两个文件W1,W2。 7)删除geeko账号及其主目录。并尝试删除所有属于geeko用户的文件。 8)在/tmp目录中创建两个新文件newfile,test,将newfile文件访问权限 设置为rwxrw-rw-,test文件访问权限设置为rwxr--r-- 。 9)使用su命令将用户身份切换至administrator,将“I can read and write”写入newfile文件中,并保存。是否可以对test文件进行编辑? 10)如果要实现其他用户对test文件的编辑权限,应该如何设置该文件的 权限?写出操作的命令。 11)创建一个目录directory,将目录访问权限设置为rwxrwxrw-。

实验三用户和组的管理

实验项目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用户权限的管理

linux用户权限的管理 linux用户权限的管理 Posted on 2009-09-24 10:13 Prayer 阅读(2405) 评论(0) 编辑收藏引用所属分类: U基础管理 在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者。普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户。在系统中,每个文件、目录和进程,都归属于某一个用户,没有用户许可其它普通用户是无法操作的,但对root除外。root用户的特权性还表现在root可以超越任何用户和用户组来对文件或目录进行读取、修改或删除(在系统正常的许可范围内);对可执行程序的执行、终止;对硬件设备的添加、创建和移除等;也可以对文件和目录进行属主和权限进行修改,以适合系统管理的需要(因为root是系统中权限最高的特权用户);一、对超级用户和普通用户的理解;1、什么是超级用户;在所有Linux系统中,系统都是通过UID来区分用户权限级别的,而UID为0的用户被系统约定为是具有超级权限。超级用户具有在系统约定的最高权限满园内操作,所以说超级用户

可以完成系统管理的所有工具;我们可以通过/etc/passwd 来查得UID为0的用户是root,而且只有root对应的UID 为0,从这一点来看,root用户在系统中是无可替代的至高地位和无限制权限。root 用户在系统中就是超级用户;2、理解UID 和用户的对应关系当系统默认安装时,系统用户和UID 是一对一的对关系,也就是说一个UID 对应一个用户。我们知道用户身份是通过UID 来确认的,我们在《用户(user)和用户组(group)配置文件详解》中的UID 的解说中有谈到?UID 是确认用户权限的标识,用户登录系统所处的角色是通过UID 来实现的,而非用户名;把几个用户共用一个UID 是危险的,比如我们把普通用户的UID 改为0,和root共用一个UID ,这事实上就造成了系统管理权限的混乱。如果我们想用root权限,可以通过su或sudo 来实现;切不可随意让一个用户和root分享同一个UID ;?在系统中,能不能让UID 和用户是一对多的关系?是可以的,比如我们可以把一个UID为0这个值分配给几个用户共同使用,这就是UID 和用户的一对多的关系。但这样做的确有点危险;相同UID的用户具有相同的身份和权限。比如我们在系统中把beinan这个普通用户的UID改为0后,事实上这个普通用户就具有了超级权限,他的能力和权限和root用户一样;用户beinan所有的操作都将被标识为root 的操作,因为beinan的UID为0,而UID为0的用户是root ,

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/9617297628.html, 主题为:学号后两位数字+姓名+班级名+实验作业3 创建文件名:学号后两位数字+姓名+实验作业3

统一用户及权限管理

文件编号: 统一用户及权限管理平台 解决方案及设计报告 版本号0.9

拟制人王应喜日期2006年6月审核人__________ 日期___________ 批准人__________ 日期___________

目录 第一章引言 (1) 1.1编写目的 (1) 1.2背景 (1) 1.3定义 (1) 1.4参考资料 (1) 第二章统一权限管理解决方案 (2) 2.1需求分析 (2) 2.2系统架构 (3) 2.3系统技术路线 (7) 第三章统一用户及授权管理系统设计 (7) 3.1组织机构管理 (8) 3.2用户管理.......................................................................................................... 错误!未定义书签。 3.3应用系统管理、应用系统权限配置管理 (9) 3.4角色管理 (8) 3.5角色权限分配 (9) 3.6用户权限(角色)分配 (9) 3.7用户登录日志管理功 (9) 第四章对外接口设计 (10) 4.1概述 (10) 4.2接口详细描述 (10) 4.2.1获取用户完整信息 (14) 4.2.2获取用户拥有的功能模块的完整信息 (15) 4.2.3获取用户拥有的一级功能模块 (16) 4.2.4获取用户拥有的某一一级功能模块下的所有子功能模块 (17) 4.2.5获取用户拥有的某一末级功能模块的操作列表 (19) 4.2.6判断用户是否拥有的某一末级功能模块的某一操作权限 (20) 4.2.7获取某一功能模块的ACL—尚需进一步研究 (21)

实训-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

MYSQL用户管理和权限管理

MYSQL用户管理和权限管理 MYSQL是一个多用户的数据库,MYSQL的用户可以分为两大类: 1.超级管理员用户(root),拥有全部权限 Root用户的权限包括:创建用户、删除用户和修改普通用户密码等管理权限。 2.普通用户,由root创建,普通用户只拥有root所分配的权限(普通用户只拥有创建用户是赋予它的权限。) 普通用户的权限包括:管理用户的账户、权限等。 一、权限表 最重要:user表、db表、host表; 除此之外还有tables_priv表、columns_priv表和proc_priv表等。 二、账户管理 1.登陆与退出MySQL服务器 2. 新建普通用户 (1)用CREATE USER语句新建普通用户 (2)用INSERT语句新建普通用户 A: B: (3)用GRANT语句来新建普通用户

3.删除普通用户 (1)用DROP USER语句删除普通用户 (2)用DELETE语句删除普通用户 4.root用户修改自己的密码 Root用户拥有最高的权限,因此必须保证root用户的密码的安全。(1)使用mysqladmin命令修改root用户的密码 (2)修改mysql数据库下的user表 (3)使用SET语句修改root用户的密码 5.root修改普通用户的密码 root用户不仅能修改自己的密码,还可以修改普通用户的密码。(1)使用SET语句修改普通用户的密码 (2)修改mysql数据库下的user表

(3)用GRANT语句修改普通用户的密码 6.普通用户修改密码 7.Root用户密码丢失的解决办法 (1)使用--skip-grant-tables选项启动MySQL服务 (2)登陆root用户,并且设置新密码 通过以上的方式启动MySQL服务后,可以不输入密码就登陆root用户。 登陆以后用UPDATE语句来修改密码。 (3)加载权限表 修改完密码后必须用FLUSH PRIVILEGES语句来加载权限表。加载权限后,新密码开始有效。而且,MySQL服务器开始进行权限认证。用户必须输入用户和密码才能登陆MySQL数据库。 三、权限管理 1.MySQL的各种权限

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

实验五用户与组群管理 实验环境: 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 桌面环境。

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