linux中的用户管理

linux用户和用户组管理

    Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

   用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

每个用户账号都拥有一个惟一的用户名和各自的密码。

用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的主目录。

实现用户账号的管理,要完成的工作主要有如下几个方面:

    1.用户账号的添加、删除与修改。
    2.用户密码的管理。
    3.用户组的管理。


一.Linux系统用户账号的管理

1.系统中为什么有用户?

(1)用户,在系统中是底层的安全设定。
(2)组,是用来共享权力的,一种组可以决定(附加组),一种不可以决定(初始组)。
(3)用户在系统当中以文字体现的,保存在表里。

2.用户的配置文件

(1)/etc/passwd                                             ##用户信息文件
用户名:密码:用户id:组id:用户说明:用户家目录:用户默认使用的shell

(2)  /etc/group                                                 ##用户组信息文件
组名称:组密码:组id:附加组成员

(3)/home/username              ##用户家目录


           

(4)/etc/skel.*    ##用户的骨文件(用户环境配置模板,在用户建立是会自动复制到家目录)

3.用户的查看

whoami        ##查看用户的名称
id            ##查看用户的id信息
id     -u     ##查看用户的uid
id     -g     ##查看用户的gid
id     -G     ##查看用户所在的所有的组的iduser
id     -n     ##以名称显示信息

4.用户的建立和删除

/etc/login.defs     在此文件中可以设定用户的默认信息

userdel      

useradd       username    建立默认规则的用户(规则参考/etc/login.defs)
useradd  -G   username   指定用户的附加组
useradd  -g   username   指定以用户的初始组id
useradd  -u   username   指定用户的yid
useradd  -c   username   指定用户的说明文字
useradd  -d   username   指定以用户的家目录
useradd  -s   username   指定用户的shell(系统可以用shell可在/etc/shells中查看)

userdel         username    删除用户

userdel    -r   username   删除用户及其所以配置文件

 

如何查看本机的shell?
cat   /etc/shells     nologin

6.用户管理

usermod            -l      a(新) b(旧)      修改用户名称
usermod            -u      id     a           改变初始uid
usermod            -g      21    a           初始组id21


usermod            -G      30   a           更改附加组30(如果用“”,可以清空所以附加组)
usermod            -aG     40  a           增加附加组40(会在原来的基础上增加)


usermod            -c                           更改用户说明
usermod            -d                           更改用户目录指向(只改了文件没有改目录,还有一步,重命名家目录)


usermod            -md                       更改用户家目录指向并重命名家目录
usermod            -s                            更改用户的shell

 


7.用户切换

su - username   切换用户,高级到低级不要密码,低级到高级或平级,需要密码
(注意):1.用户切换后及时退出在切换下一个用户
        2.su - 表示切换用户身份及其用户环境,加上 - 身份和环境都变了
         没有 - 身份发生了变化,环境没有变

 

 

8.用户的认证信息
watch -n 1 'tail -n 5 /etc/shadow'
watch(监视,一秒一次);tail (后几行);
/etc/shadow/            用户的认证信息(密码)
用户名称:
用户密码:  md5 sha512
passwd username    只有超级用户可以用
passwd                 普通用户修改自己的密码
usermod -L           冻结帐号
usermod -U          解锁密码
passwd  -l             冻结密码(强)
passwd  -u            解锁密码(强)
passwd  -d         清空密码(不设密码)

 


密码最后一次修改的时间:(1971.1.1到现在,此位数如果为0时,再次登陆会强制改密码)
chage -d   0 westos(用户名)
passwd -e westos(用户名)
密码最短有效期:(过多少天才能修改)
chage - m 1 westos
passwd - n 3 westos
密码的最长有效期:(密码还可以用多少天)
chage -M 30 westos
passwd -x 40 westos
密码过期警告:(还剩多少天密码过期)
chage -W 2 westos
密码非活跃期:(过期日到了,给你延迟几天)
chage -I 2 westos
passwd -i 0 westos
帐号到期日:(帐号到期,是个时间段)
chage -E "2018-9-10" westos

 

 

9.用户权力下放
1.配置文件
/etc/sudoers


2.配置命令
visudo     打开文件,与语法检测
用户名称 主机名称 = (root) 命令 /usr/sbin/useradd
用户名称 主机名称 = (root) /usr/sbin/useradd,/usr/sbin/userdel


测试:
su - linux11
sudo useradd hello

 


二.通配符

1.通配符
*                          ##匹配0~任意字符 (rm -fr test/* 删除文件不删除目录)
?                       ##匹配单个字符(rm -fr ????  删除文件名文四个字符的)
[[:alpaha:]]         #单个字母 用于删除等
[[:upper:]]           #单个大写字母
[[:lower:]]            #单个小写字母
[[:degit:]]            #单个数字
[[:alnum:]]          #单个数字或者字母
[[:space:]]          #单个空格
[[:punnct:]]         ##单个符号
{1..3}                 ##1-3(1,2,3)
{a..c}                 ##a-c(a,b,c)
[1-3]                  ##1或者2或者三
[ac]                   ##或者a或者c
[^ac]                  ##不是a并且也不是c
[!ac]                   ##除了a和c
[写模糊字符[::]]   

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值