想必大家都应该知道Linux系统是一个多任务多用户的系统吧,一个Linux系统通常有很多用户同时在线,这就显得用户管理尤为重要,本文和大家分享一下Linux中用户管理的教程。

一、认识/etc/passwd和/etc/shadow

这两个文件可以说是Linux系统中最重要的文件之一。若果没有或则存在问题,您是难以登录Linux系统

/etc/passwd由‘:’分割成7个数组,每位数组的具体涵义是:

(1)用户名(如第一行中的root就是用户名)linux系统用户权限管理,代表用帐户的字符串。用户名可以是大小写字母、数字、减号(不能出现在首位)、点以及顿号,其他字符不合法。即使用户名可以出现点,但不建议使用,尤其是首位为点时,另外加号也不建议使用,由于容易引起混淆

(2)储存的就是该帐号的口令,为何‘x’呢?初期的nuix系统口令确实是储存在这儿,但基于安全诱因,后来就将其储存早‘/etc/shadow’中了,在这儿只用一个‘x’代替。

(3)这个数字代表用户标示号,也称作UID。系统辨识用户身分就是通过这个数字来的0就是root,也就是您可以更改test用户的UID为零,这么系统会觉得root和test为同一个用户。一般UID个的取值范围是065535(但实际上早已可以支持到4294967294),0是超级用户的标示号,1499由系统保留,作为管理帐号,普通用户的标示从500开始,假如我么你自定义构建一个普通用户,您会看见该帐户的标示号小于或等于500的。

(4)这个数字代表组标示号,也称作GID。这个数组对应着/etc/group中的一条记录,虽然/etc/group/和/etc/passwd基本上类似。

(5)注释说明,该数组没有实际意义,一般记录该用户的一些属性比如姓名、电话、地址等。不过,当您使用finger的功能时才会显示这种信息的(稍后作介绍)

(6)用户的家目录,当用户登入时就处在这个目录下,root的家目录是/root,普通用户的家目录则为/home/username,这个数组可以自定义的,进入您构建一个普通用户test1,要想让test1的家目录在/data下,只要更改/etc/passwd文件中的test1那行中的该数组改为/data既可。

linux给用户mkdir权限_linux系统用户权限管理_linux 设置文件夹权限 给所有用户

(7)shell,用户登入后要启动一个进程,拿来将用户下达的指令传给内核,这就是shell。Linux的shell有好多种sh、csh、ksh、tcsh、bash/等,而Redhat/CentOS的shell就是bash。查看/etc/passwd文件,该制度单不仅/bin/bash外还有/sbin/nologin比较多linux系统用户权限管理,它表示不容许该帐号登入。倘若您想构建一个帐号不让他登陆,这么就可以把该数组盖晨/sbin/nologin,默认是/bin/bash

再来看看/etc/shadow这个文件,和/etc/passwd类似,用‘:’分割成9个数组

每位数组的涵义是:

(1)用户名,跟/etc/passwd对应。

(2)用户密码,这个才是该帐号的真正的面,不过这个密码早已加密过了,而且有些黑客还是才能揭秘的。所以,该文件属性设置为000,而且root帐户是可以访问或修改的。

(3)先前修改密码的日期,这个数字是这样估算得来的,距离1970年1月1日到先前修改密码的时间,比如先前修改密码的日期为2012年1月1日,则这个值就是‘365*(2012-1970)/4+1=15341’,由于假如是闰月,则有366天。

(4)要多少天才可以修改密码,默认是0,即不限制。

(5)密码多少天后到期。即在多少天内必须修改密码,比如这儿设置成30,则30天内必须修改一次密码,否则将不能登入系统,默认是9999,可以理解为永远不须要修改。

(6)密码到期前的警告时限,若这个值设置成7,则表示当7天后密码过期时,系统就发出警告告诉用户,提醒用户他的密码将在7天后到期。

(7)帐号失效时限。您可以这样理解,假如设置这个值为3,则表示:密码已然到期,但是用户并没有在到期前更改密码,这么再过3天,则这个帐号就失效了,即锁定了。

linux 设置文件夹权限 给所有用户_linux给用户mkdir权限_linux系统用户权限管理

(8)帐号的生命周期,跟第三段一样,是按距离1970年1月1日多少天算的。它表示的涵义是,帐号在这个日期前可以使用,到期后帐号作废。

(9)作为保留用的,没有哪些意义。

二、新增/删掉用户和用户组

1、新增一个组“groupadd[-gGID]组名”

不加“-g”选项则根据系统默认的gid创建组,跟用户一样,GID也是从500开始的。

2、删除组“groupdel组名”

命令没有特殊选项,但有一种情况不能删掉组

这是由于user1中包含user1用户,只有删掉帐户后才可以删掉该组。

3、增加用户“useradd[-uUID][-gGID][-dHOME][-M][-s]用户名”

‘-u’自定义UID

‘-g’是其属于早已存在的某个组,前面可以跟组id,也可以跟组名

‘-d’自定义用户的家目录

‘-M’不完善家目录

‘-s’自定义shell

‘useradd’不加任何选项直接跟用户名,则会创建一个跟用户名同样名子的组

4.删掉帐户“userdel[-r]用户名”

‘-r’的选项作用只有一个,就是删掉帐户的时侯连带帐户的家目录一起删掉。

*chfn修改用户的finger(不常用)

*创建/更改一个用户的密码“passwd[username]”

等创建完帐户后,默认是没有设置密码的,即使没有密码linux 命令,但该帐户同样登陆不了系统。只有设置好密码后登陆系统。为用户创建密码时,为了安全起见,请尽量设置复杂一些。您可以根据这样的规则来设置密码:

a,厚度小于10个字符

b,密码中包含大小写字母以及特殊字符“*”、“&”、“%”、等;

c,不规则性(不要出现词组或则个别数字)

d,不要带自己名子,公司名子,自己电话,自己生日等。

只有root才可以修该其他帐户的密码,普通帐户只能更改自己的密码,其他帐户的密码是不可以更改的

“mkpasswd”

这个命令常常用来世成密码,省的自己去想。默认您的Linux是没有这个命令的,须要安装一个包“expect”,假若您的Centos可以上网linux手机,请使用yuminstallexpect既可完成安装。安装好后,输入“mkpasswd”

Linux中有时侯普通用户做个别事情是有限制的。这时侯就须要切换root身分来做事了。

现假定我用一个普通用户test登陆(登录后使用“whoami”命令查看当前用户是谁)

命令su“su[-]username”

linux系统用户权限管理_linux给用户mkdir权限_linux 设置文件夹权限 给所有用户

前面可以跟‘-’也可以不跟,普通用户su不加username时及时切换到root用户,其实root用户同样可以su到普通用户。‘-’这个字符的作用是,加上后会初始化当前用户的各类环境变量。我们用一个简单地实验来说明加与不加‘-’的区别:

命令sudo

用su是可以切换用户身分,假如每位普通用户都能切换到root身分,假如某个用户不留神泄露了root的密码,那岂不是系统十分的不安全?没有错,为了改进这个问题,形成了sudo这个命令。使用sudo执行一个root能够执行的命令是可以办到的,而且须要输入密码,这个密码并不是root的密码而是用户自己的密码。默认只有root用户能使用sudo命令,普通用户想要使用sudo,是须要root预先设定的,即,使用visudo命令去编辑相关的配置文件/etc/sudoers.若果没有visudo这个命令,请使用yuminstall-ysudo安装。

默认root才能sudo是由于这个文件中有一行“rootALL=(ALL)ALL”在该行下边加入“testALL=(ALL)ALL”就可以让test用户拥有了sudo的权力。使用“visudo”命令编辑/etc/sudoers配置文件,虽然它的操作方式和上面阿铭介绍的“vi”命令使用方式是一样的,按‘i’进入编辑模式,编辑完成后,按“Esc”,再输入”:wq”完成保存。

此时可以验证一下test的权限了

因为切换到test帐户后的当前目录仍然是在/root下,test帐户没有任何权限,所以‘ls’的时侯提示说权限不够,但是使用sudols输入test帐户自身的密码后就有权限了。初次使用sudo时会有前面的一大段提示,而后再度使用sudo命令则不再提示。

假如每降低一用户就设置一行,这样太麻>烦了。所以您可以这样设置。把“#%wheelALL=(ALL)ALL”前面的‘#‘去掉,让这一行生效。它的意思是,wheel这个组的所有用户都拥有了sudo的权力。接出来就须要您把想让有sudo权力的所有用户加入到wheel这个组中即可。

至此关于Linux系统用户管理的文章分享教程到此结束,合理的管理Linux系统用户是保证Linux系统安装的一个重要举措。

本文原创地址:https://www.linuxprobe.com/lxtzzzydwjzy.html编辑:刘遄,审核员:暂无