精通Linux系列Linux用户管理与组管理详解,让自己的操作系统自己管理

Posted 大数据小禅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了精通Linux系列Linux用户管理与组管理详解,让自己的操作系统自己管理相关的知识,希望对你有一定的参考价值。

🚀 作者 :“大数据小禅”

🚀 专栏简介 :本专栏主要分享Linux技术,会涉及到常用的Linux命令操作,常用的服务部应用署以及相关运维知识,还有一些Linux系统的深层解析,Linux系列专栏地址,欢迎小伙伴们订阅!

🚀 个人主页 :大数据小禅

🚀 粉丝福利 :加入小禅的大数据社群

🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬

Linux(linux的强大之处在于,linux中可以多用户多分组,而且相互隔离)在window中是有用户跟组这种分类的;

linux用户的分类:
超级用户root:拥有至高无上的权限 UID:0
普通用户:权限有一定的限制,可以登录系统。一般可以执行/usr/local/bin或者/bin或者/usr/bin或者自
己家目录的命令 UID(相当于身份证号独一无二):500 -60000 (centos 6) UID:1000 - 60000(centos7)
系统用户(伪用户):一般不会登录系统,一般情况是用来维持某个服务程序 UID :1-499 (centos 6)
UID :1-1000 (centos 7)
关于用户的相关配置文件
账号信息:/etc/passwd
密码信息:/etc/shadow

test   :x       :1000 :1000 : :/home/test :/bin/bash     #冒号为分割符
用户 密码占位符 UID  GID 用户描述 用户家目录    登录后使用的shell解释
/sbin/nologin #是不可登录的
/bin/bash #可以登录
用户操作相关命令及用法

添加用户命令:useradd

-u #指定用户UID
-d #指定用户主目录
-g #指定用户所属组
-r #指定用户是系统用户
-s #用户登录shell解释器
-M #不创建主目录,不指定家目录,不生成家目录,之前是用 cd /home进入家目录后可以看到我们创建的XD用户,使用这个-M就是不会出现在家目录中的了。如在创建一个useradd -M 后面是默认的话会自动指定是/bin/bash是可登录的,而UID会在之前的基础上自动增加

创建指定用户:

创建一个用户XD,指定UID为1010,指定家目录为/home/XD ,指定所属组为root组,指定登录shell 为/bin/bash;(使用 id + 用户名字可以查看此用户信息,su +用户,切换用户)

useradd -u 1010 -d /home/XD -g root -s /bin/bash XD


报错解决:
登录用户时出现以下信息如何解决,有时候创建一个目录之后指定多个家目录就会出现下面的错误,下面的错误是输入su CD 切换用户的时候出现的。ls -lrta这个命令看隐藏内容,下面是用rm -rf *.,cd XD命令进入XD用户后删了里面的内容演示su XD出现的错误,会出现下面的这些。

报错如下:
bash-4.2$
bash-4.2$

解决:复制相关信息到家目录
进入 cd /etc/skel/
ls -lrta 这里面有一些刚才演示删除的隐藏信息
cp -r /etc/skel/.bash* /home/XD/     复制到home目录的XD,重新su XD切换目录,解决问题!
用户的修改,添加与删除命令;
删除用户命令:userdel     

userdel  -r XD这样会把家目录,即使home目录下的一起删除-r #连同家目录一块删除

添加用户组命令:groupadd

删除用户组命令:groupdel


修改用户的信息命令:usermod

-u #指定用户UID

 -d #指定用户主目录

-g #指定用户所属组


###### 设置用户密码命令passwd

passwd XD   #这个命令输入后会让你输入两次密码,交互式的方式键盘输入。

echo "123456" | passwd --stdin XD   #这个相当于重定向,直接输密码。
修改组命令实例:下图没改之前组id都是属于XD的 下面的 -g 0 就是制定root组了 (0指的是最高限权root组)

更深一步的理解组的增添:
Linux中useradd和adduser的区别
1. 在root权限下,useradd只是创建了一个用户名,如 (useradd  +用户名 ),它并没有在/home目录下创建同名文件夹,也没有创建密码,因此利用这个用户登录系统,是登录不了的,为了避免这样的情况出现,可以用 (useradd -m +用户名)的方式创建,它会在/home目录下创建同名文件夹,然后利用( passwd + 用户名)为指定的用户名设置密码。

2. 可以直接利用adduser创建新用户(adduser +用户名)这样在/home目录下会自动创建同名文件夹

3.  删除用户,只需使用一个简单的命令“userdel 用户名”即可。不过最好将它留在系统上的文件也删除掉,你可以使用“userdel -r 用户名”来实现这一目的。 

Linux系统如何添加用户这个问题到网上问一下或者搜一下,很多人可能会说useradd,实际这是不对的。useradd只会添加一个用户,没有创建它的主目录,除了添加一个新用户之外什么都没有。这个用户甚至不能登录,因为没有密码。正确的做法是man page里说的,adduser,这个命令实际是一个perl脚本,是useradd等类似底层命令的更友好的前端,它会用交互性的方式建立新用户,使用它可以指定新用户的家目录,登录密码,是否加密主目录等等,它会:

1.建立一个新目录作为家目录
2.建立同名新组
3.把用户的主要组设为该组(除非命令选项覆盖以上默认动作,比如–disall-homdirecry之类)
4./etc/SKEL目录下拷贝文件到家目录,完成初始化
5.建立新用户的密码
6.如果其存在的话,还会执行一个脚本。

以上是关于精通Linux系列Linux用户管理与组管理详解,让自己的操作系统自己管理的主要内容,如果未能解决你的问题,请参考以下文章

linux基础:用户与组,权限管理

Linux文件权限详解

Linux系统下用户与组的管理

Linux系统下用户与组的管理

精通Linux系列服务器之间的telnet与scp命令用法,进程管理命令之ps -ef与ps aux详解

精通Linux系列服务器之间的telnet与scp命令用法,进程管理命令之ps -ef与ps aux详解