zoukankan      html  css  js  c++  java
  • 用户和用户组管理

    用户一般来说是指使用计算机的人,计算机对针使用其的每一个人给了一个特定的名称,用户就可以使用这些名称来登录使用计算机,除了人之外,一些系统服务也需要含有部分特权的用户账户运行;因此出于安全考虑,用户管理应运而生,它加以明确限制各个用户账户的权限,root在计算机中用拥有至高特权,所以一般只作管理用,非特权用户可以通过SU来临时获得特权,要想实现用户账号的管理,要完成的工作主要有如下几个方面:用户账号的添加删除修改以及用户密码的管理

     用户与组的关系:一对一:一个用户可以存在一个组中;一对多:一个用户可以存在多个组中;

              多对一:多个用户可以存在一个组中;多对多:多个用户可以存在多个组中。

    用户管理:

    1、添加用户 

    语法:#useradd 选项 用户名

    常用选项:

    -g:表示指定用户的用户(主要)组,选项的值可以是用户组的id,也可以是组名

    -G:表示指定用户的用户附加(额外)组,选项的值可以是用户组的id,也可以是组名

    -uuid,用户的id(用户的标识符),系统默认会从1000之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义【类似于腾讯QQ的自选靓号情况】

    -ccomment,添加注释

    -s:指定用户登入后所使用的shell 解释器 【专门的接待员】

    -d:指定用户登入时的启始目录(家目录位置)

    -n:取消建立以用户名称为名的群组

    建立新的用户text1

    [root@localhost ~]# useradd text1
    [root@localhost ~]# tail -1 /etc/passwd
    text1:x:1003:1003::/home/text1:/bin/bash

    /etc/passwd每个字段的指代

    text1:x:1003:1003::/home/text1:/bin/bash

    用户名:用户密码占位符:UID:GID:用户描述:用户主目录:用户登录后使用的shell

    这个格式也就是passwd的格式,需要能够认得。


    shell:  查看系统中,支持哪些shell

     [root@localhost ~]#  cat /etc/shells    #查看系统中,支持哪些shell

    [root@localhost ~]# cat /etc/shells
    /bin/sh
    /bin/bash
    /sbin/nologin
    /usr/bin/sh
    /usr/bin/bash
    /usr/sbin/nologin
    /bin/tcsh
    /bin/csh


    2、修改用户

    语法:#usermod 选项 用户名

    Usermoduser modify,用户修改

    常用选项:

    -g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名

    -G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名

    -uuid,用户的id(用户的标识符),

    -l:修改用户名

    -c<备注>:修改用户帐号的备注文

    -d<登入目录>:修改用户登入时的目录

    -s<shell>:修改用户登入后所使用的shell

    如:将text1更名为text2

    #usermod -l text2 text1    [新名字在前,旧名字在后]


    3、设置密码

    Linux不允许没有密码的用户登录到系统,因此前面创建的用户目前都处于锁定状态,需要设置密码之后才能登录计算机。

    语法:#passwd [用户名] 【如果不指定用户名则修改自己的密码】

    在设置密码的时候也是没有任何输入提示的,放心输入,确保两次输入的密码一致,按下回车即可。

    设置密码之后shadow文件中的体现:能够看出新建立的用户没有密码的。

    [root@localhost ~]# tail -3 /etc/shadow
    he:$6$QHkFb3taJPeFdnmo$RGx3/G78r2oBXt0WwpE1eXNtuCTgwXw6KB6qwPP/7gudGsmrPjTykWiybnLmSVe36ieZHmTka2Hg11j8GsUum.::0:99999:7:::
    mang:$6$jbo.rYFA$ODDMm/IP9AB7jYH/1HSstcjoUecTPgUde.WtHMcv4EuFuAkuv1Up7qNIWuhaEPqPFbi1k/jJ0MO2VwzhcTa5f1:18025:0:99999:7:::
    text1:$6$pq7Jl./L$7XM/SN0sVtsvYieH5KGOsidtJ2xMYhx9CDtG4.3wFjKcJPYSD47YCw7IyYi/1B4iT0tcplvI2rut5Mf16kU60/:18027:0:99999:7:::

    切换用户命令#su [用户名]switch user)

    如果用户名不指定则表示切换到root用户。

    切换用户需要注意的事项:

    a. root往普通用户切换不需要密码,但是反之则需要root密码;

    b. 切换用户之后前后的工作路径是不变的;

    c. 普通用户没有办法访问root用户家目录,但是反之则可以;

    给用户添加密码:

    交互(两次)

    [root@localhost ~]# useradd ge
    [root@localhost ~]# tail -1 /etc/passwd
    ge:x:1004:1004::/home/ge:/bin/bash
    [root@localhost ~]# id ge
    uid=1004(ge) gid=1004(ge) 组=1004(ge)
    [root@localhost ~]# passwd ge
    更改用户 ge 的密码 。
    新的 密码:
    无效的密码: 密码少于 8 个字符
    重新输入新的 密码:

    不交互(一次)

    [root@localhost ~]# useradd chali
    [root@localhost ~]# tail -1 /etc/passwd
    chali:x:1005:1005::/home/chali:/bin/bash
    [root@localhost ~]# echo heping|passwd --stdin chali
    更改用户 chali 的密码 。


    4、删除用户

    语法:#userdel 选项 用户名

    Userdeluser delete(用户删除)

    常用选项:

    -r:表示删除用户的同时,删除其家目录;

    如删除ge用户:

    [root@localhost ~]# userdel -r ge
    [root@localhost ~]# ll /home
    总用量 4
    drwx------.  3 chali chali   78 5月  11 21:30 chali
    drwx------. 18 he    he    4096 5月  11 21:21 he
    drwx------.  5 mang  text   196 5月  10 12:02 text
    drwx------.  5 text1 text1  107 5月  11 21:22 text1

    删除chali用户:

    【root@localhost ~】# userdel -r chali

    [root@localhost ~]# ll /home
    总用量 4
    drwx------. 18 he    he    4096 5月  11 21:21 he
    drwx------.  5 mang  text   196 5月  10 12:02 text
    drwx------.  5 text1 text1  107 5月  11 21:22 text1

    删除完成。


    注意这个表格:

    名 称

    帐号信息

    说 明

    用户配置文件

    /etc/passwd

    记录了每个用户的一些基本属性,并且对所有用户可读,每一行记录对应一个用户,每行记录通过冒号进行分隔

    用户组文件

    /etc/group

    用户组的所有信息存放地儿,并且组名不能重复

    用户对应的密码信息

    /etc/shadow

    因为passwd文件对所有用户是可读的,为安全起见把密码从passwd中分离出来放入这个单独的文件,该文件只有root用户拥有读权限,从而保证密码安全性

  • 相关阅读:
    iOS ARC下命名规则
    performSelector may cause a leak because its selector is unknown
    performSelector may cause a leak because its selector is unknown
    Block的Retain Cycle的解决方法
    Block的Retain Cycle的解决方法
    iOS 5 ARC 入门
    iOS 5 ARC 入门
    Xcode 5 SVN配置
    Python基本语法_基本数据类型_序列类型详解
    Python基本语法_基本数据类型_序列类型详解
  • 原文地址:https://www.cnblogs.com/getbird/p/10850190.html
Copyright © 2011-2022 走看看