安装上下文:
进程以其发起者的身份运行
进程对文件的访问权限,取决于发起此进程的用户的权限
如果管理员使用命令cat /etc/shadow
意味着访问以管理员身份来访问;管理员可以访问此文件
如果以zhangsan普通用户的身份来运行cat /etc/shadow
意味着访问以zhangsan普通用户的身份来访问;普通用户是不能访问该文件的
系统用户:为了能够让后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户;这类用户从不用登陆系统称之为系统用户
groupadd [OPTION] group_name
-g:GID,指定GID;默认是上一个组的GID+1;
-r:创建系统组;
groupadd -r testgroup
#可以看到系统组的ID是1-999之间
tail -n 2 /etc/group
#-g用于指定组ID
groupadd -g 2000 grp1
#指定系统组,并指定组ID为306
groupadd -r -g 306 mariadb
groupmod [OPTION] GROUP
-g:GID,修改GID
-n:new_name,修改组名
#将mariadb的GID修改为702
groupmod -g 702 mariadb
#修改组名为perconserver
groupmod -n perconserver mariadb
#删除组
groupdel grp1
groupdel perconserver
-d:指定UID
-g:指定基本组ID,此组得实现存在
-G:指明用户所属的附加组,多个组之间用逗号分隔
-c:指明注释信息
-d,以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件
-s,指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件
-r,创建系统用户
注意:创建用户时的诸多默认设定配置文件尾/etc/login.defs
#创建用户docker
useradd docker
tail -1 /etc/passwd
tail -1 /etc/group
#指定UID为3000
useradd -u 3000 openstack
#使用-c添加用户时添加注释信息
useradd -c "我是只是" mogilefs
#-G:指明用户所属的附加组,多个组之间用逗号分隔
useradd -G docker arclinux
#使用此命令结果请看下图
tail /etc/group
指定用户的家目录/home/abc通过复制/etc/skel此目录并重命名实现
指定的家目录路径如果事先存在,则不会为用户复制环境配置文件(/etc/skel文件)
useradd -s /bin/csh keystone
tail -1 /etc/passwd
修改的结果保存于/etc/default/useradd文件中
GROUP:创建用户时用户同名的私有组
HOME:家目录默认路径
INACTIVE:非活动期限为禁用
EXPIRE:过期期限为永不过期,(空为永不过期,一般为99999天,人一辈子也就3w多天)
SHELL:默认shell
SKEL:从哪去用户骨架信息
CREATE_MAIL_SPOOL:邮件缓冲队列为yes表示每创建一个用户在/var/spool/mail/会给用户创建用户自己专用的邮桶
useradd -D -s /bin/csh
#查看修改
useradd -D
cat /etc/default/useradd
usermod [选项] 登录名
-u,--uid UID:修改用户ID;
-g,--gid GROUP:修改用户所处的基本组;
-G,--groups GROUP1[,GROUP2...[,GROUPN]]:修改用户所属的附加组;原来的附加组会被覆盖;
-a,--append:与-G一同使用,用于为用户追加新的附加组;
-c,--comment COMMENT:修改注释信息;
-d,--home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;
-m,--move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;
-l,--login NEW_LOGIN:修改用户名;
-s,--shell SHELL:修改用户的默认shell;
-L,--lock:锁定用户密码:即在用户原来的密码字符串之前增加一个"!";
-U,--unlock:解锁用户的密码;
usermod -c "好了呵呵呵" jesse
userdel [选项] 登录名
-r:删除用户时一并删除其家目录;
groupadd -g 5000 distro
groupadd -g 5001 peguin
useradd -u 4001 -G distro,peguin gentoo
tail /etc/group
useradd -c "Fedora Core" -s /bin/tcsh fedora
usermod -m -d /home/zzx gentoo
groupadd netadmin
usermod -G netadmin gentoo
tail /etc/group
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
(1) passwd:修改用户名自己的密码;
passwd
(2) passwd USERNAME:修改指定用户的密码,但仅root有此权限
passwd docker
-l,Lock 锁定用户;
-u,unlock 解锁用户;
-d:清除用户密码;
-e DATE:过期期限,日期;
-i DAYS:非活动期限;
-n DAYS:密码的最短使用期限;
-x DAYS:密码的最常使用期限;
-w DAYS:警告期限;
--stdin:把改变用户密码的数据流的获取定向至标准输入;
echo "PASSWD" | passwd -stdin USERNAME
#清除密码
passwd jesse -d
#查看清除后,jesse的密码字符串没有了
tail /etc/shadow
#设置密码
passwd jesse
#查看密码串
tail /etc/shadow
使用--stdin,把改变用户密码的数据流的获取定向至标准输入,echo "123456"
标准输出流作为管道passwd
的标准输入流,从而直接将密码给修改了
echo "123456"| passwd --stdin jesse
如果不想看结果可以重定向至/dev/null
echo "123456"| passwd --stdin jesse &> /dev/null
查看是否更新成功
echo $?
组密码文件:/etc/gshadow
gpasswd [选项] group
-a USERNAME:向组中添加用户
-d USERNAME:从组中移除用户
newgrp [-] [group] -:会摸你用户重新登录以实现重新初始化其工作环境;
使用man change
查看帮助文档用法
id [OPTION]... [USERNAME]
-u:仅显示有效的UID;
-g:仅显示用户的基本组ID;
-G:仅显示用户所属的所有组的ID;
-n:显示名字而非ID;
#显示当前登录用户信息
id
#显示指定用户信息
id openstack
#仅显示用户的基本组ID
id -g openstack
登录式切换:会通过读取目标用户的配置文件来重新初始化
su - USERNAME
us -l USERNAME
非登录式切换:不会读取目标用户的配置文件进行初始化
su USERNAME
注意:管理员可无密码切换至其他任何用户
[选项]
-c 'COMMAND':仅以指定用户的身份运行指定的命令;
chsh:改变登录用户的shell
finger:显示关于系统用户的信息;需要yum -y install finger安装 finger docker
chfn:改变你的finger讯息
whoami:当前用户是谁
pwck:检查是否有用户异常
grpck:检查组是否有异常
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。