已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章 用户与组群管理,5.1 用户和组群的基本概念 5.2 桌面环境下管理用户和组群 5.3管理用户和组群的Shell命令,5.1 用户和组基本概念,5.1.1 基本的用户环境 5.1.2 /etc/passwd文件 5.1.3 组文件/etc/group 5.1.4 分配用户ID和约定 5.1.5 增加用户root用户才能执行 5.1.6 改变用户的属性 5.1.7 用户组管理命令,5.1.1 用户,主目录:存放的是与用户有关的文件和命令。 用户模板:/etc/skel中存放的是shell和某些应用程序的初始化文件。这些文件在每个用户的主目录中都有一份拷贝。因此,如果想使某些文件对所有的用户起作用的话,将它们放到/etc/skel就可以了。,用户ID、用户群ID和约定,超级用户、超级用户组群的ID 为0 系统用户、系统用户组群的id为1499 普通用户、皮套用户组群的id从500开始 给用户选择ID的一个技巧是:使用它们将要归属的组作为ID的基础。如用户创建了下面两个组: purchase:500 sale:800 这就给所有在purchase部门的用户分配500599的UID,给所有在sale的用户分配800899的UID。,UID为0的用户,UID为0的用户是超级用户或称特权用户。Root用户没有什么特别的,并不是这个名字给了他root特权,实际上,是“UID为0”标记他是超级用户。 因此,如果用户增加一个UID为0的新用户,并给他一个shell作为启动程序,用户就创建了另一个超级用户。,5.1.2 与用户相关的文件,1.用户账户信息文件/etc/passwd 2.用户口令信息文件/etc/shadow,1. /etc/passwd文件,文件属性:-rw-rr 该文件是所有用户可读的,这是因为每个用户都有可能执行某些能读取这个文件的命令。 每一行代表一个用户,例: user1:x:503:503:/home/user1:/bin/bash对应 用户名:口令:用户号(uid):组号(gid):注释信息:用户主目录:用户登录的shell。,user1:x:503:503:/home/user1:/bin/bash,系统的所有用户在登录之前,在这个文件里必须有一条记录,由于登录程序使用名字来识别,所以登录名必须是唯一的。 口令域包含一个“x”,它表示密码文件放在shadow中。如果用户的系统仍然在passwd文件中含有口令密码,必须运行pwconv以把口令移到/etc/shadow文件。 passwd文件是普通的文本文件, 因此可以手工修改文件中的用户信息,或者在文件最后添加新行以增加新的用户。 但是如果两个人同时修改该文件的话,就会有毁坏文件的危险。因此,不提倡使用这种方法 。比较好的方法是用vipw命令,可以将该文件锁住,以防止其他人同时使用。,2. /etc/shadow文件,以前版本的口令放在/etc/passwd文件中,/etc/passwd文件是所有用户都可读的,这是因为每个用户都有可能执行某些能读取这个文件的命令。现在的版本将加密口令移到/etc/shadow文件中。 文件属性:-r-,所属的用户和组是root。 每一行代表一个用户,一个/etc/shadow文件内容:,root:1YVmyqfO2FbWk:10787:0:10000: bin:*:8902:0:10000: daemon:*:8902:0:10000: lp:*:9473:0:10000: news:*: 8902:0:10000: uucp:*:0:0:10000: games:*: 0:0:10000: fprat:$1$ndfdfsere:11752:0:99999:7:10:,root:1YVmyqfO2FbWk:10787:0:10000:,name用户名 password加密的密码 last_change密码最后被修改的时间(从1970年1月1日到该日的天数) min_length从上一次修改密码到下一次运行进行修改要经历的天数 max_length经过多少天后用户必须重新修改密码 warm_time在密码到期前多少天向用户发出必须修改密码的警告 inactive_time密码到期后经过多少天把该帐号关闭 expire_time帐号到期日 flag,5.1.3 组群,每个用户都至少属于一个组群。 一个用户只能属于一个主要组群,但可以同时属于多个附加组群。,5.1.4 组文件/etc/group,例:root:x:0:root 分别表示组名:组口令:组ID号:组员。 一般可以不设组口令,一个用户可以在多个组中。 /etc/group文件含有关于小组的信息,/etc/passwd中的每个GID在本文件中应当有相应的入口项,入口项中列出了小组名和小组中的用户。这样可方便地了解每个小组的用户,否则必须根据GID在/etc/passwd文件中从头至尾地寻找同组用户。,小组就像登录用户一样可以有口令。 如果/etc/group文件入口项的第二个域为非空,则将被认为是加密口令,newgrp命令将要求用户给出口令,然后将口令加密,再与该域的加密口令比较。 组群口令文件/ect/gshadow,5.2桌面环境下管理用户和组群,5.3 管理用户和组群的Shell命令,5.3.1 管理用户的Shell命令 5.3.2管理组群的Shell命令,5.3.1 管理用户的Shell命令,1.useradd 2.passwd 3.usermod 4.userdel 5.su 6.id,1.useradd,#useradd ,useradd命令执行过程,useradd 不加参数选项,后面直接跟所添加的用户名时: 系统读取添加用户配置文件/etc/login.defs和/etc/default/useradd文件, 然后读取/etc/login.defs和/etc/default/useradd中所定义的规则添加用户; 并向/etc/passwd和/etc/groups文件添加用户和用户组记录; 当然/etc/passwd和/etc/groups的加密资讯文件也同步生成记录; 同时发生的还有系统会自动在/etc/default/useradd 中所约定的目录中建用户的家目录,并复制/etc/skel中的文件(包括隐藏文件)到新用户的家目录中;,实例1:不加任何参数,直接添加用户;,rootlocalhost beinan# useradd beinanlinux rootlocalhost beinan# ls -ld /home /beinanlinux/ drwxr-xr-x 3 beinanlinux beinanlinux 4096 11月 2 15:20 /home/beinanlinux/ 在这个例子中,我们添加了beinanlinux用户,我们在查看/home/目录时,会发现系统自建了一个beinanlinux的目录; 我们再来查看 /etc/passwd 文件有关beinanlinux的记录: rootlocalhost beinan# more /etc/passwd | grep beinanlinux beinanlinux:x:509:509:/home/beinanlinux:/bin/bash,实例2:-c ,rootlocalhost # useradd -c ChinaCpu longcpu rootlocalhost # more /etc/passwd |grep longcpu longcpu:x:510:510:ChinaCpu:/home/longcpu:/bin/bash,查询用户信息,rootlocalhost # finger longcpu Login: longcpu Name: ChinaCpu Directory: /home/longcpu Shell: /bin/bash Never logged in. No mail. No Plan.,实例3:自定义用户的家目录、SHELL类型、所归属的用户组等;,要求: 添加用户longcpu,并设置其用户真实名字为ChinaCpu, 其家目录在/opt/longcpu, 让其归属为用户组 linuxsir、root、beinan成员, 其SHELL类型为tcsh ;,rootlocalhost # useradd -c ChinaCpu -d /opt/longcpu -G linuxsir,root,beinan -s /bin/tcsh longcpu rootlocalhost # ls -ld /opt/longcpu/ drwxr-xr-x 3 longcpu longcpu 4096 11月 4 22:30 /opt/longcpu/ rootlocalhost # more /etc/passwd |grep longcpu longcpu:x:510:510:ChinaCpu:/opt/longcpu:/bin/tcsh,rootlocalhost beinan# finger longcpu Login: longcpu Name: ChinaCpu Directory: /opt/longcpu Shell: /bin/tcsh Never logged in. No mail. No Plan. rootlocalhost beinan# id longcpu uid=510(longcpu) gid=510(longcpu) groups=510(longcpu),0(root),500(beinan),502(linuxsir),2. passwd,passwd 作为普通用户和超级权限用户都可以运行, 但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定; 如果root用户运行passwd ,可以设置或修改任何用户的密码; passwd 命令后面不接任何参数或用户名,则表示修改当前用户的密码;,例子,rootlocalhost # passwd Changing password for user root. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. 如果是普通用户执行passwd 只能修改自己的密码; 如果新建用户后,要为新用户创建密码,则用 passwd 用户名 ,注意要以root用户的权限来创建;,rootlocalhost # passwd beinan Changing password for user beinan. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.,passwd 几个比较重要的参数,-k:保留即将过期的用户在期满后能仍能使用; -d:删除用户密码,仅能以root权限操作; -l:锁住用户无权更改其密码,仅能通过root权限操作; -u:解除锁定; -f:强制操作;仅root权限才能操作; -x:两次密码修正的最大天数,后面接数字;仅能root权限操作; -n:两次密码修改的最小天数,后面接数字,仅能root权限操作; -w:在距多少天提醒用户修改密码;仅能root权限操作; -i, -inactive=DAYS :在密码过期后多少天,用户被禁掉,仅能以root操作; -S, -status :查询用户的密码状态,仅能root用户操作;,例如:让某个用户不能修改密码,可以用-l 参数来锁定:,rootlocalhost # passwd -l beinan Locking password for user beinan. passwd: Success beinanlocalhost # su beinan beinanlocalhost $ passwd Changing password for user beinan. Changing password for beinan (current) UNIX password: passwd: Authentication token manipulation error,-d:删除用户密码,仅能以root权限操作;,rootlocalhost # passwd -d beinan Removing password for user beinan. passwd: Success rootlocalhost # passwd -S beinan Empty password. 注意: 当我们清除一个用户的密码时,登录时就无需密码;这一点要加以注意;,3. 改变用户的属性usermod,usermod 命令功能很强大,不仅能改用户的SHELL类型,所归属的用户组,也能改用户密码的有效期,还能改登录名。 如此看来usermod 就是能做到用户帐号大转移;比如我把用户A改为新用户B; usermod -u uid -o -g group -G group,. -d 主目录 -m -s shell -c 注释 -l 新名称 -f 失效日 -e 过期日 -p 密码 -L|-U 用户名,下列为usermod可选用的参数,-c comment 更新用户帐号password档中的注解栏,一般是使用chfn(1)来修改。 -d home_dir 更新用户新的登入目录。如果给定-m选项,用户旧目录会搬到新的目录去,如旧目录不存在则建个新的。 -e expire_date 加上用户帐号停止日期。日期格式为MM/DD/YY. -f inactive_days 帐号过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能。预设值为-1。 -g initial_group 更新用户新的起始登入用户组。用户组名须已存在。用户组ID必须参照既有的的用户组。用户组ID预设值为1。,-G group,. 定义用户为一堆groups的成员。每个用户组使用“,“区格开来,不可以夹杂空白字元。用户组名同-g选项的限制。如果用户现在的用户组不再此列,则将用户由该用户组中移除。 -l login_name 变更用户login时的名称为login_name。其它不变。特别是,用户目录名应该也会跟着更动成新的登入名。 -s shell 指定新登入shell。如此栏留白,系统将选用系统预设shell。 -u uid用户ID值。必须为唯一的ID值。,-p 修改密码 -L 锁定帐号 -U 解除锁定,打开帐号,警告:usermod不允许你改变正在线上的用户帐号名称。当usermod用来改变userID,必须确认这名user没在电脑上执行任何程序。 usermod 工具和useradd的参数差不多;两者不同之处在于useradd是添加,usermod 是修改;,rootlocalhost # usermod -d /opt/linuxfish -m -l fishlinux linuxfish rootlocalhost # more /etc/passwd |grep fishlinux fishlinux:x:512:512:/opt/linuxfish:/bin/bash,警告:,usermod 最好不要用它来改用户的密码,因为他在/etc/shadow中显示的是明口令;修改用户的口令最好用passwd ; rootlocalhost # usermod -p 123456 fishlinux 注:修改fishlinux的口令是123456 ; rootlocalhost # more /etc/shadow |grep fishlinux fishlinux:123456:13092:0:99999:7:,4. 删除用户帐号userdel,命令userdel -r -r表示帐号及目录一起删除。,删除用户但不删除其家目录及文件,rootlocalhost # userdel bnnb 注:删除用户bnnb,但不删除其家目录及文件; rootlocalhost # ls -ld /home/bnnb 注:查看其家目录是否存在; drwxr-xr-x 14 501 501 4096 8月 29 16:33 /home/bnnb,删除用户以及家目录及文件,rootlocalhost # ls -ld /home/lanhaitun 注:查看lanhaitun家目录是否存在; drwx- 4 lanhaitun lanhaitun 4096 11月 5 14:50 /home/lanhaitun rootlocalhost # userdel -r lanhaitun 注:删除用户lanhaitun,其家目录及文件一并删除; rootlocalhost # ls -ld /home/lanhaitun ls: /home/lanhaitun: 没有那个文件或目录 注:已经删除;,警告:,请不要轻易用-r参数;他会删除用户的同时删除用户所有的文件和目录,切记;如果用户目录下有重要的文件,在删除前请备份; 其实也有最简单的办法,但这种办法有点不安全,也就是直接在/etc/passwd中删除您想要删除用户的记录;但最好不要这样做,/etc/passwd 是极为重要的文件,可能您一不小心会操作失误,临时禁止/恢复某个帐号登录:,禁止用户帐号登录: 直接编辑/etc/passwd文件:将x改为* 恢复用户帐号登录: 直接编辑/etc/passwd文件:将*改为x,5. su,su - 用户名 切换用户身份,超级用户可以切换为任何普通用户,而且不需要输入口令。 普通用户需要输入口令。 返回用exit - 切换并使用新用户的环境变量。 无用户名表示切换为超级用户,sudo以超级用户的身份运行某些命令,sudo允许经过同意的用户以超级用户的身份执行某些命令,用/etc/sudoers文件来判断谁是被授权的用户。 Sudo将会提示用户输入密码开始一段n分钟的可以使用的时间(缺省为5分钟)。 例: root ALL=(ALL)ALL #root用户可以在任何主机上运行任何命令 Joe ALL=/usr/bin/su operator #joe用户只能su到operator用户 bob ALL=/sbin/shutdown $sudo /sbin/shutdown passwd: 这里的口令是用户自己的,而非root口令。,6. id,id 用户名 查看用户的UID、GID和所属组群的信息。 无用户名表示当前用户的信息,5.3.2 管理组群的Shell命令,建立新组 1)编辑/etc/group,密码处为空 2)命令groupadd g 组编号 组名 删除组 1)编辑/etc/group,密码处为空 2)命令groupdel 组名 设置组密码:gpasswd 组名 删除密码:gpasswd -r 组名 添加组用户:gpasswd -a 用户帐号 组名 删除组用户:gpasswd -d 用户帐号 组名 当前用户临时编组:newgrp 组名 一般用户需要输入该组密码,roo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论