《Linux操作系统用户帐号管理》由会员分享,可在线阅读,更多相关《Linux操作系统用户帐号管理(28页珍藏版)》请在金锄头文库上搜索。
1、Linux用户帐号管理用户帐号管理 管理员账号1、设置root账号的密码 #passwd2、变换身份为管理员 #su -3、只允许root登录#touch /etc/nologin4、单人模式 编辑/etc/inittab 或single忘记root密码 在单人模式#passwd -droot创建用户账号1、添加用户 #useradd 用户名 #passwd 用户名2、增加用户对环境的修改 (1). # vi /etc/passwd 增加一条用户名:密码:UID:GID:用户全名:用户HOME目录:用户的SHELL例:zhy : : 500 : 500 : zhy user:/home/zhy
2、 : /bin/bash (2). 在/HOME/下增加一个以用户名命名的目录。 (3)#vi /etc/group 增加一条以用户名命名的组。两个重要文件:passwd与group 在linux的安全机制里,/etc/passwd与/etc/group这两个文件占着非常重要的地位。它们控制着linux的用户和组一些重要设置。 /etc/passwd文件说明 在passwd的文件里,每一行被冒号(:)分成7个部分,分别是: 用户名:密码:UID:GID:身份描述:主目录:登录shell 两个重要文件:passwd与group 用户名是passwd文件里各记录行唯一的有唯一性要求的域。也就是说每
3、一行的第一个区域的内容都不能相同,其它区域就无所谓了。 密码 现在由于使用了shadow口令,在密码区域只有一个x字符。 UID系统使用UID来判别用户身份GID用户默认的组ID,这个ID可以在文件 /etc/group里查到对应 的组名。 身份描述:就是用户的身份说明,默认的是无任何说明,可人工 添加。 主目录:用户的主目录,可以使用前面介绍的命令修改。 登录shell:用户登录时系统提供的shell,请参考前面的有关内容。 :UID和GID小于500的一般都是系统自己保留,不做普通用户和组的标识的,所以新增加的用户和组一般都是UID和GID大于500的。 两个重要文件:passwd与gro
4、up /etc/group文件说明 它总共分四个部分: 组名:密码域:GID:组员列表 创建用户账号ShadowShadow文件内容格式文件内容格式每个账号在shadow文件中都有9个字段,分别用8个冒号(:)隔开字段字段说明明: :用户名:这是用户登录系统时使用的用户名,它在系统中是惟一的口令:此字段存放加密的口令最后一次修改的时间:标识从某一时刻起到用户最后一次修改口令的天数最小时间间隔:两次修改口令之间的最小天数最大时间间隔:口令保持有效的最多天数,即多少天后必须修改口令警告时间:从系统开始警告到口令正式失效的天数不活动时间:口令过期多少天后,该账号被禁用失效时间:指示口令失效的绝对天数
5、(从1970年1月1日开始计算)标志:未使用创建用户账号3、删除用户: #userdel 用户名4、查封用户: #vi /etc/passwd 用分号注释掉用户记录。在前面加上#号创建用户账号6、建立用户组#groupadd 组名7、删除用户组# groupdel 组名8、 将用户加入到组和从组中删除# gpasswd a 用户名 组名 /添加用户# gpasswd d 用户名 组名 /删除用户9、查看用户属于某组#groups 用户名10、新建用户加入某组# useradd g 某组名 用户创建用户账号更改用户主目录:useradd的参数-d,命令如下: #useradd -d 主目录 用户
6、 #useradd -d /home/goal floatboat 添加用户到有的组 :#useradd -g 用户组 用户 #useradd -g webusers floatboat 注:加参数-G可将用户加入多个组磁盘空间管理概述在Linux系统中,可以通过quota的设置来限制用户和用户组的硬盘空间配额。而磁盘配额技术在Linux操作系统的应用中是十分广泛的。例如:各个网站、ICP等为用户设置信箱大小、磁盘使用空间、虚拟主机等都用到了磁盘配额技术。 /etc/skel /etc/skel 目目录 /etc/skel目录一般是存放用户启动文件的目录,这个目录是由root权限控制,当我们添
7、加用户时,这个目录下的文件自动复制到新添加的用户的家目录下;/etc/skel 目录下的文件都是隐藏文件,也就是类似.file格式的;我们可通过修改、添加、删除/etc/skel目录下的文件,来为用户提供一个统一、标准的、默认的用户环境; /etc/ /etc/ 配置文件配置文件 /etc/ 文件是当创建用户时的一些规划,比如创建用户时,是否需要家目录,UID和GID的范围;用户的期限等等,这个文件是可以通过root来定义的; /etc/default/useradd /etc/default/useradd 文件文件 通过useradd 添加用户时的规则文件;# useradd defaul
8、ts fileGROUP=100HOME=/home 注:把用户的家目录建在/home中;INACTIVE=-1 注:是否启用帐号过期停权,-1表示不启用;EXPIRE= 注:帐号终止日期,不设置表示不启用;SHELL=/bin/bash 注:所用SHELL的类型;SKEL=/etc/skel 注: 默认添加用户的目录默认文件存放位置;也就是说,当我们用adduser添加用户时,用户家目录下的文件,都是从这个目录中复制过去的; 磁盘空间管理在跟分区做配额:首先,修改/etc/fstab文件: LABEL=/ext3defaults11 改为: LABEL=/ext3defaults,usrqu
9、ota11 或者改为: LABEL=/ext3defaults,grpquota11 usrquota是基于用户的磁盘配额,grpquota是基于组的磁盘配额,怎么改就看你需要了。 之后你或者重新启动一下,或者remount一下(mount-oremount/)。 磁盘空间管理第二,在/中建立或建立在你要实现配额的顶级目录所谓定级目录,就是比如你要在/上实现配额,就要在/下建立或者;如果你要在/home上实现配额(当然你的/home应该是一个独立的磁盘分区),就在/home下建立这两个文件中的一个。用touch命令建立,touch或。但这时建立好的文件是空的,不符和系统的需要。所以执行下一步。
10、 磁盘空间管理第三,用quotacheck-mc/将这两个文件(或)格式化。 注意一下,除非是/分区,一般不用加-m参数,比如你要在/home上实现配额(当然你的/home应该是一个独立的磁盘分区)就:quotacheck-c/home就可以了。 -m的意思是强迫在“读、写”模式下检查硬盘的配额。 磁盘空间管理执行行“ “quotacheck -avug”quotacheck -avug”命令命令 quotacheck这个命令的功能就是对“已经使用过的磁盘空间”做扫描,分析已使用磁盘上的每一个目录和文件属于哪一个用户和组,然后分别在根目录/(root)产生“userquota”和“grpquo
11、ta”这两种记录文件。其中命令中参数组合“-avug”中各个参数的含义如下所示: -a参数:表示扫描全部的磁盘 -v参数:表示在扫描(scan)磁盘时,显示扫描过程的信息 -u参数:表示扫描记录磁盘上各个用户(User)的使用的文件和目录 -g参数:表示扫描记录磁盘上各个用户组(Group)的使用的文件和目录 磁盘空间管理第四,quotaon/启动磁盘配额。 第五,edquota用户名/组名设置用户/组的配额 例如:edquotauser_name edquota-ggroup_name(对于用户组) 执行后会打开一个vi编辑窗口。可以设置磁盘空间和节点 数目的配额。其中soft只是起到警告的
12、作用,并不会真正的限制用户组。hard就会强制限制用户组的磁盘空间和节点数目了。 磁盘空间管理为用户或用户组设置磁盘配额限制。假设在你的系统上有一名为bob 的用户,现在想给他10MB的硬盘配额限制,他所拥有的最大文件数不得超过100个。执行edquota u dquo,系统将进入编辑环境(具体编辑环境视editor变量设置而定),将如下三行: Quotas for user bob: /dev/hda2: blocks in use: 14, limits (soft=0, hard=0) inodes in use: 12, limits (soft=0, hard=0) 改为: Quot
13、as for user bob: /dev/hda2: blocks in use: 14, limits (soft=0, hard=10240) inodes in use: 12, limits (soft=0, hard=100) 其中: blocks in use:用户已使用块的大小,单位是kB。 inodes in use:用户现有文件的大小。 这两项都是系统自动给出,不必改动。 软限制(soft limits) 通常设置软限制为一接近硬限制的值,超越此限制时,系统将警告用户将到达最大磁盘配额限制。软限制为0 时没有软限制。结合宽限期使用时,只要用户超越了软限制,一过宽限期,任何对
14、磁盘空间的额外需求将被立即拒绝。 硬限制(hard limits) 磁盘配额的绝对限制,设置了quota的用户不能超越此限制。 宽限期(Grace Period) 用户超越了软限制而没有到达硬限制时的一段放宽期,在这段时间内,用户可以在硬限制范围内自由地使用磁盘空间,超过这段时间,所有对磁盘空间的额外需求将被拒绝,即使用户还在硬限制之内。宽限期的单位可以是秒、分、时、天。执行edquota t命令设置宽限期。执行该命令后,将系统提示中的两个0 days 改成你认为合适的值即可。 磁盘空间管理第六,设定softquota和hardquota之间的时间: edquota-t 出现一个vi窗口: G
15、raceperiodbeforeenforcingsoftlimitsforusers: Timeunitsmaybe:days,hours,minutes,orseconds FilesystemBlockgraceperiodInodegraceperiod /dev/hda77days7days 按照自己的需要修改吧。重新启动就可以了。磁盘限额就生效了。 第七,如果要成批的复制相同的磁盘配额给不通用户: edquota-puseruser1user2user3 edquota-g-pgroupgroup1group2group3 repquota ag -aurepquota ag -a
16、u 查看所有组及用户的磁盘限制第八,取消磁盘限额: quotaoff/ 磁盘空间管理命令dfdf命令命令 功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 语法:df 选项 说明:df命令可显示所有文件系统对i节点和磁盘块的使用情况。 该命令各个选项的含义如下: -a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件 系统。 -k 以k字节为单位显示。 -i 显示i节点信息,而不是磁盘块。 -t 显示各指定类型的文件系统的磁盘空间使用情况。 -x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项
17、相反)。 -T 显示文件系统类型。 例1:列出各文件系统的磁盘空间使用情况。 $ df 磁盘空间管理命令df命令的输出清单:第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区)第2列给出分区包含的数据块(1024字节)的数目;第3,4列分别表示已用的和可用的数据块数目。用户也许会感到奇怪的是,第3,4列块数之和不等于第2列中的块数。这是因为缺省的每个分区都留了少量空间供系统管理员使用。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use% 列表示普通用户空间使用的百分比,即使这一数字达到100,分区仍然留有系统管理员使用的空间。最后,Mounte
18、d on列表示文件系统的安装点。 磁盘空间管理命令dudu命令命令 du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况。 功能:统计目录(或文件)所占磁盘空间的大小。 语法:du 选项 Names 说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统数 据块(1024字节)的情况。若没有给出Names,则对当前目录进行统计。 该命令的各个选项含义如下: -s:对每个Names参数只给出占用的数据块总数。 -a:递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数
19、。 -b:以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。 -k:以1024字节为单位列出磁盘空间使用情况。 -c:最后再加上一个总计(系统缺省设置)。 -l:计算所有的文件大小,对硬链接文件,则计算多次。 X:跳过在不同文件系统上的目录不予统计。 磁盘空间管理命令输出清出清单:第一列是以块为单位计的磁盘空间容量,第二列列出目录中使用这些空间的目录名称。 注意不带选项的du命令将从当前目录开始沿着目录结构向下工作直到列出所有目录的容量为止。这可能是一个很长的清单,有时只需要一个总数。这时可在du命令中加-s选项来取得总数: 磁 盘 操 作 dd命令 功能:把指定的输入文件拷贝到指定
20、的输出文件中,并且在拷贝过 程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。 例1:要把一张软盘的内容拷贝到另一张软盘上,利用/tmp作为临时 存储区。把源盘插入驱动器中,输入下述命令: $ dd if =/dev/fd0 of = /tmp/tmpfile 语法:法:dd dd 选项 if =if =输入文件(或设备名称)。 of =of =输出文件(或设备名称
21、)。 ibs =ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。 skip =skip = blocks 跳过读入缓冲区开头的ibs*blocks块。 obs =obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。 bs =bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)。 cbs =cbs = byte 一次转换bytes字节。 count=count=blocks 只拷贝输入的blocks块。 conv =conv = ASCII 把EBCDIC码转换为ASCIl码。 conv =conv = ebcdic 把ASCIl码
22、转换为EBCDIC码。 conv =conv = ibm 把ASCIl码转换为alternate EBCDIC码。 conv =conv = block 把变动位转换成固定字符。 conv =conv = ublock 把固定位转换成变动位。 conv =conv = ucase 把字母由小写转换为大写。 conv =conv = lcase 把字母由大写转换为小写。 conv =conv = notrunc 不截短输出文件。 conv =conv = swab 交换每一对输入字节。 conv =conv = noerror 出错时不停止处理。 conv =conv = sync 把每个输入记录的大小都调到ibs的大小(用NUL填充)。