用户和用户组管理

Linux是一个多用户、多任务操作系统。多用户特性允许多人在Linux中创建独立的账户来确保用户个人数据的安全性。而多任务机制允许多个用户同时登录,同时使用系统的软硬件资源。

Linux用户被划分为两类:一类是根用户(root用户),也称为超级用户;另一类是普通用户。根用户是系统的所有者,对系统拥有最高的权利,可以对所有文、目录进行访问,可执行系统中的所有程序而不管文件、目录和程序的所有者同意与否。普通用户的权限有系统管理员创建时赋予。普通用户通常只能管理属于自己的主文件,或者组内共享及完全共享的文件。根用户与Windows系统中administrator地位相当,但根用户在Linux系统中是惟一的,且不允许重新命名。

一、普通用户的管理

  1. 添加新用户

(1)设置用户名及密码

(2)设置用户的UID

(3)添加该新用户所属用户组。每个用户都会有属于一个或多个用户组,系统添加新用户时默认添加的用户组名与新用户名相同,同时会赋予该用户组一个GID,通常GID的编号与GID的编号相同

(4)创建以新用户的用户名为名称的主目录。在大多数系统中,用户的主目录都被创建在同一个特定目录下,eg:/home。

(5)设定用户的Shell环境,默认是/bin/bash。

(6)设定用户的失效时间,默认是99999天后

(7)设定失效前发出警告的天数,默认是失效前7天

管理员可使用useradd命令来添加一个新的用户

useradd [-c comment] [-d home_dir] [-e expire_date] [-f inactive_time] [-g initial_group]
[-G group[,...]] 
useradd -D[-g default_group] [-b default_home] [-f default_group] [-e default_expire_date]
[-s default_Shell]
  •  c comment:用户的注释说明。
  • -d home_dir:用户每次登陆系统时所使用的登陆目录
  • -e expire_date:账号失效 日期。
  • -f inactive_days:设定从账号过期到永久停用的天数。
  • -g initial_group:用户默认的用户组或默认的组ID
  • -G group[,...]:设定该用户为若干用户组的成员
  • -m:用户目录不存在则自动建立
  • -M:不建立用户主目录,使用/etc/login.defs系统文件对用户进行设定
  • -n:系统默认用户组名称与用户名称相同。
  • -r:此参数用来建立系统账号。
  • -Shell default_Shell:指定用户的登陆Shell,系统默认为/bin/bash
  • -u uid:用户的UID值 
    //使用useradd命令修改系统默认值
    #useradd -D -s /bin/csh
    #useradd -D    //显示默认值/bin/bash
    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/csh  //默认Shell已改为/bin/csh
    SKEL=/etc/skel
    CREATE_MAIL_SPOOL=no
    
    

    EG

    :添加一个新用户student2,UID为502,用户组ID为100,用户目录为/home/student2,用户的默认Shell为/bin/bash,账号失效日期为2018年11月11日

#useradd student2 -u 502 -d /home/student -s /bin/bash -s 11/11/18 -g 100

2.修改用户的账号

       1)修改用户基本信息

            可使用usermod命令,其命令格式和useradd类似

       2)修改用户密码

             指定和修改用户密码的命令是passwd。根用户不仅可以修改自己的密码,还可以修改其他用户的密码;普通用户则只能修改自己的密码

              passwd命令的格式为

passwd [-k] [-l] [-u] [-f] [-d] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays]
[-S] [username]

      
        usermod -L westos ### 在用户密码前加入“!”
        usermod -U westos

  • -k:表示只有密码过期才需要用户重新设定密码
  • -l:通过在用户的密码字段前加前缀“!”,对用户进行锁定。锁定的用户无法登陆系统,该命令只有根用户有权使用                        例如:锁定student用户命令为
    #passwd -l student

        passwd -e westos ###会改变用户最后一次更改密码时间为0.
                ##用户在登陆时会被强制更改密码
            change -d westos ##两个命令功能类似
        密码最短有效期:
            chage -m 1 westos
            passwd -n 1  westos###westos用户在1天之内不能修改密码
        密码最长有效期:
            passwd -x 30 westos##设定westos在30天内必须该密码
            chage -W 40 westos
        密码警告期限:
            passwd -w 2 westos ###密码过期前有两天有警告输出
            chage -M
        用户非活跃期限:
            passwd -i 1 westos ###密码过期后仍可登陆系统的天数
            chage -I 1 westos
        用户到期日:
            chage -E 2018-11-11 westos ##westos用户在2018-11-11不能使用
        用户自定义列,目前没有启用

