• Ubuntu用户相关基本命令


    Linux是一个用户权限管理得很严格的系统,Ubuntu作为最受欢迎的桌面发行版,提供了简单易用的图形界面工具来管理用户,但是命令行工具往往更强大,用得熟练的话效率会更高。用户管理命令常用的有如下几个:


    useradd 这个命令用于添加用户,相比图形界面工具,它可以指定用户文件夹,所属群组等。如果执行useradd -D不加任何其它参数,bash将返回当前创建用户的默认选项,如果附加其他参数,那么这个命令就会把新建用户的默认配置更新到当前值。-p选项可以设置 密码,-s选项可以设定shell,-u选项可以设定UID。

    userdel 这个命令用于删除用户,如果不加附加参数,则默认只删除用户,如果加上-r参数,则同时删除用户目录和用户帐户。

    passwd 这个命令用于修改用户密码,也可以修改群组密码。常用附加参数如下:
    -l 效果相当于usermod -L,会禁用用户账户,需要root权限。
    -u 效果相当于usermod -U,用于回复被禁用的账户,需要root权限。
    -g 修改组密码。
    -d 关闭用户的密码认证功能,使其在登录时不需要输入密码,需要root权限。

    usermod 这个命令用于更改用户属性,-s可以更改用户shell,-u可以更改UID,如果用户已登录,就不可以更改用户属性。

    chsh 这个命令用于更改用户的shell。

    w 这个如此简单的命令可以返回系统当前登录用户的详细状态,如果w username就可以返回特定用户的状态。

    ac 这个命令可以返回用户总的连接时间,它从/var/log/wtmp文件中获取信息,这个命令貌似Ubuntu没有自带,需要安装acct软件包。

    last 这个命令从/var/log/wtmp中获取信息,可以列出从该文件创建起所有用户的登录记录。

    lastb 这个命令可以列出所有登录失败的记录,在系统安全方面有一定作用。

    Ubuntu下用户管理命令基本就是这么多,熟练掌握会比图形界面效率高很多。

    来源:http://www.shunix.com/ubuntu-users-admin-681/

    UBUNTU 用户及用户组管理

    创建组:

    Java代码  收藏代码
    1. $sudo addgroup ccache  

    创建用户:

    Java代码  收藏代码
    1. $sudo useradd ccache -g ccache -M  

    创新wfz用户并创建HOME目录,指定用户组为ccache

    Java代码  收藏代码
    1. $sudo useradd wfz -g ccache -m  

    增加已存在用户到指定组

    Java代码  收藏代码
    1. $sudo adduser $USER ccache  
    2. $sudo adduser dbh ccache  
    3. $sudo adduser paul ccache  
    4. $sudo adduser wfz ccache  

    显示用户ID及组信息:

    Java代码  收藏代码
    1. ~$ id  
    2. uid=1001(dbh) gid=1001(dbh) groups=115(admin),1001(dbh)  
    3. $ cat /etc/group  
    4. ccache:x:1002:dbh,paul,wfz  

    1. 用户和用户组的管理:

    Linux的多用户概念是指多个用户同时可以使用这个系统。

    (1)用户帐号文件——passwd

    Passwd 是一个文本文件(每一行标识1个用户),定义了系统的用户帐号,该文件位于“/etc”目录下。文件中包含了一个系统帐户列表,存放了每个账户一些有用的 信息,如用户ID,组ID,主目录,shell等等(用“:”分隔开来)。只定义了用户帐号,而不保存口令(用“x”表示,如果没有 sun::则表示没有密码)。真正的密码存放在Shadow文件中,普通用户根本不能读,加密后的密文无法读到就可以提高用户帐号的安全性。

    例如:

    Java代码  收藏代码
    1. [root@sun root]# head /etc/passwd  

    root:x:0:0:root:/root:/bin/bash 表示有7个字段:登录名:有无口令:用户ID:组ID:账户备注信息:用户Home目录:登录时用户shell的名称(超级用户有权限修改)

    (2)用户口令文件——shadow

    每行定义了一个用户信息,行中各字段用:分开,为进一步提高安全性,口令文件存放用户已经加密的口令:*,特殊符号

    Java代码  收藏代码
    1. [root@sun root]# head /etc/shadow  

    登录名:加密的口令(用*或其他特殊字符表示):上次更改口令距离1970.1.1的天数:口令更改后不可更改的天数:口令更改后必须再更改的天数(有效期):口令失效前警告用户的天数:口令失效后距帐号被查封的天数:帐号被封时距1970.1.1的天数:保留未用。

    (3)用户组帐号文件——group

    用户组:逻辑的组织用户帐号的集合的方式,用户允许在其组内共享文件,系统每个文件都有一个用户和附属的用户组。使用“ls -l”命令可以查看每个文件的属性和组。

    Java代码  收藏代码
    1. [root@sun root]# head /etc/group  

    root:x:0:root,tom,mary (组名:组加密口令:GID:组成员列表(用,隔开的每个组用户名))

    (4)用户组口令文件——gshadow

    用于定义用户组口令,用户组管理员信息。该文件只有超级用户root才可以读取

    每行记录信息:

    Java代码  收藏代码
    1. [root@sun root]# head /etc/gshadow  

    用户组:用户组加密口令:组管理员帐号(管理员有权进行增删帐号):组成员列表

    2. 用户和用户组账户维护的命令:

    (1)增加用户账户:useradd 用户名

    useradd –g 组名 用户名 指定该用户所使用的私有组名,默认是与用户帐号同名的私有组。

    useradd –D [-g group][-b base][-s shell][-f inactive][-e expire] 用于显示和设置useradd该命令所使用的默认值。

    例如:#useradd sun //建立用户帐号

    #tail -l /etc/passwd //查询passwd中添加的用户账户的信息

    #tail –l /etc/shadow

    #ls /home //查看所建立帐号的主目录

    (2)修改用户帐号属性:usermod [-LU][-c ][-d ][-e ][-f ][-g ][-G][-l][-s][-u][用户帐号]

    (3)删除用户帐号:userdel [-r][用户帐号] //如果不加参数则只删除用户帐号,不删除文件,否则两者都删除。

    userdel [-r][用户帐号] //-r用来删除帐号登入目录和目录中所有文件

    举例:#grep sun /etc/passwd //查询用户帐号sun是否存在

    #userdel sun //删除用户帐号sun

    #grep sun /etc/passwd //再次查询用户帐号sun是否存在

    #ll –d /home //查询用户sun主目录是否存在

    #userdel –r sun //删除用户的同时,删除其工作主目录

    (4) 增加用户组帐号:groupadd [-r][组帐号]

    【注意】帐号ID唯一,数值不可为负,预设最小值不得小于500,且每增加一个,组帐号ID逐次自增1。其中-r参数是用来建立系统帐号的。0~499是给系统帐号准备的。

    举例:#groupadd magicSun //建立组账户magicSun

    #grep magicSun /etc/group //查询group文件中magicSun组账户是否建立

    #groupadd –r sysWang //建立系统组账户sysWang

    #grep sysWang /etc/group //查询group文件中sysWang系统组账户是否建立

    (5)修改组帐号:groupmod [-g ][-n][群组名称]

    其中-o表示重复使用群组识别码

    (6)删除组帐号:groupdel [群组名称]

    【注意】必须先删除组中的用户才能删除该组

    (7) 口令维护:passwd [-s][-l][-u][-d][用户名] 超级用户可以为每一位新增的用户设置口令,普通用户只能用不带参数的passwd命令来修改自己的口令。其中参数-s表示用于查询指定用户帐号的状 态,-l用户锁定帐号的口令,-u解锁帐号口令,-d删除指定帐号的口令。

    (8)组用户成员维护:将一个账户添加到组、或将一个账户从组中删除、将一个账户设为组管理员。

    添加用户到组:gpasswd –a 用户帐号名 组帐号名

    从组中删除用户:gpasswd –d用户帐号名 组帐号名

    设置用户为组管理员:gpasswd –A 组管理员用户列表 用户组

    (9)用户和组的状态命令:

    id [选项] [用户名称] 用于显示用户当前UID,gid以及所属群组的组列表

    [选项]参数有:

    -g :显示用户所属群组的id

    -G:显示用户所属附加群组的id

    -n:显示用户所属群组或附加群组的名称

    -r:显示实际ID

    -u:显示用户ID

    whoami 用于显示登录者自身的名称(=id -un)

    su [-flmp] [-][-c ][-s][用户帐号] //用来将当前用户转换为其他用户身份,暂时变更自己的登录身份,用其他人的身份来登录系统。前提是必须知道对方的口令。其中参数-c表示执行完指定的指 令后恢复原来的身份。-f适用于csh和tsch,使shell不用去读取启动文件。-表示改变身份时也同时变更工作目录,以及 HOME,SHELL,USER,LOGNAME,此外也会变更PATH环境变量。-m,-p 变更身份时不变更环境变量。-s 指定要执行的shell。若不指定要变更的用户账户,那么预设为root超级用户。

    groups [用户名称] 用于显示指定用户所属的组,若未指定用户则显示当前用户所属组

    来源:http://my.oschina.net/zhangqingcai/blog/32094

    更多: https://help.ubuntu.com/13.04/serverguide/user-management.html

    runlevel

    查看当前的运行级别,Ubuntu 桌面默认是2。

    runlevel

    Ubuntu 的系统运行级别:

    0        系统停机状态
    1        单用户或系统维护状态
    2~5      多用户状态
    6        重新启动 
    S
    

    切换运行级别,执行命令:

    init [0123456Ss]

    即在 init 命令后跟一个参数,此参数是要切换到的运行级的运行级代号,如:用 init 0 命令关机;用 init 6 命令重新启动。

    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命令。

    Java代码  收藏代码
    1. $ finger xxq  
    2. Login: xxq Name:  
    3. Directory: /home/xxq Shell: /bin/bash  
    4. Last login Thu Jan 21:43 (CST) on tty1  
    5. No mail.  
    6. No Plan.   
    7. $ finger  
    8. Login Name Tty Idle Login Time Office Office Phone  
    9. root root *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  显示版本信息。


    --------------------------------------------------------

    1、id 工具: 查询用户所对应的UID 和GID 及GID所对应的用户组;

    id 工具是用来查询用户信息,比如用户所归属的用户组,UID 和GID等;id 用法极为简单;我们举个例子说明一下;语法格式: id [参数] [用户名]

    至于有哪些参数,自己查一下 id --help 或man id ;如果id后面不接任何参数和任何用户,默认显示当前操作用户的用户名、所归属的用户组、UID和GID等;

    实例一:不加任何参数和用户名;

    Java代码  收藏代码
    1. [beinan@localhost ~]$ id  
    2. uid=500(beinan) gid=500(beinan) groups=500(beinan)  

    注解:在没有加任何参数的情况下,查询的是当前操作用户的用户名、UID 、GID 和所处的主用户组和附属用户组;在本例中,用户名是beinan,UID是500,所归属的主用户组是beinan,GID是500 ;


    实例二: id 后面接用户名;

    如果我们想查询系统中用户的UID和GID 相应的内容,可以直接接用户名,但用户名必须是真实的 ,能在/etc/passwd中查到的;

    Java代码  收藏代码
    1. [beinan@localhost ~]$ id linuxsir  
    2. uid=505(linuxsir) gid=502(linuxsir) groups=502(linuxsir),0(root),500(beinan)  

     

    注解:查询用户linuxsir 的信息,用户linuxsir ,UID 为505,所归属的主用户组是linuxsir,主用户组的GID是502;同时linuxsir用户也是GID为0的root用户组成员,也是GID为500用户组beinan的成员;

    这个例子和实例一在用户组方面有所不同,我们在 《Linux 用户(user)和用户组(group)管理概述》 中有提到;用户和用户组的对应关系,可以是一对一、一对多、多对一、或多对多的交叉关系,请参考之;另外您还需要掌握《用户(user)和用户组 (group)配置文件详解》一文;

  • 相关阅读:
    HTML DOM教程 14HTML DOM Document 对象
    HTML DOM教程 19HTML DOM Button 对象
    HTML DOM教程 22HTML DOM Form 对象
    HTML DOM教程 16HTML DOM Area 对象
    ubuntu 11.04 问题 小结
    VC6.0的 错误解决办法 小结
    boot.img的解包与打包
    shell里 截取字符串
    从零 使用vc
    Imagemagick 对图片 大小 和 格式的 调整
  • 原文地址:https://www.cnblogs.com/legend-song/p/4105467.html
Copyright © 2020-2023  润新知