免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 991 | 回复: 0
打印 上一主题 下一主题

Linux用户与组管理 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-03 18:37 |只看该作者 |倒序浏览
截止今天,小学期两周过去,摆平了两个课程设计,挺累,今天完事了数据库课程设计,可以松口气,不过,貌似还有三个,哭,明天继续ld。闲了从电脑里找出自己整理的Linux用户与组管理的basics,就当为Linux在中国的推广出份力吧(^_^),应该说在用户与组管理方面的命令整理得比较完善了,不过限于水平,不可能面面俱到,如果有不足和要补充的地方,还请留言指教:

1.  增加用户帐号——useradd
在命令行下使用 useradd 命令:
      useradd  用户名
该命令做了下面几件事:
1)在 /etc/passwd 文件中增添了一行记录;
2)在 /home 目录下创建新用户的主目录,并将 /etc/skel 目录(skeleton:.bashrc, .bash_history, etc.)中的文件拷贝到该目录中去;但是使用了该命令后,新建的用户暂时还无法登录,因为还没有为该用户设置口令,需要再用 passwd 命令为其设置口令后,才能登录。用户的 UID 和 GID 是 useradd 自动选取的,它是将 /etc/passwd 文件中的 UID 加 1,将 etc/group 文件中的 GID 加 1。
增加新用户时,系统将为用户创建一个与用户名相同的组,称为私有组。这一方法是为了能让新用户与其他用户隔离,确保安全性的措施。  
下面通过增加一个用户“z”,以及查看其相关信息,来帮助用户理解该命令所执行的操作。
# useradd  z    //建立用户账号
# tail  -l  /etc/passwd  //查看password文件中添加的用户    账号信息
# tail  -l  /etc/shadow  //加密后的用户账号及密码信息
# ls /home     //查看所建立账号的主目录
增加用户及相关操作
选项    功能描述
-g [initial_grp] 用于添加用户账号时指定该用户的私有组。如不指定“-g”参数,useradd命令将自动建立与用户账号同名的组作为该账号的私有组。
-G [grp...]   用于添加进附属组
在“-g”选项时,其语法格式如下:
      useradd –g  组名  用户名
-D   用于显示或设置useradd命令所使用的默认值
在“-D”选项中,如果是用来修改useradd命令所使用的默认值,那么该命令使用的语法格式如下:
      useradd –D [-g group][-b base][-s shell][-f inactive][-e expire]
2.  修改用户账号——usermod
usermod命令可用来修改用户帐号的各种属性,包括用户主目录、私有组、登录、shell等内容。Usermod的命令格式如下:
在命令行下使用 usermod 命令:
      usermod [-LU][-c ][-d ][-e ][-f ][-g ]
[-G ][-l ][-s ][-u ][用户帐号]
该命令的各个参数说明如下:
-c : 修改用户帐号的备注文字。
-d: 修改用户登入时的目录。
-e : 修改帐号的有效期限。
-f :修改在密码过期后多少天即关闭该帐号。
-g:  修改用户所属的群组。
   -l  :修改用户帐号的名称
下面举例说明该命令的使用方法:
( 1)修改用户名,把用户名“z”改名为“hsm”,使用的命令是:
# usermod  –l  hsm  z
(2)锁定“hsm”用户,使其不能登录。命令如下:
# usermod –L  hsm
(3)解锁“hsm”用户账号,使其可以登录。命令如下:
# usermod –U hsm
3.  删除用户——userdel
userdel命令用于删除指定的用户账号。
使用的语法格式为:
      userdel [-r][用户账号]
需要补充说明的是userdel命令可删除用户账号与相关的文件。若不加参数,则仅删除用户账号,而不删除相关文件。
其中参数“-f”是用来删除用户登入目录以及目录中所有文件。
下面举例说明该命令的使用方法:
# grep hsm /etc/passwd  //查询用户账号hsm是否存在
# userdel hsm    //删除hsm账号
# grep hsm /etc/passwd  //再次查询用户账号hsm是否存在
# ll –d /home    //查询用户hsm的主目录是否还存在
# userdel –r hsm    //删除用户的同时删除其工作主目录
4.  组增加命令——groupadd
groupadd命令可指定群组名称来建立新的群组账号。该组账号的ID值必须是惟一的,且数值不可为负。预设的最小值不得小于500,且每增加一个组账号ID值逐次增加。ID值0~499是保留给系统账号使用。该指令使用的语法格式为:
      groupadd  [-r] group
其中“-r”参数是用来建立系统账号。系统账号的ID值不能大于500。下面举例说明该命令的使用方法:
# groupadd  dba //建立组账号dba
# grep dba /etc/group //查询group文件中dba组是否建立
# groupadd –r sysgroup //建立系统组账号
# grep sysgroup /etc/group //查询group文件中sysgroup组是否建立
5.  组账号修改——groupmod
groupmod命令用来更改群组识别码或名称。该命令的语法格式为:
      groupmod [-g  ][-n ][群组名称]
命令中所使用的参数说明如下:
         -g   设置欲使用的群组识别码。
         -o  重复使用群组识别码。
         -n   设置欲使用的群组名称。
下面举例说明该命令的使用方法:
# grep dba /etc/group  //查询group文件中dba组属性
# groupmod –g 503 dba  //改变dba组的GID为503
# grep dba /etc/group  //查询操作结果是否正确
# groupmod –n sba dba  //改变dba组名为sba
# grep 503  /etc/group   //查询操作结果是否正确
6.  删除组账号——groupdel
groupdel命令用于删除指定的组账号,若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。该命令的语法格式为:
      groupdel [群组名称]
7.  口令维护命令
出于系统安全考虑,Linux系统中的每一个用户除了有其用户名外,还有其对应的用户口令。因此使用useradd命令增加时,还需使用passwd命令为每一位新增加的用户设置口令;用户以后还可以随时用passwd命令改变自己的口令。该命令的一般格式为:
      passwd [用户名]
其中用户名为需要修改口令的用户名。只有超级用户可以使用“passwd 用户名”修改其他用户的口令,普通用户只能用不带参数的passwd命令修改自己的口令。
另外,passwd命令还可以使用一些参数选项,这些参数选项可对账号的口令进行不同的操作,但这些带参数的passwd命令只有root用户可以使用。这些参数选择包括:
         -S:用于查询指定用户账号的状态。
         -l:用于锁定账号的口令。
         -u:解除锁定账号的口令。
         -d:删除指定账号的口令。
8.  组中用户成员的维护
gpasswd命令可用于把一个账户添加到组、把一个账户从组中删除、把一个账户设为组管理员。
(1)添加用户到使用的命令格式为:
      gpasswd  –a  用户账号名 组账号名
(2)从组中删除用户的命令格式为:
      gpasswd – d 用户账号名  组账号名
(3)设置用户为组管理员的命令格式为:
      gpasswd  -A  组管理员用户列表 用户组

其他相关命令:
1.  id命令
id命令用于显示用户当前的UID,gid以及所属群组的组列表该指令的语法格式为:
      id  [选项]  [用户名称]
该命令所使用的选项参数说明如下:
         -g:显示用户所属群组的ID。
         -G:显示用户所属附加群组的ID。
         -n:显示用户,所属群组或附加群组的名称。
         -r:显示实际ID。
         -u:显示用户ID。

2.  whoami命令
whoami命令用于显示登录者自身的用户名称,本指令相当于执行“id –un”指令。这一系列相关的还有w, who, who am i。
3. su命令
su命令是用来将当前用户转换为其他用户身份。其命令的语法格式为:
      su [-flmp] [-][-c ][-s ][用户帐号]
需要指出的是su命令可让用户暂时变更登入的身份。变更时须输入所要变更的用户账号与密码。该命令中的选项参数说明如下:
  
         -c:执行完指定的指令后,即恢复原来的身份。
         -f:适用于csh与tsch,使shell不用去读取启动文件。
         -:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。
         -m,-p:变更身份时,不要变更环境变量。
         -s:指定要执行的shell。
[用户帐号]:指定要变更的用户。若不指定此参数,则预设变更为root。
4.  groups命令
groups命令用于显示指定用户所属的组,如未指定用户则显示当前用户所属的组。该命令的语法格式为:
      groups  用户名

5.  识别Linux中的用户
5.1.  查看用户的操作
系统管理员在任一时刻都可查看用户的行为, 在终端的提示符下输入w命令即可
命令响应中所示的信息分别说明如下:
第一行显示系统的汇总信息,字段分别表示系统当前时间、系统运行时间、登录用户总数及系统平均负载信息。对于该行显示的几个数据意义是:
4:50pm     表示执行w的时间是在下午4:50。
0days,11:18   表示系统运行0天11小时18分。
4users     表示当前系统登录用户总数为4
load average  与后面的数字一起表示系统在过去1、5、10分钟内的负载程度,数值越小,系统负载越轻。
从第2行开始构成一个表格,共有8个栏目,分别显示各个用户正在做的事情及该用户所占用的系统资源:
USER:显示登录用户名。用户重复登录,该账号也会重复出 现。
TTY:用户登录所使用的终端。
FORM: 显示用户从什么地方登录到系统。如果是从本地登录,此字段为“-”;如果从远程登录便会显示主机的IP地 址或主机名。
LOGIN@:是LOGIN AT的意思,表示登录进入系统的时间。
IDLE:用户空闲时间,从用户上一次任务结束后开始计时。
JCPU:以终端代号来区分,表示在某段时间内,所有与该终端相关的进程任务所耗费的CPU时间。
PCPU:指WHAT域的任务执行后所耗费的CPU时间。
WHAT:表示当前执行的任务。
另外,使用w命令还可在有很多用户登录时,查看某一个具体的用户名,使用的命令形式如下:  # w root
5.2.  查看登录用户
系统管理员若想知道某一时刻有哪些用户登录到系统,可以使用系统提供的who命令,该命令可以查看当前登录系统的用户及其他相关系统信息。
5.3.  查看登录用户历史
系统管理员可以随时查看用户登录的历史行为,还可查看某一用户曾经登录到的系统,这些功能使用last/lastlog命令即可实现。
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/107272/showart_2110516.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP