Linux 用户的管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 用户的管理相关的知识,希望对你有一定的参考价值。

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

用户使用来进行安全设定(限制权力),组是用来共享权力,通过建立用户组,或者控制新建用户所在的用户组,可以控制用户访问系统的权限。这就是linux中用户组的意义和价值。
附加组:可以决定权限,不一定有附加组;
初始组:无法决定权限,一定有,不能更改。
用户在系统当中以表格和表格中的一系列字符出现的。

举例:你的杯子你可以用,你的女票也可以,但是外人用就不行,因为你有使用你杯子的权力,可是别人没有。 

2.用户存在的形态
组:共享权力

     举例:
     (1)自己能决定的组:附加组(如:你认了马云当干爹,从此走上人生巅峰,这个你可以决定,你当然也可以认好多干爹,嘿嘿)
     (2)自己不能决定的组:初始组(如:干爹可以认,但是你的亲生父母是谁你不能决定,不能改变)

3.用户配置文件

/etc/passwd     用户信息文件
用户名称:密码:用户id(唯一的×××号):组id:用户说明:用户家目录(用户出现的默认地址):用户默认使用的shell

/etc/group  用户组信息
组名称:组密码(一般以x表示):组id附加组成员

/home/username    用户家目录

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

4.用户的查看

    whoami                     查看当前用户的名称
    id     username         查看用户的id信息
    id   -u   username     查看用户的id
    id   -g   username     查看用户的组id
    id   -G  username     查看用户所在的所有组的id
    id   -n   username    以名称显示信息

    如下图:

技术分享图片

5.用户的建立与删除
/etc/login.defs 在此
watch -n 1每秒钟显示一次
监控命令:
watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;echo===;ls -l /home/‘ 用来展示用户的各项参数,直观

技术分享图片

userdel username (root)表示删除用户的身份,但其配置文件保留
userdel -r username (root)表示删除用户身份及系统配置文件;(一步删除到为)

技术分享图片

useradd username 使用默认规则建立用户(规则参看/etc/login.defs)

技术分享图片

useradd -u 指定用户的uid

技术分享图片

useradd -g 指定用户的初始组id

技术分享图片

技术分享图片
useradd -G 指定用户的附加组

技术分享图片

useradd -c 指定用户的说明文字
useradd -d 指定用户的家目录
useradd -s 指定用户的shll(系统可以用shell可在/etc/shells中查看) cat /etc/shells 显示电脑中的所有shell

groupadd groupname 建立组

技术分享图片

groupadd -g groupname建立指定组id

技术分享图片

groupdel groupname 删除组

技术分享图片

man useradd 查看useradd手册(q退出界面)

技术分享图片

6.用户的管理

改变用户的信息

usermod -l linux westos 修改用户名称改成linux

技术分享图片

usermod -u 666 username(westos) 指定uid,但是只能指定指定组拥有的uid

技术分享图片

usermod -g 21 westos 修改初始组id

技术分享图片

usermod -G 25 westos 修改附加组,清除原来的

技术分享图片

技术分享图片

usermod -aG 25 westos 再加一个附加组

技术分享图片

usermod -c (比如 test)westos 更改用户说明

技术分享图片

usermod -d (比如/home/linux)westos 更改加用户目录指向

技术分享图片
home下并没有一个linux的目录

usermod -md (比如 /hoem/lee) westos 更改加用户目录指向,并重命名家目录
**出现一个目录名的变化,出现lee的目录

usermod -s (比如 /bin/tcsh) westos 更改用户的shell

技术分享图片

7.用户切换

su - westos 切换用户到westos,高级用户切换到低级用户,不需要密码;低级用户切换到高级用户或切换到平级用户需要后者密码。

技术分享图片

注意:(很重要)
1.用户切换后及时退出再进入下一个用户(exit)

技术分享图片

2.su - 表示切换用户身份及用户环境 一定要加“-”
(如果不加-,只是身份改变。环境并没有变化)

8.用户的认证信息
/etc/shadow 记录用户密码,只有超级用户可以访问
用户名称:
用户密码:
md5 sha512加密对称加密(加密和解密使用同一种字符) 在vim /etc/login.defs里边查询
passwd username 只有超级用户执行

技术分享图片

    passwd 普通用户修改密码
    usermod -L username  冻结密码

技术分享图片

    usermod -U username  解锁

技术分享图片![]

    passwd -l username 冻结密码

技术分享图片

    passwd -u username 解锁

技术分享图片

    passwd -d username 清空密码

技术分享图片技术分享图片

密码最后一次被修改的时间:
当此位数字为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 警告

技术分享图片

passwd -w 3 westoe

技术分享图片

密码非活跃期:

chage -I 2 westos

技术分享图片

passwd -i 0 westos

技术分享图片

帐号到期日:
chage -E “2018-11-11” westos

技术分享图片

未设定用户自定义

9.用户权力的下放
普通用户默认不能新建用户
vim /etc/sudoers

1.配置文件
etc/sudoers
2.配置命令
visudo
用户名称 主集名称=(执行程序身份)命令 当执行命令时需要用户验证
在:100,找到100行,按大写i,在前面输入下面命令,!!!!注意,使用hostname查看本机地址对 dns-server.example.com修改(linux11) dns-server.example.com=(root) /usr/sbin/usradd

技术分享图片
用户名称 主集名称=(执行程序身份)NOPASSWD :命令1, 命令2 ## 当执行命令时不需要用户验证
(linux11) dns-server.example.com=(root) /usr/sbin/useradd, /usr/sbin/userdel

技术分享图片
然后Esc,:wq!,切出

最后可以visudo查看,上图 dns-server.example.com改成了localhost,user改成usr,这些都是易错点!!!!最后useradd linux11,建立。

技术分享图片

测试:
su - linux11
sudo useradd hello
技术分享图片

以上是关于Linux 用户的管理的主要内容,如果未能解决你的问题,请参考以下文章

在每个用户的Rails中使用片段缓存

SnippetsLab for Mac 1.9 中文共享版 – 强大的代码收藏管理工具

片段 XXX 未与片段管理器关联

使用 Git 来管理 Xcode 中的代码片段

massCode 一款优秀的开源代码片段管理器

如何管理在每个 git 版本中添加私有代码片段?