用户和组

用户和组
    • 用户创建,删除,修改
    • 密码及密码文件
    • 组创建,删除,修改
    • 组密码及组配置文件
    • 相关文件

linux用户分类

超级管理员: UID为0 root用户拥有至高无上的命令,root用户不能改名

系统用户:UID小于1000,用于管理服务,一般不允许登陆

普通用户:UID大于或等于1000,权限较小,允许登陆,只能使用bin下命令

1.用户创建,删除,修改

useradd命令

 1 useradd - create a new user or update default new user information
 2 -c, --comment 描述
 3 -d, --home HOME_DIR 家目录
 4 -e, --expiredate EXPIRE_DATE 过期时间
 5 -f, --inactive INACTIVE 是否启用过期机制
 6 -g, --gid GROUP 指定组ID号
 7 -G, --groups GROUP1[,GROUP2,...[,GROUPN]]] 附加组
 8 -m, --create-home 建立家目录
 9 -M 不建立家目录
10 Do not create the user′s home directory, even if the system wide
11 setting from /etc/login.defs (CREATE_HOME) is set to yes.
12 -N, --no-user-group 不指定用户同名组
13 -r, --system 指定该帐号是系统帐号
14 -s, --shell SHELL 指定登录shell
15 -u, --uid UID 指定用户ID号
16 -U, --user-group 指定用户创建用户同名组
17 -o 创建用户是可以uid重复
18 注意:用户名不能超过 32 个字符

usermod命令

1 usermod - modify a user account
2 -a, --append
3 -L, --lock
4 -U, --unlock
5 -m, --move-home with -d

userdel命令

1 userdel - delete a user account and related files
2 -f, --force
3 -r, --remove 删除主目录及邮箱

change命令

1 chage
2 -h, --help display this help message and exit
3 -m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
4 -M 密码保持有效的最大天数。
5 -W 用户密码到期前,提前收到警告信息的天数。
6 -E 帐号到期的日期。过了这天,此帐号将不可用。
7 -d 上一次更改的日期 如果设置为0 用户下次登录必须改密码
8 -i 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用
9 -l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

2.密码设置及密码文件

passwd命令

1 passwd - set user password
2 -l lock
3 -u unlock
4 -d delete a passwd for an account
5 -S This will output a short information about the status of the password for a given account.
6 --stdin
7 echo linux |passwd --stdin vfast 1 > 0

密码文件

 1 /etc/passwd
 2 User account information.
 3 [用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]
 4 /etc/shadow
 5 Secure user account information.
 6 用户名:这是用户登录系统时使用的用户名,它在系统中是惟一的
 7 口令:此字段存放加密的口令
 8 最后一次修改的时间:标识从某一时刻起到用户最后一次修改口令的天数
 9 最小时间间隔:两次修改口令之间的最小天数
10 最大时间间隔:口令保持有效的最多天数,即多少天后必须修改口令
11 警告时间:从系统开始警告到口令正式失效的天数
12 不活动时间:口令过期多少天后,该账号被禁用
13 失效时间:指示口令失效的绝对天数(从1970年1月1日开始计算)
14 标志:未使用

3.组的管理

groupadd

1 groupadd - create a new group
2 命令语法
3 groupadd [选项] 组名
4 命令选项
5 -g, --gid GID 指定GID
6 -r, --system 创建一个系统组
7 -o, --non-unique 此选项允许添加一个使用非唯一 GID 的组
8 注意:组名最长为 32 个字符

groupmod命令

 1 groupmod - modify a group definition on the system
 2 命令语法
 3 groupmod [选项] 组名
 4 命令选项
 5 -g, --gid GID
 6 -n, --new-name NEW_GROUP 给组改名
 7 -o, --non-unique
 8 例子
 9 1、将组名为test3的名字改为baism
10 groupmod test3 -n baism

groupdel命令

1 groupdel - delete a group

4.组密码及组配置文件

gpasswd命令

 1 gpasswd newgrp
 2 gpasswd - administer /etc/group and /etc/gshadow
 3 -a, --add USER add USER to GROUP
 4 -d, --delete USER remove USER from GROUP
 5 -r, --remove-password remove the GROUP's password
 6 -R, --restrict restrict access to GROUP to its members 限制用户登录该组,除了组成员。
 7 -M, --members USER,... set the list of members of GROUP
 8 -A, --administrators ADMIN,...
 9 set the list of administrators for GROUP
10 案例:
11 设置组root密码 #gpasswd root
12 用户组身份切换为root $newgrp root
13 组管理员设置 #gpasswd test -A user3
14 限制陌生用户切换到组 #gpasswd -R test
15 指定组的成员列表 # gpasswd test -M user3,user2
1 /etc/group
2 Group account information.
3 [组名]:[密码域]:[GID]:[组员列表]
4 /etc/gshadow
5 Secure group account information.

5.相关文件

 1 /etc/passwd
 2 用户账户信息。
 3 /etc/shadow
 4 安全用户账户信息。
 5 /etc/group
 6 组账户信息。
 7 /etc/gshadow
 8 安全组账户信息。
 9 /etc/default/useradd
10 账户创建的默认值。
11 /etc/skel/
12 包含默认文件的目录。
13 /etc/login.defs
14 Shadow 密码套件配置。

6.问题:

 1 当一个用户同时属于多个组,如何切换组身份 newgrp 命令
 2 su - user1
 3 newgrp test 切换到test组
 4 如何临时切换到某个外组【用户本身不属于这个组】
 5 1)首先给外组设置一个组密码
 6 gpasswd root
 7 正在修改 root 组的密码
 8 新密码:
 9 请重新输入新密码
10 su - user1
11 newgrp root

7、作业

 1 要求创建用户harry tom natasha
 2 要求harry tom 附件到admin组
 3 natasha不允许交互登陆
 4 修改默认创建用户环境
 5 要求用户家目录为/rhome
 6 uid,gid从1000开始
 7 登陆shell为/bin/csh
 8 要求:
 9 例如:使用useradd a
10 创建a的家目录为/rhome/a uid 1000 gid 1000 shell:/bin/csh
每天学习新的知识,会让自己更加充实
原文地址:https://www.cnblogs.com/fengpiaoluoye/p/11866942.html