Solaris 用户管理

来源:互联网 发布:日照分析软件 编辑:程序博客网 时间:2024/05/20 02:54

[题内的话]
一台新机器安装好Solaris操作系统后,默认只创建了超级用户root。出于安全设计,我们无法以root用户ssh远程连接该机器。此时就要以root用户,给普通用户、应用程序添加user和group。然后再以普通用户切换(su)到超级用户。以下是命令模式下创建用户和用户组的过程。

  
[执行环境]
OS: Solaris 5.10
User: root

  
[配置文件]
/etc/passwd    存放用户的账号信息
/etc/shadow    存放密码相关信息,如密码过期时间等控制策略
/etc/group       组配置信息

 
[执行过程]
1、添加用户组
groupadd [-g gid] groupName
说明:-g                    指定一个新的组ID号(不能与现有的组ID号重复)
         groupName   组名
实例:#groupadd -g 102 colleagues

注:此时/etc/group文件被更新,添加了gid为102的组:colleagues

 


2、添加用户
useradd [-u uid | -g group] | -d dir | -s shell | -c comment | -m [-k skel_dir] ] login
说明: -u          指定一个新的用户ID号(不能与现有的用户ID号重复)
           -g          用户所在的组名(groupName)
           -d          指定的默认主目录位置
           -s          默认启动的shell环境,如/bin/bash
           -c          对该userName的注释说明(可略去这一项)
           -m         建立home目录
           -login   用户名(userName)
实例:
#useradd -u 1022 -g colleagues -m -d /export/home/frank -s /bin/bash -c "Frank Cheung" frank
注:此时/etc/passwd文件被更新,添加了uid为1022的用户:frank
      另外,创建了新用户就要给它设置密码,方法是,在root用户下执行:passwd userName 

 
3、修改用户组
groupmod [-g gid [-o]] [-n new_group_name] groupName
说明:-g         指定一个gid
          -n        指定新的组名
          groupName        被修改的组名
实例:
#groupmod -g 105 -n friends colleagues
注:此时/etc/group文件中colleagues组名被更新为friends组名了

 
4、修改用户
 usermod [-u uid [-o]] [-g group] [-G group,...]
                [-d 主目录 [-m]] [-s shell] [-c 注释] [-l 新名称]
                [-f 失效日] [-e 过期日] [-L|-U] 用户名
说明: -c    comment
           -d    home_dir
           -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
           -u    uid用户ID值。必须为唯一的ID值,除非用-o选项。数字不可为负值
实例:
#usermod -u 1055 -g 102 -l thomas -c "Thomas Cruise" -d /export/home/thomas -e 12/31/2099 -f 0 -s /bin/csh frank
注:此时/etc/passwd文件中frank用户被更新了

 

 5、删除用户组
groupdel groupName
实例:
#groupdel colleagues
注:此时/etc/group文件中colleagues组被删掉了

 
6、删除用户
userdel [-r] userName
说明:-r          删除用户主目录(必须保证该用户的进程都不存在,否则删不掉)
实例:
#userdel frank
注:此时/etc/passwd文件中frank用户被删掉了

 

 

 

 

(PS: 部分参考自互联网)

 

原创粉丝点击