收藏 分享(赏)

Linux用户管理.ppt

上传人:mcady 文档编号:8646898 上传时间:2019-07-07 格式:PPT 页数:36 大小:352KB
下载 相关 举报
Linux用户管理.ppt_第1页
第1页 / 共36页
Linux用户管理.ppt_第2页
第2页 / 共36页
Linux用户管理.ppt_第3页
第3页 / 共36页
Linux用户管理.ppt_第4页
第4页 / 共36页
Linux用户管理.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、第5章 Linux用户管理,教学提示:用户与组管理是保证Linux操作系统被安全使用的重要方面,Linux权限控制机制也是Linux优良特性之一,另外,Ubuntu系统采用sudo工具管理用户的系统使用权限。 教学要求:学习完本章后,能够根据需要进行用户与组的管理,采用sudo工具分配用户权限,认识Linux权限控制机制。,命令回顾,pwd cd find locatels,命令回顾,1. pwd - 显示用户所在的位置显示用户所在的位置。 rootUbuntu:# pwd /root 2. cd - 命令用来改变工作目录 在使用cd进入某个目录时,用户必须具有对该目录的读权限。 (1) 改变

2、当前所处的目录,如果用户当前处于/root目录,想进入/etc目录。 rootUbuntu:# cd /etc 注意cd后的空格。 (2)返回上级目录。 rootUbuntu:# cd (3)回到用户主目录。 rootUbuntu:/# cd ,命令回顾,3. find - 在硬盘上查找文件 find是Linux功能最为强大,使用也是较为复杂的命令。 Find命令格式:find 匹配条件 (1)从根目录开始查找文件名为passwd的文件。 rootUbuntu:# find / -name passwd (2)查找/usr目录下前10天访问过的文件(仅第10天这一天)。 rootUbuntu:

3、#find /usr atime 10,命令回顾,3. find - 在硬盘上查找文件 (3)查找/usr目录下前10天之前访问过的文件。 rootUbuntu:#find /usr atime +10 (4)查找/usr目录下前10天之后访问过的文件。 rootUbuntu:#find /usr atime -10 (5)列出当前目录下所有扩展名是“doc”的文件。 rootUbuntu:# find -name “*.doc“,命令回顾,3. find - 在硬盘上查找文件 (6)查找目录/etc /home下文件大小小于4K的文件。rootUbuntu:# find /etc /home

4、 size -4K find命令可接受的文件尺寸单位有字节(c),块(b,512字节),K(k,1024字节)等。,命令回顾,4. locate - 用来定位文件或目录。同find命令相比较,locate命令是从数据库中查找,而不是每次搜索文件系统。因为是从数据库中查找,locate的速度远远快于find命令。但是,使用locate命令查找的结果仅仅是在当前数据库,结果可能会没有find准确。 查找apt.conf文件。 rootUbuntu:#locate apt.conf 注意以find比较查找速度,命令回顾,ls - 用来显示用户当前或指定目录的内容在ls命令中还可以使用通配符“*”、“

5、?”。这样可以使用户很方便地查找特定形式的文件和目录。如果不指定目录,将显示当前目录的内容,否则显示指定目录的内容。 (1) 输出根目录下文件或目录的详细信息。 rootUbuntu:# ls l /总用量 84 drwxr-xr-x 2 root root 4096 2007-05-19 05:00 第一组 二 三 四 五 六 七 文件属性 inode数拥有者所有者组大小 建立日期 文件/目录名 这个结果提供了许多细节信息,共七组,各组之间使用空格分开。,Linux 用户管理,Linux是一个多任务、多用户的操作系统,任何一个要使用系统资源的使用者(用户),都必须首先申请一个帐号,然后用这个

6、帐号登录系统。用户的帐号可以帮助系统对使用系统的用户进行跟踪,并控制用户对系统资源的访问,另一方面也可以帮助用户组织文件,并为用户提供安全性的保护。思考:理解用户与帐号的关系?,Linux 组,组是具有共同用户特征的用户的集合,这与现实生活中的个人与集体是类似的。使用组对Linux系统来说提高系统的灵活性,对于具体的Linux系统管理员来说通过管理组来管理用户,提高了工作效率。,Linux用户,Linux下的用户可以分为三类:超级用户、系统用户和普通用户。 超级用户:用户名为root,具有一切权限,只有进行系统维护(例如建立用户等)或其它必要情形下才用超级用户登录,以避免系统出现安全问题。 系

7、统用户:Linux系统正常工作所必需的内建的用户,主要是为了满足相应的系统进程对文件属主的要求而建立的,系统用户不能用来登录,如bin、daemon、adm、lp等用户,系统用户也称为虚拟用户。 普通用户:为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。其实 Linux 并不会直接认识你的“用户名称”,它认识的其实以数字表示的“用户 ID”,每个用户都有一个“用户 ID”,称为UID。在Ubuntu Linux中,超级用户的UID为0,系统用户的UID一般为1499,普通用户的UID默认为100060000之间的值。,Linux用户登入系统过程,Linux系统采用纯文

