Linux中用户管理常用的命令 |
您所在的位置:网站首页 › linux中修改用户密码的命令是什么 › Linux中用户管理常用的命令 |
用户管理主要包含对用户的添加、删除和属性修改,用户组的添加、删除,用户所属用户组的添加、删除和属性修改。 主要的命令有useradd、userdel、usermod、groupadd、groupdel、groupmod、passwd。 用户组权限实例 先直接抛一个需求出来吧!先步骤完成了,后面再分析。 授权用户 chongshi 和 bugmaster 对目录/cnblogs有写权限 创建目录 [root@localhost hzh]# mkdir /cnblogs 创建目录 [root@bogon hzh]# ls -ld /cnblogs 查看目录 drwxr-xr-x 2 root root 4096 5月 10 23:20 /cnblogs添加两个用户并设置密码 [root@bogon hzh]# useradd chongshi 创建用户 [root@bogon hzh]# passwd chongshi 设置密码 Changing password for user chongshi. New UNIX password: BAD PASSWORD: it is based on a dictionary word Retype new UNIX password: passwd: all authentication tokens updated successfully. [root@bogon hzh]# useradd bugmaster [root@bogon hzh]# passwd bugmaster Changing password for user bugmaster. New UNIX password: BAD PASSWORD: it is based on a dictionary word Retype new UNIX password: passwd: all authentication tokens updated successfully. 添加一个组 [root@bogon hzh]# groupadd testing 创建组 [root@bogon hzh]# grep testing /etc/group 查看组信息 testing:x:506: 将用户添加到组中 [root@bogon hzh]# usermod -G testing chongshi 用户chongshi添加到组testing [root@bogon hzh]# gpasswd -a bugmaster testing 用户bugmaster添加到组testing Adding user bugmaster to group testing 注意:上面两种方式不同,但作用是一样的,都是将用户添加到组中。 [root@bogon hzh]# grep testing /etc/group 查看组中成员 testing:x:506:chongshi,bugmaster 我们知道,组有什么样的权限,组中成员也有什么样的权限。 设置cnblogs目录的所属组为testing [root@bogon hzh]# chgrp testing /cnblogs 将/cnblogs目录的所属组改为testing [root@bogon hzh]# ls -ld /cnblogs 查看目录所属组 drwxr-xr-x 2 root testing 4096 5月 10 23:20 /cnblogs 对组加写权限 [root@bogon hzh]# chmod g+w /cnblogs 对组加写权限 [root@bogon hzh]# ls -ld /cnblogs 查看组对目录的权限 drwxrwxr-x 2 root testing 4096 5月 10 23:20 /cnblogs 现在用户chongshi和bugmaster已经对/cnbogs已经有写权限 [root@bogon hzh]# su -- chongshi 切换用户 [chongshi@bogon hzh]$ touch /cnblogs/abc 创建文件,(可以成功在目录下创建文件,说明对本目录具有写权限) 用户常用操作命令 添加一个用户 添加用户稍微复杂一些,我们先来看一下,添加用户都有那些选项 root@fnngj-virtual-machine:/# useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/sh SKEL=/etc/skel CREATE_MAIL_SPOOL=no 参数详解: -u:UID -g:缺省所属用户组GID -G:指定所属多个组 -d:宿目录 -s:命令解释器Shell -c:描述信息 -e:指定用户失效时间 例子: root@fnngj-virtual-machine:/# useradd -u 1888 -g webadmin -G sys,root -s /bin/bash -c "market lisi" -e 2012-12-12 jack 添加用户到组 usermod -G [组名] [用户名] root@fnngj-virtual-machine:/# usermod -G webadmin tom root@fnngj-virtual-machine:/# grep webadmin /etc/group webadmin:x:1001:tom 修改用户名 usermod -l [新用户名] [旧用户名] 修改用户与添加用户时的内容基本相同,但多了一个修改用户的选项。 root@fnngj-virtual-machine:/# usermod -l tom jack 把jack改为tom 删除用户 userdel -r [用户名] -r:删除用户组 手工删除: 使用find命令查找属于某个用户或用户组的文件 find选项 -user、-uid、-group、-gid、 1、对需要保留的文件进行移动和备份 2、对不需要的文件进行删除 3、清除用户文件中的相关表项 4、清除用户宿主目录 [root@bogon /]# find /home -user fnngj /home/fnngj /home/fnngj/.bashrc /home/fnngj/.bash_profile /home/fnngj/.gtkrc /home/fnngj/.bash_history /home/fnngj/.bash_logout 可以对查找出来的用户信息判断需要干掉哪些。 用户信息查看命令 pwck 检测/etc/passwd文件 检测用户的设置文件是否正常。直接输入命令,后面不用带参数 vipw 编辑/etc/passwd文件 这个命令与vi最大的区别就是编辑的时候锁定文件。如果多人对passwd文件 都有编辑权限,那么多人同时编辑就会造成混乱。使用vipw编辑passwd文件时,别 人就无法打开passwd文件。 id 查看用户ID和组信息,直接输入命令,后面不用带参数 [root@bogon fnngj]# id uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6 (disk),10(wheel) context=root:system_r:unconfined_t finger 查看当前用户的登录信息 finger [用户名] 查看某个用户的详细信息。 [root@bogon fnngj]# finger Login Name Tty Idle Login Time Office Office Phone root root pts/1 May 13 14:57 (192.168.203.1) [root@bogon fnngj]# finger root Login: root Name: root Directory: /root Shell: /bin/bash On since 日 5月 13 14:57 (CST) on pts/1 from 192.168.203.1 New mail received 日 5月 6 11:00 2012 (CST) Unread since 三 2月 22 20:40 2012 (CST) No Plan. su [用户名] 切换用户(su- 环境变量切换) su - [用户名] 切换的时候也会把环境的时候也会切换环境变量 [root@bogon /]# su fnngj [fnngj@bogon /]$ echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/fnngj/bin [fnngj@bogon /]$ su root Password: [root@bogon /]# su - fnngj [fnngj@bogon ~]$ echo $PATH /usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/fnngj/bin passwd -S [用户名] 查看用户密码状态 [root@bogon fnngj]# passwd -S fnngj Password set, MD5 crypt.查看当前登录用户信息 1. 使用w命令查看登录用户正在使用的进程信息 w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括: 用户名称 用户的机器名称或tty号 远程主机地址 用户登录系统的时间 空闲时间(作用不大) 附加到tty(终端)的进程所用的时间(JCPU时间) 当前进程所用时间(PCPU时间) 用户当前正在使用的命令 w命令还可以使用以下选项 -h忽略头文件信息 -u显示结果的加载时间 -s不显示JCPU, PCPU, 登录时间 2.使用who命令查看(登录)用户名称及所启动的进程 who命令用于列举出当前已登录系统的用户名称。其输出为:用户名、tty号、时间日期、主机地址。 补充:users命令,可用于打印输出登录服务器的用户名称。该命令除了有help和version选项外,再没有其他选项。如果某用户使用了多个终端,则相应的会显示多个重复的用户名。 3. 使用whoami命令查看你所使用的登录名称 whoami命令用于显示登入的用户名。 whoami命令的执行效果和id -un的效果完全一样,例如: whoami命令能显示当前登入的用户名称,以及当前所使用的tty信息。该命令的输出结果包括如下内容:用户名、tty名、当前时间日期,同时还包括用户登录系统所使用的链接地址。 当然,如果你使用su命令改变用户,则该命令(whoami)所显示的结果将随之改变。 4. 随时查看系统的历史信息(曾经使用过系统的用户信息) last命令可用于显示特定用户登录系统的历史记录。如果没有指定任何参数,则显示所有用户的历史信息。在默认情况下,这些信息(所显示的信息)将来源于/var/log/wtmp文件。该命令的输出结果包含以下几列信息: 用户名称 tty设备号 历史登录时间日期 登出时间日期 总工作时间 用户禁用与恢复 禁用和恢复用户 当一个用户在操作的时候经常有违规操作或近期一段时间不用,我们可以对这 个用户进行锁定。就像你的游戏账号发生异常被禁用一样。 ----------------------------------- 禁用 #usermod -L username #passwd -l username 恢复 #usermod -U username #passwd -u username ------------------------------------ [root@bogon /]# passwd -l fnngj 禁用fnngj用户 Locking password for user fnngj. passwd: Success [root@bogon /]# passwd -S fnngj Password locked. 提示被禁用 [root@bogon /]# passwd -u fnngj 密码解锁 Unlocking password for user fnngj. passwd: Success. [root@bogon /]# passwd -S fnngj Password set, MD5 crypt. 禁用原理: [root@bogon /]# grep fnngj /etc/shadow fnngj:$1$EudBseaZ$kw1S8ZS2dsvnJ83phhvQF0:15456:0:99999:7::: [root@bogon /]# passwd -l fnngj Locking password for user fnngj. passwd: Success [root@bogon /]# grep fnngj /etc/shadow fnngj:!!$1$EudBseaZ$kw1S8ZS2dsvnJ83phhvQF0:15456:0:99999:7::: 添加用户组 groupadd [用户组名] root@fnngj-virtual-machine:/# groupadd webadmin 添加一个组webadmin root@fnngj-virtual-machine:/# grep webadmin /etc/group 查看组信息 webadmin:x:1001: 我们在添加组的时候也可以指定好组的id root@fnngj-virtual-machine:/# groupadd -g 8888 webadmin root@fnngj-virtual-machine:/# grep webadmin /etc/group webadmin:x:8888: 删除用户组 groupdel [用户组名] [root@bogon /]# groupdel webadmin 删除组webadmin 修改用户组信息 groupmod -n [新组名] [旧组名] [root@bogon /]# groupmod -n apache webadmin 修改组名webadmin为apache 用户组信息查看命令 groups 查看用户隶属于哪些用户组 [root@bogon /]# groups fnngj fnngj : fnngj newgrp 切换用户组 [root@bogon /]# newgrp fnngj 不是组成员,知道组密码(如果有密码)一样可 以切换。 grpck 用户组配置文件检测 chgrp 修改文件所属组 vigr 编辑/etc/group文件(锁定文件) 与vipw用法一样,在编辑group文件时,禁止其他人编辑。防止多人写操作,造成写混乱。 用户组管理命令 gpasswd命令 这个事所有linux都有的一个命令。先看一下都有哪些参数。 root@fnngj-virtual-machine:/# gpasswd Usage: gpasswd [option] GROUP Options: -a, --add USER add USER to GROUP -d, --delete USER remove USER from GROUP -h, --help display this help message and exit -r, --remove-password remove the GROUP's password -R, --restrict restrict access to GROUP to its members -M, --members USER,... set the list of members of GROUP -A, --administrators ADMIN,... set the list of administrators for GROUP Except for the -A and -M options, the options cannot be combined. 上面的参数信息虽然事英文的,不解释了,相信你懂的。 用法非常简单: root@fnngj-virtual-machine:/# gpasswd -a tom webadmin 添加用户到组 root@fnngj-virtual-machine:/# gpasswd -d tom webadmin 把用户从组中删除 root@fnngj-virtual-machine:/# gpasswd webadmin 给用户组设置密码 root@fnngj-virtual-machine:/# gpasswd -A tom webadmin 将tom提升为组管理员 root@fnngj-virtual-machine:/# gpasswd -r webadmin 删除组密码 root@fnngj-virtual-machine:/# gpasswd -R webadmin 禁止其他用户切换到该组 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |