LINUX⽤户和⽤户组操作命令
Id
Finger
Pwck
检查/etc/passwd配置⽂件内的信息与实际主⽂件夹是否存在,还可⽐较/etc/passwd和/etc/shadow的信息是否⼀致,另外如
果/etc/passwd中的数据字段错误也会提⽰。
Grpck
和pwck功能相近,这是检查⽤户组的。
Groups
linux创建新用户和密码newgrp
useradd
usermod
usermod 不仅能改⽤户的SHELL类型,所归属的⽤户组,也能改⽤户密码的有效期,还能改登录名。usermod 如此看来就是能做到⽤户帐号⼤转移;⽐如我把⽤户A改为新⽤户B;
usermod  [-u uid [-o]] [-g group] [-G group,...]
[-d 主⽬录 [-m]] [-s shell] [-c 注释] [-l 新名称]
[-f 失效⽇] [-e 过期⽇] [-p 密码] [-L|-U] ⽤户名
usermod 命令会参照你命令列上指定的部份修改系统帐号档。下列为usermod可选⽤的参数。
-c comment
更新⽤户帐号password档中的注解栏,⼀般是使⽤chfn(1)来修改。
-d home_dir
更新⽤户新的登⼊⽬录。如果给定-m选项,⽤户旧⽬录会搬到新的⽬录去,如旧⽬录不存在则建个新的。
-e expire_date 加上⽤户帐号停⽌⽇期。⽇期格式为MM/DD/YY.
-f inactive_days 帐号过期⼏⽇后永久停权。当值为0时帐号则⽴刻被停权。⽽当值为-1时则关闭此功能。预设值为-1。
-g initial_group 更新⽤户新的起始登⼊⽤户组。⽤户组名须已存在。⽤户组ID必须参照既有的的⽤户组。⽤户组ID预设值为1。
-G group,[...] 定义⽤户为⼀堆groups的成员。每个⽤户组使⽤","区格开来,不可以夹杂空⽩字元。⽤户组名同-g选项的限制。如果⽤户现在的⽤户组不再此列,则将⽤户由该⽤户组中移除。
-l login_name  变更⽤户login时的名称为login_name。其它不变。特别是,⽤户⽬录名应该也会跟着更动成新的登⼊名。
-s shell  指定新登⼊shell。如此栏留⽩,系统将选⽤系统预设shell。
-u uid⽤户ID值。必须为唯⼀的ID值,除⾮⽤-o选项。数字不可为负值。预设为最⼩不得⼩于/etc/login.defs中定义的UID_MIN值。0到
UID_MIN值之间是传统上保留给系统帐号使⽤。⽤户⽬录树下所有的档案⽬录其userID会⾃动改变。放在⽤户⽬录外的档案则要⾃⾏⼿动更动。
警告:usermod不允许你改变正在线上的⽤户帐号名称。当usermod⽤来改变userID,必须确认这名user没在电脑上执⾏任何程序。你需⼿动更改⽤户的crontab档。也需⼿动更改⽤户的at⼯作档。采⽤NISserver须在server上更动相关的NIS设定。
举个简单的例⼦,我们在前⾯说了关于useradd的⼯具,⽽usermod ⼯具和useradd的参数差不多;两者不同之处在于useradd是添
加,usermod 是修改;
[root@localhost ~]# usermod -d /opt/linuxfish -m  -l fishlinux -U linuxfish
注:把linuxfish ⽤户名改为fishlinux ,并且把其家⽬录转移到 /opt/linuxfish ;
[root@localhost ~]# ls -la /opt/linuxfish/  注:查看⽤户fishlinux的家⽬录下的⽂件及属主;
总⽤量 48
drwxr-xr-x  3 fishlinux linuxfish 4096 11⽉  5 16:46 .
drwxrwxrwx  29 root      root      4096 11⽉  5 16:48 ..
-
rw-r--r--  1 fishlinux linuxfish  24 11⽉  5 16:46 .bash_logout
-rw-r--r--  1 fishlinux linuxfish  191 11⽉  5 16:46 .bash_profile
-rw-r--r--  1 fishlinux linuxfish  124 11⽉  5 16:46 .bashrc
-rw-r--r--  1 fishlinux linuxfish 5619 11⽉  5 16:46 .canna
-rw-r--r--  1 fishlinux linuxfish  438 11⽉  5 16:46 .emacs
-rw-r--r--  1 fishlinux linuxfish  120 11⽉  5 16:46 .gtkrc
drwxr-xr-x  3 fishlinux linuxfish 4096 11⽉  5 16:46 .kde
-rw-r--r--  1 fishlinux linuxfish    0 11⽉  5 16:
-rw-r--r--  1 fishlinux linuxfish  658 11⽉  5 16:46 .zshrc
[root@localhost ~]# more  /etc/passwd |grep fishlinux  注:查看有关fishlinux的记录;
fishlinux:x:512:512::/opt/linuxfish:/bin/bash
通过上⾯的例⼦,我们发现⽂件的⽤户组还没有变,如果您想改变为fishlinux⽤户组,如果想⽤通过 usermod来修改,就要先添加fishlinux ⽤户组;然后⽤usermod -g 来修改,也可以⽤chown -R fishlinux:fishlinux /opt/finshlinux 来改;
警告: usermod 最好不要⽤它来改⽤户的密码,因为他在/etc/shadow中显⽰的是明⼝令;修改⽤户的⼝令最好⽤passwd ;
[root@localhost ~]# usermod -p 123456 fishlinux  注:修改fishlinux的⼝令是123456 ;
[root@localhost ~]# more /etc/shadow |grep fishlinux  注:查询/etc/shadow⽂件中fishlinux的⼝令;我们看到明显是没有加密;fishlinux:123456:13092:0:99999:7:::
userdel
userdel很简单,只有⼀个参数可选 -r ;如果加参数-r ,表⽰在删除⽤户的同时,⼀并把⽤户的家⽬录及本地邮件存储的⽬录或⽂件也⼀同删除;⽐如我们现在有两个⽤户bnnb和lanhaitun,其家⽬录都位于/home⽬录中,现在我们来删除这两个⽤户;
[root@localhost ~]# userdel bnnb  注:删除⽤户bnnb,但不删除其家⽬录及⽂件;
[root@localhost ~]# ls -ld /home/bnnb  注:查看其家⽬录是否存在;
drwxr-xr-x  14 501 501 4096  8⽉ 29 16:33 /home/bnnb    注:存在;
[root@localhost ~]# ls -ld /home/lanhaitun  注:查看lanhaitun家⽬录是否存在;
drwx------  4 lanhaitun lanhaitun 4096 11⽉  5 14:50 /home/lanhaitun  注:存在;
[root@localhost ~]# userdel -r  lanhaitun  注:删除⽤户lanhaitun,其家⽬录及⽂件⼀并删除;
[root@localhost ~]# ls -ld /home/lanhaitun  注:查看是否在删除lanhaitun ⽤户的同时,也⼀并把其家⽬录和⽂件⼀同删除;
ls: /home/lanhaitun: 没有那个⽂件或⽬录注:已经删除;
警告:请不要轻易⽤-r参数;他会删除⽤户的同时删除⽤户所有的⽂件和⽬录,切记;如果⽤户⽬录下有重要的⽂件,在删除前请备份;
其实也有最简单的办法,但这种办法有点不安全,也就是直接在/etc/passwd中删除您想要删除⽤户的记录;但最好不要这样
做,/etc/passwd 是极为重要的⽂件,可能您⼀不⼩⼼会操作失误;
Groupadd
groupmod
groupdel 是⽤来删除⽤户组的;
语法格式:groupdel ⽤户组
⽐如:
[root@localhost ~]# groupdel lanhaitun

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。