• Solaris用户管理(一):用户与组管理


    Solaris用户管理(一):用户与组管理 
    2008-07-01 09:19
    用户管理是系统管理的基础。Solaris中不但支持传统Unix所支持的用户和组的概念,还从Solaris 8开始引入了基于角色的访问控制(RBAC),提供了一种更加安全、灵活的方式来进行权限分配和管理。 

    先看看Solaris下的基本用户管理。(详细的资料可以自行查阅man手册)

    Solaris 下的基本用户管理体系包括/etc目录下的passwd、group和shadow三个配置文件,以及useradd、usermod、userdel、 passwd、groupadd、groupmod和groupdel七个基本命令,以及groups等辅助命令组成。

    1配置文件

    1.1passwd

    /etc/passwd文件中保存了最基本的用户信息,包括用户名、密码、用户id等等,该文件由一系列的记录组成,每个记录占据一行,其格式为:

    用户名:密码:用户ID:用户所在组ID:注释:用户主目录:使用的shell

    其中,用户名就是通常使用的登录名了,而所谓的注释也通常被称作用户的全名。这里需要提及的是密码一项。为了安全起见,密码已经不再已明文的形式存放在passwd文件中,而是被保存到了/etc/shadow文件中,在这里用一个字母“x”进行表示。

    1.2shadow

    /etc/shadow文件中存储了加密后的用户密码,并且(默认)仅有root用户是可读的。该文件同样由一系列记录组成,每个记录占据一行,格式如下:

    用户名:密码:上次修改密码的时间:两次密码修改最小间隔天数:密码有效天数:密码过期前进行警告的天数:最大连续不登录天数:密码过期的绝对日期:登录失败次数

    其中,登录失败次数暂未使用,而所有的相对时间都是从1970年1月1日起计数的。

    1.3group

    /etc/group文件中存储了用户组的信息,该文件有一系列记录组成,每一条记录占据一行,格式如下:

    组名:密码:组ID:用户列表

    这里,用户列表中的每个用户之间用逗号“,”进行分隔。

    需要指出的是,在passwd文件中标识的用户组为该用户所在的主组,而每个用户可以同时出现在多个组中,需要通过group文件进行存储。

    2基本命令

    2.1用户管理命令

    基本的用户管理命令包括useradd、usermod、userdel和passwd四条。

    useradd命令的基本用法如下所示:

    useradd [-u uid | -g gid | -d dir | -s shell | -c comment | -m] usrname

    其中,uid为用户ID,gid为用户主组ID,dir为用户的主目录,comment为注释(通常为用户全名),加上-m选项表示创建用户主目录,usrname则为用户的登录名。

    在创建好用户后,通常需要使用passwd命令为用户设置初始密码:

    passwd usrname

    需要根据系统提示重复输入两次密码即可。

    *忘记root密码的解决方法:重启计算机,选择进入failsafe模式,然后根据提示,将根目录挂在到/a目录下,修改/a/etc/passwd文件,将其中root那一项的密码留空即可。

    此外,使用命令passwd -l usrname还能够将帐号临时锁定,知道管理员为其重新设定密码为止。一般的,建议不要轻易删除用户,而是使用该命令将其临时锁定即可。

    创建好用户后,还可以使用usermod命令来修改其基本信息,该命令的参数和useradd命令的类似,就不再赘述了。唯一需要指出的是,usermod命令可以通过-l参数来修改用户名。

    如果实在希望删除某个用户,就可以使用userdel命令:

    userdel [-r] usrname

    如果加上-r选项,则会在删除该用户的同时删除该用户的主目录。

    2.2组管理命令

    基本的组管理命令包括groupadd、groupmod和groupdel三条。

    创建组的groupadd格式如下:

    groupadd -g gid grpname

    这里的gid为组ID,如果再加上-o选项则表明该组ID可以重复(不太清楚这样设置的目的*_*)。

    修改组属性的groupmod命令格式如下:

    groupmod [-g gid] [-n newgrpname] grpname

    最后,可以使用groupdel命令删除一个组:

    groupdel grpname

    2.3辅助命令

    除了使用上述基本命令之外,还可以使用其他一些命令查看用户和组的信息,常用的包括以下一些。

    查看用户所属的全部组:groups usrname

    查看组的信息:getent group grpname

    查看当前登录用户信息:id

    切换到其他组:newgrp grpname

    查看最近登录的用户:last

    当前登录用户:who
    ---------------------------------------
    /home is an auto mount directory. The home directory for user in Solaris should be created in /export/home


    /home 已被automount用了,所以不能在这里建目录,如果非要使用/home,把/etc/auto_master文件的
    /home     auto_home 这一行注释掉。



    2.4 删除用户 
    #userdel dave

    然后再删除dave用户的主目录/home/dave。也可以使用选项”r”来一步完成。
    #userdel -r dave

    注:如果该用户正在连接,是删不掉的,我们可以先kill 掉该用户。 在删。

    # who
    root       console       3月 18日 10:06 (:0)
    dave       pts/2         3月 18日 10:19 (10.85.10.80)
    root       pts/4         3月 18日  10:07 (:0.0)

    #ps -t pts/2
      PID TTY         TIME CMD
      1118 pts/2       0:00 ps
      1112 pts/2       0:00 bash

    #kill -9 1118
    #kill -9 1112

    # who
    root       console       3月 18日 10:06 (:0)
    root       pts/4         3月 18日  10:07 (:0.0)





  • 相关阅读:
    校内模拟赛 虫洞(by NiroBC)
    校内模拟赛 旅行(by NiroBC)
    P3830 [SHOI2012]随机树
    4358: permu
    【noi.ac】#309. Mas的童年
    P1438 无聊的数列
    2091: [Poi2010]The Minima Game
    LOJ #6074. 「2017 山东一轮集训 Day6」子序列
    LOJ #6068. 「2017 山东一轮集训 Day4」棋盘
    LOJ #6073. 「2017 山东一轮集训 Day5」距离
  • 原文地址:https://www.cnblogs.com/macula/p/3853411.html
Copyright © 2020-2023  润新知