Linux 系统用户管理

it2023-02-08  53

用户登录

 

[root@myserver ~]#  :用户名称@主机名称 位置(可以用hostname查看当前主机名)

~代表的宿主目录,用户的家目录 ~==/root

#代表超级管理员用户

$代表普通用户

 

用户信息

 

[root@myserver ~]# id uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

uid:用户的信息

gid:用户所属的组id

默认情况下创建一个用户就会有一个与用户同名的组。

 

[root@myserver ~]# whoami root

whoami:返回当前用户的名称。

 

添加用户

 

useradd 命令:

    -d 指定宿主目录(-d, --home-dir HOME_DIR       home directory of the new account)

    -M 不创建宿主目录(-M, --no-create-home          do not create the user's home directory)

    -u 指定uid

    -g 指定gid

    -s 指定shell

 

创建一个默认用户 :[root@myserver ~]# useradd xiaowang

查看一下用户和密码:[root@myserver ~]# more /etc/passwd

文件末尾显示用户添加成功:xiaowang:x:1001:1001::/home/xiaowang:/bin/bash

                                              用户名:密码:用户id:组id::宿主目录:shell

 

root用户的用户id和组id都是0

查看系统中可用的shell,shell就是解释器

[root@myserver ~]# cat /etc/shells  /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash  

/bin/bash是默认分配给用户的。 /sbin/nologin禁止登入系统

 

练习useradd命令选项

 

[root@myserver ~]# useradd xiaoa -u 1008 -g 1001 -M            (gid必须存在)

[root@myserver ~]# useradd xiaob -u 1009 -g 1001 -M -s /sbin/nologin    (指定用户无法登录)

 

查看文件内容

root@myserver ~]# head -5 /etc/passwd          查看/etc/passwd的前五工行

[root@myserver ~]# tail -5 /etc/passwd             查看/etc/passwd的后五行

 

用户切换

su xiaowang :切换到xiaowang      ()环境变量还是root的

exit :退出当前用户

su xiaowang -c id  :-c运行的shell命令,再不切换用户的情况下执行命令

su -xiaowang :切换到xiaowang用户,并且切换到消亡的环境变量

[root@myserver home]# su xiaowang [xiaowang@myserver home]$ id uid=1001(xiaowang) gid=1001(xiaowang) groups=1001(xiaowang) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 [xiaowang@myserver home]$ exit exit [root@myserver home]# su xiaowang -c id uid=1001(xiaowang) gid=1001(xiaowang) groups=1001(xiaowang) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

[root@myserver home]# su - xiaowang [xiaowang@myserver ~]$ pwd /home/xiaowang

 

实验禁止用户登录 [root@myserver xiaowang]# cd /home [root@myserver home]# tail -5 /etc/passwd tcpdump:x:72:72::/:/sbin/nologin master:x:1000:1000:Master:/home/master:/bin/bash xiaowang:x:1001:1001::/home/xiaowang:/bin/bash xiaoa:x:1008:1001::/home/xiaoa:/bin/bash xiaob:x:1009:1001::/home/xiaob:/sbin/nologin [root@myserver home]# su - xiaob su: warning: cannot change directory to /home/xiaob: No such file or directory This account is currently not available. [root@myserver home]# su - xiaoa su: warning: cannot change directory to /home/xiaoa: No such file or directory [xiaoa@myserver home]$ 

 

指定用户的宿主目录

[root@myserver home]# useradd xiaoc -d /opt/xiaoc [root@myserver home]# tail -2 /etc/passwd xiaob:x:1009:1001::/home/xiaob:/sbin/nologin xiaoc:x:1010:1010::/opt/xiaoc:/bin/bash [root@myserver home]# su - xiaoc [xiaoc@myserver ~]$ pwd /opt/xiaoc [xiaoc@myserver ~]$   

用户删除

userdel 用户删除

userdel xiaoc: 删除用户xiaoc(但是该用户的宿主目录还是存在的)

[root@myserver home]# cd /opt [root@myserver opt]# ls xiaoc [root@myserver opt]# tail -2 /etc/passwd xiaob:x:1009:1001::/home/xiaob:/sbin/nologin xiaoc:x:1010:1010::/opt/xiaoc:/bin/bash [root@myserver opt]# userdel xiaoc [root@myserver opt]# tail -2 /etc/passwd xiaoa:x:1008:1001::/home/xiaoa:/bin/bash xiaob:x:1009:1001::/home/xiaob:/sbin/nologin [root@myserver opt]# ls xiaoc [root@myserver opt]#   

userdel -r xiaod :删除用户(连同宿主目录)

[root@myserver xiaowang]# useradd xiaod [root@myserver xiaowang]# ls [root@myserver xiaowang]# cd /home/ [root@myserver home]# ls master  xiaod  xiaowang [root@myserver home]# userdel -r xiaod [root@myserver home]# ls master  xiaowang [root@myserver home]#   

 

 

 

最新回复(0)