8、本文件来保存账号的各种信息,其中最重要的文件有/etc/passwd、 /etc/shadow、/etc/group这几个。Linux用户登入系统过程实质是系统读取、核对这几个文件的过程。过程如下: 首先Linux会出现一个登录系统的画面提示输入账号,输入账号与密码; Linux 接着会先找寻 /etc/passwd 里面是否有这个账号名,如果没有则退出登录,如果有的话则将该账号对应的 UID ( User ID )与 GID ( Group ID )读出来,另外,该账号的对应的用户主目录与 shell 设定也一并读出; 核对密码表,这时 Linux 会进入 /etc/shadow 里面找出登

9、录账号与 UID相对应的、记录,然后核对一下刚刚输入的密码与此文件的密码是否符合; 以上核定没有没有问题,用户正式进入系统。 思考:为什么帐号文件与密码文件分开?,账号文件,对于与帐号有关的文件有/etc/passwd、/etc/shadow、/etc/group,我们可以使用vi或其他编辑器来更改它们,也可以使用专门的命令来更改它们。账号的管理实际上就是对这几个文件的内容进行添加、修改和删除记录行的操作,不管以哪种形式管理账号,了解这几个文件的内容十分必要。 1 /etc/passwd用户帐号文件 /etc/passwd文件是账号管理中最重要的一个文件,它是一个纯文本文件。每一个注册用户在该

10、文件都有一个对应的记录行,这一记录行记录了此用户的必要信息。,1 /etc/passwd用户帐号文件 例:显示/etc/passwd文件。从passwd文件中可以看到,第一行是root用户,紧接的是系统用户,普通用户通常在文件的尾部。passwd文件中的每一行由7个字段的数据组成,字段之间用“:”分隔,其格式如下: 账号名称:密码:UID:GID:个人资料:主目录:Shell,账号名称:密码:UID:GID:个人资料:主目录:Shell 说明如下: 账号名称 用户登录Linux系统时使用的名称。 密码 这里的密码是经过加密后的密码,而不是真正的密码,若为“x”,说明密码已经被移动到 shado

11、w 这个加密过后的文件。 UID 用户的标识,是一个数值,Linux系统内部使用它来区分不同的用户。通常 Linux 对于 UID 有几个限制,说明如下: 0系统管理员,也即root用户,所以当你要作另一个系统管理员账号时,你可以将该账号的 UID 改成 0 即可; 1500保留给系统使用的ID,其实 165534 之间的账号并没有不同,也就是除了 0 之外,其它的 UID 并没有不一样,但默认 500 以下给系统作为保留账号是一个好习惯。 100065535在Ubuntu Linux中给一般使用者用的,注意到没有,passwd最后一行的记录sutdent用户的UID 就是1000。,账号名称

12、:密码:UID:GID:个人资料:主目录:Shell 说明如下: GID 用户所在组的标识,是一个数值,Linux系统内部使用它来区分不同的组,相同的组具有相同的GID。 个人资料 可以记录用户的个人信息,如姓名、电话等信息(如studnet用户资料为Ubuntu)。 主目录 对于 root 的主目录在 /root ,所以当 root 登入之后,马上在的所在就是 /root 里头;对于其他用户通常是/home/username,这里username是用户名,用户执行“cd”命令时当前目录会切换到个人主目录,如studnet用户的主目录为/home/studnet。 Shell 定义用户登录后使

13、用的Shell版本,默认是bash。,2 /etc/shadow用户密码文件任何用户对passwd文件都有读的权限,虽然密码已经经过加密,但还是不能避免有人会获取加密后的密码。为了安全,Linux系统对密码提供了更多一层的保护,即把加密后的密码移动到 /etc/shadow 这个文件中,这个文件只有超级用户能够读取shadow的内容,并且Linux设置了很多的限制参数在 /etc/shadow 里。密码如果经过shadow保护,在/etc/passwd文件中,每一记录行的密码字段会变成“x”,并且在/etc目录下存在文件shadow。,2 /etc/shadow用户密码文件 例:查看shado

14、w文件的内容。和passwd文件类似,shadow文件中的每行由9个字段组成,格式如下:用户名:密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志字段。,用户名:密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志字段。说明如下: 最后一次修改时间:表示从1970年1月1日起到上次修改口令所经过的天数。 最小时间间隔:表示两次修改口令之间至少经过的天数。 最大时间间隔:表示口令还会有效的最大天数,如果是99999则表示永不过期。 警告时间:表示口令失效前多少天内系统向用户发出警告。 不活动时间:表示禁止登陆前用户名还有效

15、的天数。 失效时间:表示用户被禁止登陆的时间。 标志字段无意义,未使用。安装Linux系统时,系统缺省采用shadow来保护密码。 如果安装Linux时未启用shadow,可以使用pwconv命令启用shadow。注意用root用户登录来执行该命令,执行的结果是/etc/passwd文件中的密码字段被改为“x”,同时产生/etc/shadow文件。相反,如果要取消shadow功能,可使用pwunconv命令,不建议这样。在shadow文件中,密码字段为“*”表示用户被禁止登录,为“!”表示用户被锁定。,useradd添加用户账号,只有超级用户root才有权使用此命令,使用useradd命令创建

16、新的用户账号后,应利用passwd命令为新用户设置口令。一个类似的命令是adduser,也用来创建用户账号。 (1)添加student1用户。rootUbuntu:# useradd student1查看用户添加结果。rootUbuntu:#cat /etc/passwdroot:x:0:0:root:/root:/bin/bashstudnet:x:1000:1000:student,:/home/ studnet :/bin/bash studnet1:x:1001:1001:student1,:/home/ studnet1 :/bin/sh看到没有,用户student1添加成功,同时发

17、现,使用命令useradd添加用户同时添加了许多默认其他设置,比如说用户主目录,Shell版本等。,(2)修改用户默认设置。 很明显在大多少情况下,用户希望修改默认设置以满足实际的要求,比如说,想修改默认Shell版本为使用较多的/bin/bash。与添加用户的默认设置有关的文件主要是 /etc/login.defs 与 /etc/default/useradd这两个文件。 /etc/login.defs文件的参数设置简单如下:,/etc/default/useradd文件的参数设置简单如下:在这个文件中,最需要了解的就是 SKEL ,当建立一个名为 testing 的账号时,预设的主目录会是

18、“ /home/testing ”这个目录,而这个目录的内容就是由 /etc/skel 所 复制过去的。所以,当想要让使用者的预设主目录内容更动时,可以直接将要更动的数据写在 /etc/skel 当中。,(3)采用指定设置添加用户。以上参数可以随意搭配,意义如下: -u参数:设置用户的UID为1008。 -g参数:指定用户所属的用户组,但该用户组必须已经存在。参数采用组名或GID皆可,如-g 100与-g users的意思相同,都是把用户加入到users用户组中,其中users用户组的GID为100。 -d参数:建立用户目录,如d /home/user1就是替用户建立位于/home目录下的用户

19、目录,目录名称为user1。 -s参数:指定用户环境,如s /bin/bash指定bash为该用户的Shell。当然也可指定其他Shell供用户使用。 -e 参数:设置账号的期限,格式为“月/日/年”如e 08/02/06为2006年8月2日。 -m 参数:创建用户是同时创建用户主目录。,passwd修改用户属性,添加完用户后首要文件是修改用户密码。 (1)root修改用户student1的密码属性。rootUbuntu:# passwd student1Enter new UNIX password:Retype new UNIX password: passwd:已成功更新密码修改用户的密

20、码需要两次输入密码确认。密码是保证系统安全的一个重要措施,在设置密码时,不要使用过于简单的密码。技巧:为了安全,密码最好需要底下几个特性: 密码中含有数个特殊字符,例如 $#&* 及数字键等等: 密码长度至少要到 6 8 个以上才好; 没有特殊意义的字母或数字组合,并且夹着很多的特殊字符。,(2)修改用户自己密码。rootUbuntu:# passwd Enter new UNIX password: Retype new UNIX password: passwd:已成功更新密码(3)锁定用户账号student1登录。在系统中,有时需要临时禁止某个用户账号登录。rootUbuntu:# pa

21、sswd -l student1查看Linux系统中管理用户账号的系统文件/etc/shadow,可看到其密码域的第一个字符前加了符号“!”(若系统没有密码保护则文件为/etc/passwd)。rootUbuntu:# cat /etc/shadowstudent1:!$1$RsHiGgoC$8Smk4/kUG.SOtJzudwCXa1:13713:0:99999:7:student2:13713:0:99999:7:,技巧:锁定用户账号student1登录也可修改etc/passwd文件,将该用户的passwd域的第一个字符前加一个号注销这行记录,如要启用时再去掉。(4) 解除用户账号stu

22、dent1锁定。rootUbuntu:# passwd u student1,usermod改变用户的属性,(1)修改studnt2的UID为新的值600、所属组为admin 。rootUbuntu:# usermod u 600 g admin studnet2改变用户的UID时主目录下所有该用户所拥有的文件或子目录将自动更改UID,但对于主目录之外的文件和目录只能用chown命令手工进行设置。 (2)修改studnt1的用户主目录 。rootUbuntu:#mkdir /student1rootUbuntu:# usermod d /student1 studnet1usermod参数较多

23、,参数作用如下: -l name:更改账户的名称,必须在该用户未登录的情况下才能使用。 -m:把主目录的所有内容移动到新的目录。 -p 密码:修改用户的密码。 -s Shell:修改用户的登录Shell。,chsh改变用户的Shell版本,(1)列出本机上所有能用的 shell 名称。rootUbuntu:# chsh -l /bin/sh /bin/bash /bin/ash/bin/bsh/bin/csh (2)用户自行改变自己的预设 shell 版本。rootUbuntu:# chsh -s /bin/csh 使用chsh命令改变用户的Shell,指定的Shell一定要在/etc/she

24、lls中存在,否则会导致用户无法登录。,userdel删除用户账号,若不再允许用户登录系统时,可以将用户账号删除。 (1)只删除studnt2登录账号但保留相关目录。rootUbuntu:# userdel studnet2只删掉 /etc/passwd 与 /etc/shadow 的与用户student2有关的内容,其它的用户相关信息,比如用户主目录等保留,方便以后再次添加这个用户。 其实更好的方法是使用命令暂停用户登录或者将 /etc/shadow倒数一个字段设定为 0 也可以让该账号无法使用,但是所有跟该账号相关的数据都会留下来。 (2)完全删除studnt1登录账号。rootUbunt

25、u:# userdel r studnet1删除账号的同时,将用户主目录及其内部文件同时删除。,Linux 组,Linux的组有私有组、系统组、标准组之分。 私有组:建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组 ,私有组只容纳了一个用户。 标准组:可以容纳多个用户,组中的用户都具有组所拥有的权利。 系统组:是Linux系统自动建立的。一个用户可以属于多个组,用户所属的组又有基本组和附加组之分。在用户所属组中的第一个组称为基本组,基本组在/etc/passwd文件中指定;其他组为附加组,附加组在/etc/group文件中指定。属于多个组的用户所拥有的权限是

26、它所在的组的权限之和。与用户一样,用户分组也是由一个惟一的身份来标识的,该标识叫做用户分组ID(GroupID,GID)。用户可以归属于多个用户分组。对某个文件或程序的访问是以它的UID和GID为基础的。一个执行中的程序继承了调用它的用户的权利和访问权限。,Linux系统关于组的信息存放在文件/etc/group中,/etc/gshadow。 (1)/etc/group组帐号文件。 rootUbuntu:#cat /etc/group root:x:0: student:x:1000: 与passwd文件记录类似,的每一行由4个字段的数据组成,字段之间用“:”分隔,其格式如下: 组名称:组密码

27、:GID:组包括的账号名称内容也说明如下: 组名称:就是组的名称; 组密码:通常不需要设定,一般很少使用到组登入,同样的,密码也是被纪录在 /etc/gshadow 。; 组 ID:就是所谓的 GID ; 组成员:组所包含的用户,用户之间用“,”分隔。,如果想要让 student 也属于 lpadmin (打印管理组)这个组的话,修改group文件,添加student到对应组名称后。例:手动添加用户student到lpadmin组。rootUbuntu:#cat /etc/grouplpadmin:x:113:root,student (2)/etc/gshadow组密码文件。文件gshado

28、w与group结构类似,但组密码不好管理,因此很少用。,命令行方式管理组,1groupadd添加组名 添加user组 rootUbuntu:# groupadd user 添加组名可以手工编辑/etc/group文件来完成组的添加。 2groupmod修改组属性 (1)修改user组的GID。 rootUbuntu:# groupadd g 1005 user (2)修改user组的名为user1。 rootUbuntu:# groupadd n user1 user,3gpasswd改变组中的成员用户或改变组的密码 gpasswd不光可以修改组密码,而且可以添加、删除组成员。 (1)修改us

29、er1组密码。 rootUbuntu:# gpasswd user1 正在修改 user1 组的密码 新密码:请重新输入新密码: (2)添加student用户到user1组。 rootUbuntu:# gpasswd -a student user1 正在将用户“student”加入到“user1”组中 (3)从user1组删除student用户。 rootUbuntu:# gpasswd -d student user1 正在将用户“student”从“user1”删除 4groupdel删除组 删除组user1。 rootUbuntu:# groupdel user1,Ubuntu图形环境用户与组管理,Ubuntu有一个图形界面形式的用户管理工具,利用用户管理器可以方便地管理用户和用户组。根用户root可以选择“系统”“系统设置”“用户和组”,就打开“用户设置”窗口,如图所示。,添加用户账号,在用户设置窗口中单击“添加用户”按钮,打开“创建新用户”对话框,如图所示。 创建新用户有三个选项:帐户、用户权限、高级。 选择帐户添加帐户名、密码、基本用户信息等; 在用户权限可以可以详细设定用户对设备,比如光驱、扫描仪、音频设备的使用权限,甚至可以甚至成可以管理用户; 在高级设置用户的组,shell版本,主目录等。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报