Linux系统用户和用户组介绍

时间:2022-12-12 06:56:54

1.请问如下登录环境故障的原理及解决办法?

 [root@server test]# useradd rr  ##创建用户rr
[root@server test]# id rr
uid=510(rr) gid=511(rr) groups=511(rr)
[root@server ~]# ls -la /home/rr/ ##查看/home/rr目录下都有什么文件
total 28
drwx------ 2 rr rr 4096 Dec 26 09:41 .
drwxr-xr-x. 12 root root 4096 Dec 26 09:41 ..
-rw-r--r-- 1 rr rr 18 Jul 24 02:55 .bash_logout
-rw-r--r-- 1 rr rr 176 Jul 24 02:55 .bash_profile
-rw-r--r-- 1 rr rr 124 Jul 24 02:55 .bashrc
-rw-r--r-- 1 rr rr 658 Nov 10 20:27 .zshrc
-rw-r--r-- 1 rr rr 15 Dec 25 11:03 readme.txt
[root@server ~]# cd /home/rr
[root@server rr]# rm -f .bash
.bash_history .bash_logout .bash_profile .bashrc
[root@server rr]# rm -f .bash* ##将目录下以bash开头的文件删除
[root@server ~]# su - rr ##切换到rr账户
-bash-4.1$ ##登录环境故障
##处理办法
-bash-4.1$ cp /etc/skel/.bash* /home/rr ##将/etc/skel目录下bash文件拷贝到缺少文件的用户账号目录下
-bash-4.1$ logout
[root@server ~]# su - rr ##重新切换到rr账号成功
[rr@server ~]$

### [root@server /home 09:56:56]#PS1='[\u@\h \w \t]\$' ##如果想让配置永久生效,可以写入到/etc/profile文件中

2.了解/etc/login.efs特定参数的意义

 # *REQUIRED*
# Directory where mailboxes reside, _or_ name of file, r
elative to the
# home directory. If you _do_ define both, MAIL_DIR tak
es precedence.
# QMAIL_DIR is for Qmail
#
#QMAIL_DIR Maildir
MAIL_DIR /var/spool/mail ##mail邮箱路径
#MAIL_FILE .mail
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a passw
ord may be used.
# PASS_MIN_DAYS Minimum number of days allowed
between password changes.
# PASS_MIN_LEN Minimum acceptable password le
ngth.
# PASS_WARN_AGE Number of days warning given b
efore a password expires.
#
PASS_MAX_DAYS 99999 ##密码有效期最大的天数
PASS_MIN_DAYS 0 ##最小有效期
PASS_MIN_LEN 5 ##密码最小长度
PASS_WARN_AGE 7 ##过期的警告 # Min/max values for automatic uid selection in userad
d
#
UID_MIN 500
UID_MAX 60000 ##用户ID的大小 #
# Min/max values for automatic gid selection in groupa
dd
#
GID_MIN 500
GID_MAX 60000 ##组ID的大小 # If useradd should create home directories for users
by default
# On RH systems, we do. This option is overridden with
the -m flag on
# useradd command line.
#
CREATE_HOME yes ##是否创建家目录,默认要求创建;可用-m参数来控制 # The permission mask is initialized to this value. If
not specified,
# the permission mask will be initialized to 022.
UMASK 077 ##家目录的UMASK # This enables userdel to remove user groups if no mem
bers exist.
#
USERGROUPS_ENAB yes ##删除用户同时删除用户组

3.掌握/etc/default/useradd配置文件中的信息;

 [root@server ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home ##把用户的家目录建在/home中。
INACTIVE=-1 ##是否启用账号过期提权,-1表示不启用
EXPIRE= ##账号终止日期,不设置表示不启用
SHELL=/bin/bash ##新用户默认所用的shell类型
SKEL=/etc/skel ##配置新用户家目录的默认文件存放路径。前文提到的/etc/skel,即当我们用useradd添加用户时,用户家目录下的文件,都是从这里配置的目录中复制过去
CREATE_MAIL_SPOOL=yes ##创建mail文件

实例:

useradd -c、-u、-G、-s、-d多个参数组合例子

自定义用户的家目录、shell类型、所归属的用户组等;

添加用户oldboy6,并设置其用户注释信息为HandsomeBoy,UID指定为806,归属为用户组root、oldboy、sa成员

其shell类型为/bin/sh,设置家目录为/oldboy6。

实操作结果为:

 ###首先创建用户组sa
[root@server ~]# grep "sa" /etc/group
vcsa:x:69:
saslauth:x:76:
sa:x:512:
[root@server ~]# grep -o "\bsa\b" /etc/group ##只过滤以“sa”开头的单独单词
sa
[root@server ~]# useradd -c "HandsomeBoy" -u 806 -G root,oldboy,sa -s /bin/sh -d /oldboy6 oldboy6
##注释
-c:设置备注信息
-u:设置UID号
-G:设置对于的属组
-s:设置对应的shell
-d:设置相应的家目录
###成果如下
[root@server ~]# grep "oldboy6" /etc/passwd
oldboy6:x:806:806:HandsomeBoy:/oldboy6:/bin/sh
[root@server ~]# id oldboy6
uid=806(oldboy6) gid=806(oldboy6) groups=806(oldboy6),0(root),512(sa),513(oldboy)