-S:显示指定用户的当前密码状态                                                                                                                                                                                                                                                                                                                                                  如果根用户修改普通用户的密码,无需知道普通用户的原始密码                                                                                               

#passwd student      //修改student用户密码
Changing password for user student
New UNIX password:
Retype new UNIX password:
passwd:all authentication tokens updated successfully

密码应是字母、数字及符号的组合,不应小于5个字符长例如:

#passwd student
Changing password for user student
New UNIX password:          //输入3位密码
BAD PASSWORD:it is WAY too short      //密码过短
Retype new UNIX password:
passwd:all authentication tokens updated succsaafully  //密码过短但已经生效
##passwd student
Changing password for user student
New UNIX password:
BAD PASSWORD:it is too simplistic         //密码过于简单
Retype new UNIX password:
passwd:all authentication tokens updated succsaafully//密码过于简单但已生效

3.删除用户

   用userdel命令

    命令格式为       userdel [-r] login

如果不加选项“-r”,则只能删除用户在系统中的账户信息,用户的主目录及相关文件依然保留在系统当中。加“-r”,则可将用户目录下的文档全部删除,同时该用户放在其他位置的文档也会被一一找出并删除

删除用户前应检查系统中是否还有该用户的相关进程正在运行。如果存在该用户哦的进程,则需等待其执行完或直接终止该用户进程。例如:可以使用ps或者top命令对进程进行查看,并使用kill命令终止该用户进程:

#ps -aux | grep "student"
student 4001 0.0 0.5 4712 666 ? S 12:15 0:00 studentproc
#kill 4001

 4  .用户的临时禁用

 如果不想删除用户,只是临时禁用该用户登陆系统,可以通过对/etc/paawd或/etc/shadow文件进行修改来实现,例如,可以直接丢该/etc/passwd文件中希望禁用的用户记录行,在该用户行 的行首添加“#”;也可以修改/etc/shadow文件中的密码字段,在希望禁用的用户所对应的密码字段前添加“*”或“!”:如果想重新启用该用户,只需恢复上面所做的操作。    

二、根用户的管理

1.修改root密码  

   使用passwd命令对其进行修改

#passwd root
Changing password for user root
New password:         
Retype new password:
passwd:all authentication tokens updated succsaafully 

2.使用su命令切换为root

    su - 用户名称
               su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境
               su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要
               注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户

$whoami     //显示当前用户的用户名
teacher
$su          //切换为跟用户
Password:
#whoami
root
#exit    //返回到用户teacher
$whoami
teacher
$su student //切换到student用户
Password:
$whoami
student

三、用户组的管理

1.添加新用户组            

可以使用groupadd 命令记性用户组的添加,其命令格式如下:

groupadd [-g GID [-o]] [-r] 
  • -g GID :组的GID,除非是用了-o选项,否则该值在系统中必须唯一且不能为负。该值应大于499且大于系统中已存在的任何组的GID值

  • -o  :允许指定不唯一的GID ,即用新的标识符取代原用户组的标识符        

  • -r创建小于500的系统组。

2.修改用户组属性

修改用户组属性的命令是groupmod

groudmod [-g GID [-o]] [-n new group name] group
  • -g GID :为用户组指定新的GID ,除非是用了-o选项,否则该值在系统中必须唯一且不能为负。该值应大于499且大于系统中已存在的任何组的GID值      
  • -n:更改用户组名称  

3.删除用户组

用groupdel命令

四、用户权限下放sudo

sudo能把某些超级权限针对性的下方,并且不需要普通用户知道 root密码,所以sudo相对于权限不限制的su来说,还是比较安全的

vim /etc/sudoers   无语法检测

visudo               有语法检测

                                          

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值