linux 创建用户(批量创建用户) 账号管理与 ACL 权限配置

来源:互联网 发布:linux timer settime 编辑:程序博客网 时间:2024/05/19 20:38

Linux 操作系统上面,关于账号与群组,其实记录的是 UID/GID 的数字而已;
使用者的账号/群组与 UID/GID 的对应,参考 /etc/passwd 及 /etc/group 两个文件
/etc/passwd 文件结构以冒号隔开,共分为七个字段,分别是『账号名称、口令、UID、GID、全名、家目录、shell』
UID 只有 0 与非为 0 两种,非为 0 则为一般账号。一般账号又分为系统账号 (1~499) 即可登陆者账号 (大于 500)
账号的口令已经移动到 /etc/shadow 文件中,该文件权限为仅有 root 可以更动。该文件分为九个字段,内容为『 账号名称、加密口令、口令更动日期、口令最小可变动日期、口令最大需变动日期、口令过期前警告日数、口令失效天数、 账号失效日、保留未使用』
使用者可以支持多个群组,其中在新建文件时会影响新文件群组者,为有效群组。而写入 /etc/passwd 的第四个字段者, 称为初始群组。
与使用者创建、更改参数、删除有关的命令为:useradd, usermod, userdel等,口令创建则为 passwd;
与群组创建、修改、删除有关的命令为:groupadd, groupmod, groupdel 等;
群组的观察与有效群组的切换分别为:groups 及 newgrp 命令;
useradd 命令作用参考的文件有: /etc/default/useradd, /etc/login.defs, /etc/skel/ 等等
观察用户详细的口令参数,可以使用『 chage -l 账号 』来处理;
用户自行修改参数的命令有: chsh, chfn 等,观察命令则有: id, finger 等
ACL 可进行单一个人或群组的权限管理,但 ACL 的启动需要有文件系统的支持;
ACL 的配置可使用 setfacl ,查阅则使用 getfacl ;
身份切换可使用 su ,亦可使用 sudo ,但使用 sudo 者,必须先以 visudo 配置可使用的命令;
PAM 模块可进行某些程序的验证程序!与 PAM 模块有关的配置文件位于 /etc/pam.d/* 及 /etc/security/*
系统上面账号登陆情况的查询,可使用 w, who, last, lastlog 等;
在线与使用者交谈可使用 write, wall,脱机状态下可使用 mail 传送邮件!

情境模拟题一:想将本服务器的账号分开管理,分为单纯邮件使用,与可登陆系统账号两种。其中若为纯邮件账号时, 将该账号加入 mail 为初始群组,且此账号不可使用 bash 等 shell 登陆系统。若为可登陆账号时, 将该账号加入 youcan 这个次要群组。

目标:了解 /sbin/nologin 的用途;
前提:可自行观察使用者是否已经创建等问题;
需求:需已了解 useradd, groupadd 等命令的用法;
//useradd 命令用法
[root@localhost ~]# useradd ludong
[root@localhost ~]# passwd ludong
//这里密码随意(例123456)
//修改密码
[root@localhost ~]# echo 654321|passwd –stdin ludong
//查看用户
[root@localhost ~]#finger root
//创建 student群组 gid 为2000(上面有说明)
[root@localhost ~]#sudo groupadd –gid 2000 student
解决方案如下:

预先察看一下两个群组是否存在?
[root@localhost ~]# grep mail /etc/group
[root@localhost ~]# grep youcan /etc/group
[root@localhost ~]# groupadd youcan
可发现 youcan 尚未被创建,因此如上表所示,我们主动去创建这个群组啰。

开始创建三个邮件账号,此账号名称为 pop1, pop2, pop3 ,且口令与账号相同。可使用如下的程序来处理:
[root@www ~]# vim popuser.sh
//shell 脚本

#!/bin/bashfor username in pop1 pop2 pop3do    useradd -g mail -s /sbin/nologin -M $username    echo $username | passwd --stdin $usernamedone

[root@localhost ~]# sh popuser.sh

开始创建一般账号,只是这些一般账号必须要能够登陆,并且需要使用次要群组的支持!所以:
(不习惯用vim 可以使用gvim 编辑)
[root@localhost ~]# vim loginuser.sh

//shell脚本

#!/bin/bashfor username in youlog1 youlog2 youlog3do    useradd -G youcan -s /bin/bash -m $username    echo $username | passwd --stdin $usernamedone

[root@localhost ~]# sh loginuser.sh

//批量创建用户的另一种方式
[root@localhost ~]# gvim student.txt

t001001:x:801:800::/home/t001001:/bin/basht001002:x:802:800::/home/t001002:/bin/basht001003:x:803:800::/home/t001003:/bin/basht001004:x:804:800::/home/t001004:/bin/bash

[root@localhost ~]# gvim passwd.txt

t001001:t001001t001002:123456t001003:123456t001004:123456

[root@localhost ~]# newusers

0 0
原创粉丝点击