• Linux 用户和组信息


    linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号。在使用linux操作系统时候,通常我们会遇到对多用户进行管理。
    比如:

    用户账号的添加、删除、修改

    用户口令的管理

    用户组的管理

    1.新用户的添加

    语法:useradd 选项 用户名

    参数说明:

      -c comment 指定一段注释性描述。

           -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

           -g 用户组 指定用户所属的用户组。

           -G 用户组,用户组 指定用户所属的附加组。

           -s Shell文件 指定用户的登录Shell。

           -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

    useradd -d /home/ztl -m ztl

    解释:此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。

    useradd -s /bin/sh -g group -G adm,root gem

    解释:此命令新建了一个用户gem,该用户的登录Shell是 /bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。

    这里可能新建组:#groupadd group:groupadd adm

    增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。

    Linux提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理。

    2.查看用户、用户组

    cat /etc/passwd     #可以查看所有用户的列表
    
    w                   #可以查看当前活跃的用户列表
    
    cat /etc/group      #查看用户组
    groups   #查看当前登录用户的组内成员
    
    groups   #test 查看test用户所在的组,以及组内成员
    
    whoami   #查看当前登录用户名

    3.删除账号

    如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。

    userdel 选项 用户名

    常用的选项是 -r ,它的作用是把用户的主目录一起删除。

    userdel -r ztl

    解释:此命令删除用户ztl在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。

    4.修改账号

    修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。

    修改已有用户的信息使用usermod命令,其格式如下:

    usermod 选项 用户名

    常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。

    另外,有些系统可以使用选项:-l 新用户名

    这个选项指定一个新的账号,即将原来的用户名改为新的用户名。

    例如:

    usermod -s /bin/ksh -d /home/z -g developer sam

    解释:此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z  用户组改为developer

    5.用户口令管理

    用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。

    指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:

    passwd 选项 用户名

    可使用的选项:

    • -l 锁定口令,即禁用账号。
    • -u 口令解锁。
    • -d 使账号无口令。
    • -f 强迫用户下次登录时修改口令。

    如果默认用户名,则修改当前用户的口令。

    例如,假设当前用户是sam,则下面的命令修改该用户自己的口令:

    $ passwd

    如果是超级用户,可以用下列形式指定任何用户的口令:

    # passwd sam

    演示:

    复制代码
    [root@admin ~]# passwd sam
    Changing password for user sam.
    New password:
    BAD PASSWORD: it is too simplistic/systematic
    BAD PASSWORD: is too simple
    Retype new password:
    passwd: all authentication tokens updated successfully.
    复制代码

    上面例子提示:密码太简单,不用管它,继续输入密码就OK了。

    普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。

    为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。

    为用户指定空口令时,执行下列形式的命令:

    # passwd -d sam

    此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再询问口令。

    passwd命令还可以用-l(lock)选项锁定某一用户,使其不能登录,例如:

    # passwd -l sam

    原文出处:https://www.cnblogs.com/selectztl/p/9523151.html

    Linux用户、用户组、文件权限学习笔记
    参考网址:http://www.sourcejoy.com/other_dev_tech/linux-user-and-file-manage.html

    最近打算更仔细学习一下linux操作系统。先是恶补了一下用户、用户组、文件权限这三样比较重要的知识。
    学习这几样东西,得先掌握linux的权限系统相关知识。
    linux的权限系统主要是由用户、用户组和权限组成。
    用户就是一个个的登录并使用linux的用户。linux内部用UID表示。
    用户组就是用户的分组。linux内部用GID表示。
    权限分为读、写、执行三种权限。

    linux的用户信息保存在/etc/passwd文件中,另外,/etc/shadow文件存放的是用户密码相关信息。

    /etc/passwd文件格式:
    用户名:密码:UID:GID:用户信息:HOME目录路径:用户shell
    其中UID为0则是用户root,1~499为系统用户,500以上为普通用户

    /etc/shadow保存用户密码信息,包括加密后的密码,密码过期时间,密码过期提示天数等。

    用户组信息保存在/etc/group文件中.
    格式如下:
    用户组名:组密码:GID:组内帐号(多个帐号用逗号分隔)

    用户登录后,/etc/passwd文件里的GID为用户的初始用户组。
    用户的初始用户组这一事实不会再/etc/group中体现。

    查看当前用户的用户组命令:
    [root@local opt]#groups
    root bin daemon sys adm disk wheel
    输出的信息中,第一个用户组为当前用户的有效用户组(当前用户组)

    切换有效用户组命令:
    [root@local opt]#newgrp 用户组名
    要离开新的有效用户组,则输入exit回车。

    新建用户命令:
    [root@local opt]#useradd 用户名 -g 初始用户组 -G 其他用户组(修改/etc/group) -c 用户说明 -u 指定UID

    建完用户需要为用户设置密码:
    [root@local opt]#passwd 用户名

    用户要修改自己密码命令:
    [root@local opt]#passwd

    修改用户信息命令:
    [root@local opt]#usermod 参数 用户名
    参数:
     -c 说明
     -g 组名 初始用户组
    -e 过期日期 格式:YYYY-MM-DD
     -G 组名 其他用户组
     -l 修改用户名
     -L 锁定账号(在/etc/shadow文件中用户对应密码密码串的前面加上两个叹号(!!))
     -U 解锁

    删除用户命令:
    [root@local opt]#userdel [-r] 用户名
    其中,参数-r为删除用户的home目录。
    其实,可能在系统其他地方也有该用户文件,要完整删除一个用户和其文件要先找到属于他的文件:
    [root@local opt]#find / -user 用户名
    然后删除,再运行userdel删除用户。

    查看可用shell命令:
    [root@local opt]#chsh -l
    修改自己的shell命令:
    [root@local opt]#chsh -s

    查看自己或某人UID/GID信息:
    [root@local opt]#id [用户名]
    返回信息中groups为有效用户组

    新增用户组命令:
    [root@local opt]#groupadd 用户组名

    修改用户组名命令:
    [root@local opt]#groupmod -n 名称

    删除用户组命令:
    [root@local opt]#groupdel 用户组名

    设置用户组密码命令:
    [root@local opt]#gpasswd 用户组名

    如果gpasswd加上参数则有其他功能

    设置用户组管理员命令:
    [root@local opt]#gpasswd -A 用户名 用户组名

    添加某帐号到组命令:
    [root@local opt]#gpasswd -M 用户名 用户组名

    从组中删除某帐号命令:
    [root@local opt]#gpasswd -d 用户名 用户组名

    passwd相关参数操作:
    -l 锁用户
    -u 解锁用户
    -n 天数  密码不可改天数
    -x 天数  密码过期天数
    -w 天数  警告天数

     文件权限知识

    先看个实例:
    [root@local opt]#ls -al
    ls -al 命令是列出目录的所有文件,包括隐藏文件。隐藏文件的文件名第一个字符为'.'
    -rw-r--r--  1 root root    81 08-02 14:54 gtkrc-1.2-gnome2
    -rw-------  1 root root   189 08-02 14:54 ICEauthority
    -rw-------  1 root root    35 08-05 10:02 .lesshst
    drwx------  3 root root  4096 08-02 14:54 .metacity
    drwxr-xr-x  3 root root  4096 08-02 14:54 nautilus

    列表的列定义如下:
    [权限属性信息] [连接数] [拥有者] [拥有者所属用户组] [大小] [最后修改时间] [文件名]

    权限属性列表为10个字符:
    第一个字符表示文件类型,d为目录 -为普通文件 l为连接 b为可存储的接口设备 c为键盘鼠标等输入设备
    2、3、4个字符表示所有者权限,5、6、7个字符表示所有者同组用户权限,8、9、10为其他用户权限
    第二个字符表示所有者读权限,如果有权限则为r,没有权限则为-
    第三个字符表示所有者写权限,如果有权限则为w,没有权限则为-
    第四个字符表示所有者执行权限,如果有权限则为x,没有权限则为-
    第五个字符表示所有者同组用户读权限,如果有权限则为r,没有权限则为-
    第六个字符表示所有者同组用户写权限,如果有权限则为w,没有权限则为-
    第七个字符表示所有者同组用户执行权限,如果有权限则为x,没有权限则为-
    第八个字符表示其他非同组读权限,如果有权限则为r,没有权限则为-
    第九个字符表示其他非同组写权限,如果有权限则为w,没有权限则为-
    第十个字符表示其他非同组执行权限,如果有权限则为x,没有权限则为-

    修改文件所属组命令:
    [root@local opt]#chgrp [-R] 组名 文件名
    其中-R为递归设置

    修改文件的所有者和组命令:
    [root@local opt]#chown [-R] 用户[:用户组] 文件名

    修改文件访问权限命令:
    [root@local opt]#chmod [-R] 0777 文件名

    至此,用户、文件和权限相关的东西,就总结个7788了,接下来的就是,平常要敢于用各种命令,勤于看看本篇总结啦。
    ====================================================================
    linux 查看用户及用户组的方法
    whois
    功能说明:查找并显示用户信息。
    语  法:whois [帐号名称]
    补充说明:whois指令会去查找并显示指定帐号的用户相关信息,因为它是到Network Solutions 的WHOIS数据库去查找,所以该帐号名称必须在上面注册方能寻获,且名称没有大小写的差别。
    ---------------------------------------------------------
    whoami
    功能说明:先似乎用户名称。
    语  法:whoami [--help][--version]
    补充说明:显示自身的用户名称,本指令相当于执行"id -un"指令。
    参  数:
    --help  在线帮助。
    --version  显示版本信息。
    ---------------------------------------------------
    who
    功能说明:显示目前登入系统的用户信息。
    语  法:who [-Himqsw][--help][--version][am i][记录文件]
    补充说明:执行这项指令可得知目前有那些用户登入系统,单独执行who指令会列出登入帐号,使用的    终端机,登入时间以及从何处登入或正在使用哪个X显示器。
    参  数:
    -H或--heading  显示各栏位的标题信息列。
    -i或-u或--idle  显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串。
    -m  此参数的效果和指定"am i"字符串相同。
    -q或--count  只显示登入系统的帐号名称和总人数。
    -s  此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题。
    -w或-T或--mesg或--message或--writable  显示用户的信息状态栏。
    --help  在线帮助。
    --version  显示版本信息。
    ----------------------------------------------------
    w
    功能说明:显示目前登入系统的用户信息。
    语  法:w [-fhlsuV][用户名称]
    补充说明:执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w
    指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。
    参  数:
    -f  开启或关闭显示用户从何处登入系统。
    -h  不显示各栏位的标题信息列。
    -l  使用详细格式列表,此为预设值。
    -s  使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。
    -u  忽略执行程序的名称,以及该程序耗费CPU时间的信息。
    -V  显示版本信息。
    -----------------------------------------------------
    finger命令
    finger 命令的功能是查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。如果要查询远程机上的用户信息,需要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程。
    该命令的一般格式为:
    finger [选项] [使用者] [用户@主机]
    命令中各选项的含义如下:
    -s 显示用户的注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。
    -l 除了用-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下的.plan、.project和.forward文件的内容。
    -p 除了不显示.plan文件和.project文件以外,与-l选项相同。 
    [例]在本地机上使用finger命令。
    $ finger xxq
    Login: xxq Name:
    Directory: /home/xxq Shell: /bin/bash
    Last login Thu Jan 1 21:43 (CST) on tty1
    No mail.
    No Plan. 
    $ finger
    Login Name Tty Idle Login Time Office Office Phone
    root root *1 28 Nov 25 09:17
    ……
    ------------------------------------------------------------------
    /etc/group文件包含所有组
    /etc/shadow和/etc/passwd系统存在的所有用户名
    修改当前用户所属组的方法
    usermod 或者可以直接修改 /etc/paaawd文件即可
    ----------------------------------------------------------------
    vlock(virtual console lock)
    功能说明:锁住虚拟终端。
    语  法:vlock [-achv]
    补充说明:执行vlock指令可锁住虚拟终端,避免他人使用。
    参  数:
    -a或--all  锁住所有的终端阶段作业,如果您在全屏幕的终端中使用本参数,则会将用键盘
    切换终端机的功能一并关闭。
    -c或--current  锁住目前的终端阶段作业,此为预设值。
    -h或--help  在线帮助。
    -v或--version  显示版本信息。
    --------------------------------------------------------
    usermod
    功能说明:修改用户帐号。
    语  法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s ][-u ][用户帐号]
    补充说明:usermod可用来修改用户帐号的各项设定。
    参  数:
    -c<备注>  修改用户帐号的备注文字。
    -d登入目录>  修改用户登入时的目录。
    -e<有效期限>  修改帐号的有效期限。
    -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
    -g<群组>  修改用户所属的群组。
    -G<群组>  修改用户所属的附加群组。
    -l<帐号名称>  修改用户帐号名称。
    -L  锁定用户密码,使密码无效。
    -s  修改用户登入后所使用的shell。
    -u  修改用户ID。
    -U  解除密码锁定。
    -------------------------------------------------------
    userdel
    功能说明:删除用户帐号。
    语  法:userdel [-r][用户帐号]
    补充说明:userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。
    参  数:
    -f  删除用户登入目录以及目录中所有文件。
    ----------------------------------------------------------
    userconf
    功能说明:用户帐号设置程序。
    语  法:userconf [--addgroup <群组>][--adduser <用户ID><群组><用户名称>][--delgroup <群组>][--deluser <用户ID>][--help]
    补充说明:userconf实际上为linuxconf的符号连接,提供图形界面的操作方式,供管理员建立与管理各类帐号。若不加任何参数,即进入图形界面。
    参  数:
    --addgroup<群组>  新增群组。
    --adduser<用户ID><群组><用户名称>  新增用户帐号。
    --delgroup<群组>  删除群组。
    --deluser<用户ID>  删除用户帐号。
    --help  显示帮助。
    ------------------------------------------------------
    useradd
    功能说明:建立用户帐号。
    语  法:useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ][-u ][用户帐号] 或 useradd -D [-b][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ]
    补充说明:useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。
    参  数:
    -c<备注>  加上备注文字。备注文字会保存在passwd的备注栏位中。 
    -d<登入目录>  指定用户登入时的启始目录。
    -D  变更预设值.
    -e<有效期限>  指定帐号的有效期限。
    -f<缓冲天数>  指定在密码过期后多少天即关闭该帐号。
    -g<群组>  指定用户所属的群组。
    -G<群组>  指定用户所属的附加群组。
    -m  自动建立用户的登入目录。
    -M  不要自动建立用户的登入目录。
    -n  取消建立以用户名称为名的群组.
    -r  建立系统帐号。
    -s   指定用户登入后所使用的shell。
    -u  指定用户ID。

  • 相关阅读:
    锁相环(PLL)的IP核调取及应用详解
    进阶项目(3)UART串口通信程序设计讲解
    基础项目(2)二选一数据选择器的设计
    读写储存器RAM IP核的调取及应用
    进阶项目(1)字符状态机讲解
    基础项目(1) 流水灯项目讲解
    只读储存器ROM IP核的调取及应用
    常见的关系运算符(移位运算符)
    常见的关系运算符(缩减运算符)
    乱七八糟
  • 原文地址:https://www.cnblogs.com/sucretan2010/p/11684639.html
Copyright © 2020-2023  润新知