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)

Solaris用户管理(一):用户与组管理的更多相关文章

  1. linux 用户管理,用户权限管理,用户组管理

    linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...

  2. linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group 文件内容解释

    与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码口令的加密保存等: /etc/passwd 和/etc/s ...

  3. Linux基础3(用户/组管理,rpm,yum,源码安装软件)

    用户管理 与用户相关的配置文件 /etc/passwd /etc/shadow /etc/skel /etc/defalut/useradd /etc/login.defs useradd userm ...

  4. linux用户、组管理及权限(一)

    一.用户管理 1.为什么需要用户 1)计算机及网络资源的合理分配  2)可以控制用户访问系统的权限.3)身份认证 4) 进程 以某个用户的身份来运行 2.用户分类 用户的角色是通过UID(用户ID)来 ...

  5. 命令行界面下的用户和组管理之useradd和passwd命令的使用

    命令行界面下的用户和组的管理之useradd和passwd命令的使用 useradd [-c comment] [-d dir] [-e expire] [-g group] [-G group1,g ...

  6. java程序员菜鸟进阶(十五)linux基础入门(三)linux用户和组管理

    我们大家都知道,要登录linux操作系统,我们必须要有一个用户名和密码.每一个用户都由一个惟一的身份来标识,这个标识叫做用户ID.系统中的每一个用户也至少需要属于一个"用户分组". ...

  7. Linux命令之用户与组管理

    介绍 Linux操作系统中,任何文件都归属某一特定的用户,而任何用户都隶属至少一个用户组.用户是否有权限对某文件进行访问.读写以及执行,受到系统严格约束的正式这种清晰.严谨的用户与用户组管理系统.在很 ...

  8. 用户管理_组管理_设置主机名_UGO_文件高级权限_ACL权限

    用户管理: 添加用户:useradd tom 设置密码:passwd tom 切换账户: su - tom (不加-也能切换,但是 -会有两点不同 1.有-会切换到该用户的主目录  2.会切换到该用户 ...

  9. Linux第四节 组管理、用户管理、权限管理 / chmod /chown / umask / vim

    三期第三讲1.组管理/用户管理(重要文件系统会实时备份 file-) vim/etc/group: 组管理文件://组名:密码控位键:组id:成员 vim/etc/gshadow:组密码管理文件:// ...

随机推荐

  1. 如何利用服务器下发的Cookie实现基于此Cookie的会话保持

    Cookie是一种在客户端保持HTTP状态信息的常用技术,基于Cookie的会话保持常常出现在很多AX的部署案例中,尤其是涉及电子交易的系统部署中.此类系统往往要求负载均衡设备按照服务器下发的Cook ...

  2. Android SectionIndexer 的使用(联系人分类索引)

    // 获取标题栏索引 int position = sectionIndexter.getPositionForSection(l[idx]); ) { return true; } // 设置调整到 ...

  3. 读懂Java中的Socket编程

    Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一.如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的.本文会介绍一下基于TCP/IP的S ...

  4. lc面试准备:Regular Expression Matching

    1 题目 Implement regular expression matching with support for '.' and '*'. '.' Matches any single char ...

  5. 创办支持多种屏幕尺寸的Android应用

    创建支持多种屏幕尺寸的Android应用 Android涉及各种各样的支持不同屏幕尺寸和密度的设备.对于应用程序,Android系统通过设备和句柄提供了统一的开发环境,大部分工作是校正每一个应用程序的 ...

  6. Linux Shell编程(15)——操作字符串

    Bash已经支持了令人惊讶的字符串操作的数量.不幸地,这些工具缺乏统一的标准.一些是参数替换的子集,其它受到UNIX的expr命令的功能的影响.这导致不一致的命令语法和冗余的功能,但这些并没有引起混乱 ...

  7. Linux学习笔记21——线程同步的两种方式

    一  用信号量同步 1 信号量函数的名字都以sem_开头,线程中使用的基本信号量函数有4个 2 创建信号量 #include<semaphore.h> int sem_init(sem_t ...

  8. 三大跨平台网盘--ubuntu one

    背景介绍 Ubuntu One是由Ubuntu背后的公司Canonical所推出的一项网络服务.该服务能够存储你的文件,并允许你在多台电脑上同步,还可以与好友分享这些文件. 准备工作 帐号--ubun ...

  9. z

    360导航_新一代安全上网导航 http://www.codeproject.com/Articles/636730/Distributed-caching-using-Redis-server-wi ...

  10. poj 2253 Frogger【最小生成树变形】【kruskal】

    Frogger Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 30427   Accepted: 9806 Descript ...