㈠ 用户管理
linux是个多用户多任务操作系统,所有要使用系统资源的用户都必须向管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面能帮助管理员对使用系统 的用户 进行跟踪,并控制他们对系统资源的访问;另一方面也能帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一 的用户 名和用户口令。用户在登录时输入正确 的用户 名和口令后,才能进入系统和自己的主目录。
实现用户的管理,要完成的工作主要有如下几个方面:
1、用户账号的添加、删除和修改。
2、用户口令的管理。
3、用户组的管理。
首先Linux用户类别有:
管理员,UID:root,0
系统用户,UID:1-499(CentOS 6),1-999(CentOS 7)
登陆用户,UID:>500(CentOS 6),>1000(CentOS 7)
用户组类别:
管理员组,GID:root,0
系统组,GID:1-499(CentOS 6),1-1000(CentOS 7)
普通组,GID:>500(CentOS 6),>1000(CentOS 7)
Linux组的类别:
用户的主要组(主组):每个有且仅有一个主要组,当用户创建时,自动创建一个与用户同名的组作为主要组。
用户的附加组(辅助组):一个用户可以属于零个或多个辅助组。
CentOS6和7的默认UID和GID不同,这个是由于/etc/login.defs文件里面的默认值所决定的
Linux用户和组的主要配置文件
/etc/passwd:用户及其属性信息(名称、UID、主组ID等)
该文件里面一共有7项,包括
# [root@centos ~]# cat /etc/passwd
# root(用户名):x(密码):0(UID):0(GID):root(注释):/root(家目录):/bin/bash(默认SHELL)
假如把普通用户的UID更改成0,该普通用户会变成管理员账号,因为在Linux系统里面,识别管理员是否为管理员,就是查看用户的UID号码,为0则为管理员,在生产环境中,可能会把管理员root的账号改成其他名字,这样做是以防止黑客攻击root账号来进行破解。
/etc/group:组及其属性信息
getent group [groupname]
# [root@centos7 ~]# cat /etc/group
# root(主组):x(组密码):0(GID):gentoo(附加组的用户列表)
组成员:将该组作为辅助组的成员列表。当成员先把该组当作辅助组,再转成主要组时,不改变。当成员离开该组时,被删除。
/etc/shadow:用户密码及其相关属性
# [root@centos 7~]# cat /etc/shadow
# root(用户名):$6$(加密方式为sha512加密)5wrv8BV(随机数,俗称盐)$n3wljU/4.OUa/X.(用户密码):17110(从1970-1-1到最近一次修改的时间经过了多少天来表示):0(最小存活期,密码再过几天可以被更改):99999(最大存活期,密码过期时间):7(在正确登录时,密码过期前提醒时间):(在正确登录时,密码过期后几天账号会被锁定):(从1970年1月1日算起,多少天后帐号失效):(保留)
上面这个设置了密码显示的用户。
现在我们再新建一个用户看看
[root@centos6 ~]# useradd wang
[root@centos6 ~]# tail -1 /etc/shadow
wang:!!:17015:0:99999:7:::
我们会看见账号密码那里有两个!!,这表示账号被锁定,没有密码的话不允许该用户去登陆,假如有密码,但是那里还是有一个叹号的话,也表示账号被锁定,不对用户进行解锁的话该用户将无法登陆。假如没有叹号的话,该用户可以没有密码的情况下面直接登陆。不过该功能只能在CentOS 5版本和更老的版本可以实现,为了安全起见,从CentOS 6以后已经修正此问题。
/etc/gshadow:组密码及其相关属性
getent gshadow [groupname]
# cat /etc/gshadow
# root/(主组):(组密码):(组管理员列表):gentoo(附加组的用户列表)
当用户不是该groupname的辅助组成员时,则需要输入密码,成功后临时以主要组的身份加入该组。
当用户是该groupname的辅助组成员时,无需输入密码,将临时以主要组的身份加入该组,而其原有的主要组,临时变为辅助组。
注意:为安全起见,现在一般都没有组密码,直接管理员指派,因为当其他用户知道了组密码,可以随意加入该组,这样的话就显得不安全。
用户和组管理命令
用户管理命令: useradd usermod userdel
组的管理命令: groupadd groupmod groupdel
用户管理命令
useradd [options] username增加用户
-u UID username 创建用户时指定UID,(如不指定则Centos:500-60000, Centos7: 1000-60000)
-o 配合-u选项使用,不检查UID的唯一性,可以与已存在的用户的uid相同
-g groupname username 创建用户时,指定主组为某个已存在的组(将不会再创建与用户同名的组)
-G group1[,group2] username 指定用户的辅助组,但GID要事先存在
-N username 不创建私用组做主组,使用用户的主要组做主组
-d 目录: 指定家目录(确保指定的家目录所在的上级目录要存在,且家目录本身不能存在)
-c 备注 创建用户时指定描述信息
-s shell:指定默认shell,应该指定使用/etc/shells文件中出现的shell
-r 创建系统用户 特点:CentOS 6: ID<500,CentOS 7: ID<1000 默认shell为/sbin/nologin
-D 显示或更改默认设置 (默认值设定:/etc/default/useradd或/etc/login.defs文件中)(此命令相当于cat / etc/default/useradd)
注:创建用户时的诸多默认设定配置文件为/etc/login.defs
useradd –D -s SHELL -d是指定用户的家目录和登录shell
注意:创建用户不加-d和-s是是系统默认的家目录(/home/qqq)和登录shell(/bin/bash)。
useradd –D –b BASE_DIR
useradd –D –g GROUP
[root@centos6 ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
该命令,可以查看到创建用户时候的各项默认值
例如更改其他用户默认的家目录和默认SHELL之类等等的参数就在这里面
/etc/skel 家目录文件的来源,在此文件夹里面新建文件的话,创建新用户的时候会连指定的新文件一并创建
/etc/login.defs 一些用户和组等创建的默认设置的文件
usermod [options] username 修改指定用户(跟useradd命令使用方法类似)
-u UID 更改用户的UID
-g 组名 用户名 更改用户的主组
-G "" username 或 usermod -G primarygroup username 清空用户所有的辅助组
-aG 组名,可以追加辅助组而不用覆盖之前的组
-s SHELL 更改用户的默认SHELL
-c 注释
-d home,跟-m同时用移动家目录数据,并将家目录移动到目的目录并改名 (不会创建,只修改/etc/passwd当中的家目录信息)
-m 移动家目录数据,跟-d同时用
-l 新的名字,把用户改名
-e 指定过期日期yyyy-mm-dd
-f days 指定密码过期之后多少天帐户过期
-L 锁定指定用户,在/etc/shadow 里面加! (同以上/etc/shadow的解释)
-U 解锁用户,将/etc/shadow 里面的!号拿掉 (同以上/etc/shadow的解释)
userdel [options] LOGIN 删除指定用户
-r 连同家目录和邮箱一起删除
组的管理命令
groupadd [options] groupname 添加指定组
-g:指定用户的GID
-r groupname: 创建系统组 CentOS 6: ID<500 CentOS 7: ID<1000
groupmod [options] GROUP 修改指定组
-g newgid groupid: 修改组的GID
-n newgrpname oldgrpname: 修改组的组名
groupdel [options] GROUP 删除指定组
groupmems [options] [action] 更改和查看组成员
groupmems -a user_name | -d user_name | [-g group_name] | -l | -p (CentOS 7才有此命令)
options:
-g, --group groupname 更改为指定组 (只有root)(查看组里有哪些用户)
-l -g 用户名: 查看指定用户名组下面还有哪些用户属于此组
-a 要增加的组
切换用户或以其他用户身份执行命令
切换用户的方式:
su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
su – UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
root su至其他用户无须密码;非root用户切换时需要密码
换个身份执行命令:
su [-] UserName-c 'COMMAND'
选项:-l –login:
su -l UserName相当于su-UserName
查看用户相关的ID信息
id [OPTION]… [USER]
-u: 查看用户的UID
-g: 查看用户的GID
-G: 查看用户的Groups
-n: 查看用户的Name
修改用户密码策略
chage -l username 显示帐户的密码信息
-d 指定密码的上次修改时间(yyyy-mm-dd)
-d 0 则强制用户下次登录时必须修改密码
-E 指定账户的过期时间
-I 密码过期之后多少天帐户过期
-m 设置最小存活时间
-M 设置最大存活时间
-W 设置密码过期前的提醒时间
chage username 交互式修改用户的密码策略
示例:
chage -d 0 tom 下一次登录时强制重设密码
chage -m 0 –M 42 –W 14 –I 7 tom
chage -E 2016-09-10 tom
getent passwd,shadow,gourp,gshadow USERNAME/GROUPNAME
直接查看指定用户/组里面的passwd,shadow,gourp,gshadow文件里面的内容
其他命令总结:
chsh:修改默认的shell
chfn:修改用户注释
finger:查看个人信息
vipw:使用vim来编辑passwd文件
vigr:使用vim来编辑group文件
pwconv:pwconv命令用来开启用户的投影密码
pwunconv:pwconv命令用来关闭用户的投影密码
Linux系统里的用户和群组密码,分别存放在名称为passwd和group的文件中, 这两个文件位于/etc目录下。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。投影密码将文件内的密码改存在/etc目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为"x"字符,有效的强化了系统的安全性。
批量增加用户和改密码
newusers FILE(有格式的文件) 批量加用户 文件格式 /etc/passwd 文件的格式 root:x:0:0::/root:/bin/bash
ex. newusers user.txt
chpasswd FILE (有格式的文件) 批量改密码 USERNAME:PASSWORD
ex. cat p.txt |chpasswd
注意,按照以上步骤的方法批量添加完用户和密码以后,这些用户的家目录里面并没有配置,此时需要我们手动把这里面的配置复制到它们的家目录里面
/etc/skel 这个文件甲下面的文件是关于用户初始配置里面的变量文件之类
cp -r /etc/skel/.[^.]* /home/USERNAME
练习:
创建下面的用户、组和组成员关系
名字为admins 的组
用户natasha,使用admins 作为附属组
用户harry,也使用admins 作为附属组
用户sarah,不可交互登录系统,且不是admins 的成员,
natasha,harry,sarah密码都是centos
groupadd admins
useradd -G admins natasha
useradd -G admins harry
useradd -s /sbin/nologin sarah
echo centos |passwd --stdin natasha > /dev/null
echo centos |passwd --stdin harry > /dev/null
echo centos |passwd --stdin sarah > /dev/null
/dev/null是一个特殊的设备,就是一个数据黑洞,吞噬送往该设备的所有数据,以后如果不想让屏幕有显示可以,会经常用到这个/dev/unll 的数据吞噬设备
㈡ LInux用户管理
Linux 维持多个人使用同一个用户登录系统, Windows 在修改组策略的情况下,也可以多个使用同一个用户登录
远程连接Linux的方式:SSH协议
远程连接Windows的方式:RDP协议
安卓手机(Linux系统):root 刷机,使用root用户登录系统
Usage:id [选项] [用户名]
# id ,查看当前登录的用户信息
-u:查看用户的uid
-g:查看用户的gid
-G:查看用户的属组
[root@localhost ~]# id
uid=0(root) gid=0(root) 组=0(root)
[root@localhost ~]# id qian
uid=1001(qian) gid=1001(qian) 组=1001(qian)
[root@localhost ~]# id -g cls
1001
[root@localhost ~]# id -u cls
666
[root@localhost ~]# id -G cls
1001
[root@localhost ~]# id
uid=0(root) 用户id
gid=0(root) 用户组的id
组=0(root)
在系统中,不认识root,qian,zls
0:超级用户
uid=1001(qian)
gid=1001(qian)
groups=1001(qian)
[root@localhost ~]# ll /etc/passwd
-rw-r--r-- 1 root root 916 3⽉ 30 10:26 /etc/passwd
[root@localhost ~]# cat /etc/passwd
用户名 密码占位符 uid gid 注释信息 用户家目录 用户登录shell
root: x: 0: 0: root: /root: /bin/bash
cls: x: 666: 1001: : /home/cls: /bin/bash
wutenglan:x:777:1001:武藤兰老师是个好老师: /home/wutenglan:/bin/bash
[root@localhost ~]# ll /etc/shadow
---------- 1 root root 1088 3⽉ 30 10:50 /etc/shadow
[root@localhost ~]# cat /etc/shadow
qian :!! :18351 :0:99999:7:::
第一列:用户名
第二列:密码,!! 和 * 表示没有密码
第三列:上一次修改用户密码的时间(从1970年开始)/天
第四列:密码最少使用的天数(0 是 无限制)
第五列:密码过期天数 99999天
第六列:在密码过期的前7天,提示需要修改密码了,你的密码还有7天要过期了
第七列:密码过期后N天,强制提示修改密码
第⼋列:账户的失效时间,从1970年开始计算
第九列:保留
root:$6$iM1LuZaUuwyZrIg.$/XdQsYgRpJaL
/.::0:99999:7:::
增
useradd
adser
Usage:useradd [选项] [用户名]
默认情况下,在创建⽤户的时候,会创建一个和用户同名的组,并且把该用户加入该组
[root@localhost ~]# useradd zls
-u:(uid)指定uid
-g:(gid)指定gid,也可以指定组名
-G:(Group)指定附加组,如果加入多个附加组则用 逗号隔开
-M:不创建家目录
-s:(shell)指定登录的shell
-c:(comment)添加注释
-d:(directory)指定用户的家目录
-r:帮我们创建一个uid范围是201-999的系统用户,不创建家目录
userdel
Usage:userdel [选项] [用户名]
默认情况下,在删除用户的同时会把同名的用户组也删除,但是如果组内有其他用户,则不会删除组,
只删除用户
-r:删除用户的同时,删除用户的家目录,和用户的其他 邮件目录... (删除净)
usermod
Usage:usermod [选项] [用户名]
-u:修改uid
-g:修改gid
-G:修改附加组
-a:配合-G,在修改附加组的时候,起到追加效果(append)
-m:修改(迁移)家目录,必须配合 -d
-d:指定修改后的家目录
-s:修改登录的shell
-c:修改注释
-l:修改登录的用户名
-L:锁定用户(封号)
-U:解锁用户(解封)
id
whoami
1.什么是用户?
能够正常登录系统的,可以管理系统还有可以管理系统中的进程或者程序
02.Linux与windows系统的用户有什么区别?
linux 支持多用户同时登录
windows 默认不支持多用户同时登录
03.使用什么命令可以查看用户是否存在?
[root@oldboy ~]# id oldboy
[root@oldboy ~]# who
[root@oldboy ~]# whoami
root
04.跟用户相关的配置文件都有哪些?分别存放的是什么?
用户存放的信息文件 /etc/passwd
用户存放的密码文件 /etc/shadow
用户组信息文件 /etc/group
05./etc/passwd文件以':' 为分割符, 分为7个字段,请说明一下每个字段的具体含义?
字段名称 注释说明
1.用户名称 //用户的账号名称
2.密码占位符 //存放账户的口令,暂用x表示,密码保存在/etc/shadow
3.用户的UID //用户标识号
4.用户基本组GID //组标识号
5.用户注释 //用户详细信息
6.用户家目录 //root家目录是/root普通用户家目录存在/home/username(可自定义)
7.用户登录Shell //用户登录Linux使用的shell #cat /etc/shells
06./etc/shadow文件以':' 为分割符, 分为9个字段,请说明一下每个字段的具体含义?
字段名称 注释说明
1.用户登陆名 //用户的账号名称
2.加密后的密码 //用户密码,这是加密过的口令(未设密码时为!!)
3.最近一次密码更改时间 //从1970年到最近一次更改密码时间之间过了多少天
4.密码最少使用几天 //密码最少使用几天才可以更改密码(0表示无限制)
5.密码最长使用几天 //密码使用多少天需要修改密码(默认99999永不过期)
6.密码到期前警告期限 //密码过期前多少天提醒用户更改密码(默认过期提前7天警告)
7.密码到期后保持活动的天数 //在此期限内, 用户依然可以登陆系统并更改密码, 指定天数过后, 账户被锁定
8.账户到期时间 //从1970年起,账户在这个日期前可使用,到期后失效。
9.标志 //保留
07.什么是用户的UID?
用户的标识符 它和用户一一对应关系
User Identification 的缩写
08.不同的用户对应UID号范围是多少?
0 超级用户
1-200 系统用户
201-999 系统用户 (不需要登录)
1000+ 普通用户
09.新建用户user1、user2,用户user2不允许登陆到系统中。
[root@oldboy ~]# useradd user1
[root@oldboy ~]# useradd user2 -s /sbin/nologin
10.创建普通用户oldboy,其ID号为789
[root@oldboy ~]# useradd -u 789 oldboy
[root@oldboy ~]# id oldboy
uid=789(oldboy) gid=1003(oldboy) groups=1003(oldboy)
11.创建虚拟用户test,其ID号为666
[root@oldboy ~]# useradd -u 666 -s /sbin/nologin test
12.修改oldboy用户的ID号,修改为777
[root@oldboy ~]# usermod -u 777 oldboy
[root@oldboy ~]# id oldboy
uid=777(oldboy) gid=1003(oldboy) groups=1003(oldboy)
13.修改用户test的命令解释器,使其可以登录到系统。
[root@oldboy ~]# usermod -s /bin/sh test
[root@oldboy ~]# su - test
Last login: Tue Mar 31 15:09:39 CST 2020 on pts/3
[test@oldboy ~]# whoami
test
14.删除用户user1.不删除其家目录。
[root@oldboy ~]# userdel user1
[root@oldboy ~]# ll /home/
total 0
drwx------ 3 oldboy oldboy 78 Mar 31 15:06 oldboy
drwx------ 3 test test 99 Mar 31 15:16 test
drwx------ 3 1001 1001 78 Mar 31 15:04 user1
drwx------ 3 user2 user2 78 Mar 31 15:05 user2
drwx------ 3 www www 78 Jan 1 2021 www
15.删除用户user2,不保留其家目录。
[root@oldboy ~]# userdel -r user2
16.给oldboy用户创建一个密码为123,并尝试登录(两种方法实现)
[root@oldboy ~]# passwd oldboy
[root@oldboy ~]# echo "123" |passwd --stdin oldboy
17批量创建10个用户,前缀是你的姓,后缀为数字序列,比如qian1等。
大佬的方法
# sed 后项引用
# | xargs
# awk
[root@oldboy ~]# cat aa.sh
#!/bin/bash
read -p "请输入你的用户名 " ming
read -p "请输入这个用户名创建的次数 " shu
for i in `seq $shu`
do
useradd $ming$i
done
小弟的方法
for
[root@oldboy ~]# for i in `seq 10`;do useradd qian$i;done
18.默认情况下管理员创建了一个用户,就会在()目录下创建一个用户主目录
/home
19.如何检查系统中存在oldboy用户,并且显示用户id信息
[root@oldboy ~]# id oldboy
uid=777(oldboy) gid=1003(oldboy) groups=1003(oldboy)
20.创建gid为666,名字为www的用户组
[root@oldboy ~]# groupadd -g 666 www
21.创建uid为666,gid为666,名字为www的用户
[root@oldboy ~]# useradd -u 666 -g 666 www
[root@oldboy ~]# useradd -u 666 -g 666 www
useradd: group '666' does not exist
22.创建uid为888,注释信息为"虚拟用户",不创建家目录,不能登录系统,名字为oldboye的用户
[root@oldboy ~]# useradd -u 888 -c "虚拟用户" -M -s /sbin/nologin oldboye
23.假设公司研发部的用户yanfa和dev属于组yf,财务部的用户caiwu和money属于组cw,根据要求创建用户及组。
[root@oldboy ~]# groupadd yf
[root@oldboy ~]# groupadd cw
[root@oldboy ~]# useradd yanfa -g yf
[root@oldboy ~]# useradd dev -g yf
[root@oldboy ~]# useradd caiwu -g cw
[root@oldboy ~]# useradd money -g cw
[root@oldboy ~]# id yanfa
uid=1021(yanfa) gid=1024(yf) groups=1024(yf)
[root@oldboy ~]# id caiwu
uid=1023(caiwu) gid=1025(cw) groups=1025(cw)
24.报如下错误是什么原因,并怎么解决
(1)
[root@oldboy ~]# id qzg
id: qzg: no such user
没有这个用户
(2)
[root@oldboy ~]# useradd aaa -s /sbin/nologin
useradd: group aaa exists - if you want to add this user to that group, use -g.
aaa用户组已经存在
(3)
[root@oldboy ~]# su - qzg1
This account is currently not available.
这个用户无法登录系统
25.oldboy8用户的用户名修改成oldboy888
[root@oldboy ~]# usermod -l oldboy888 oldboy8
26.创建zls用户,指定UID5001,基本组students 附加组sa,dba 注释信息:one newB user, 登陆的shell:/bin/bash
曾导博客上的题
27.linux系统存放所有用户密码信息的文件是?
/etc/shadow
28.存放用户账户信息的配置文件是?
[root@oldboy ~]# ll /etc/default/useradd
-rw-r--r--. 1 root root 119 Nov 5 2016 /etc/default/useradd
[root@oldboy ~]# ll /etc/login.defs
-rw-r--r--. 1 root root 2028 Nov 5 2016 /etc/login.defs
/etc/passwd
29.建自己姓名全拼用户,UID5000,基本组students,附加组sa,注释信息:2020 new student,登陆shell:/bin/bash
[root@oldboy ~]# groupadd students
[root@oldboy ~]# groupadd sa
[root@oldboy ~]# useradd -u 5000 -g students -G sa -c "2020 new student" -s /bin/bash qiangang
[root@oldboy ~]# cat /etc/passwd|tail -1
qiangang:x:5000:1027:2020 new student:/home/qiangang:/bin/bash
[root@oldboy ~]# id qiangang
uid=5000(qiangang) gid=1027(students) groups=1027(students),1028(sa)
30.建用户useroldboy,附加组bin和root,默认shell为/bin/bash,注释信息"user1_info"
[root@oldboy ~]# useradd -G bin,root -c "user1_info" -s /bin/bash useroldboy
[root@oldboy ~]# id useroldboy
uid=5001(useroldboy) gid=5001(useroldboy) groups=5001(useroldboy),0(root),1(bin)
31.新建一个用户jack,指定uid为330
[root@oldboy ~]# useradd -u 330 jack
(1)修改jack的uid为666,用户名改为jacky
[root@oldboy ~]# usermod -u 666 jack
[root@oldboy ~]# id jack
uid=666(jack) gid=5002(jack) groups=5002(jack)
[root@oldboy ~]# usermod -l jacky jack
[root@oldboy ~]# id jacky
uid=666(jacky) gid=5002(jack) groups=5002(jack)
(2)把jacky的密码设置为123
passwd jacky
[root@oldboy ~]# echo "123"| passwd --stdin jacky
(3)切换控制台,用jacky帐户登录系统
[root@oldboy ~]# su - jacky
[jacky@oldboy ~]#
(4)换回控制台,用命令将jacky锁定,验证jacky能否再次登录系统,解锁后再次尝试能否登录系统
[root@oldboy ~]# usermod -L jacky
[root@oldboy ~]# usermod -U jacky
32.迁移jacky用户的家目录到/tmp/jacky
[root@oldboy ~]# usermod -md /tmp/jacky jacky
33.批量创建10个用户,用户名为oldboy1 oldboy2 oldboy3 .... oldboy10
[root@oldboy ~]# for i in `seq 10`;do useradd oldboy$i;done
[root@oldboy ~]# echo kkk{1..10}|xargs -n1|sed -r 's#(.*)#useradd \1#g'|bash
㈢ ldap实现Linux登录账号统一管理-server
一台Centos 6.8 安装ldap server
一台Centos 6.8安装ldap client
本环境中没有使用dns ,由扰型hosts文件代替
<pre>
echo '192.168.85.129 dev.com' >> /etc/hosts
</pre>
<pre>
service iptables stop
chkconfig iptables off
</pre>
<pre>
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/岁庆selinux
</pre>
<pre>
useradd test01
echo '乎李握abc'| passwd --stdin test01
</pre>
<pre>
yum -y install httpd php php-ldap php-gd -y
rpm -qa httpd php php-ldap php-gd
</pre>
㈣ linux管理用户的方法有哪些
linux上用户和组的管理一般使用user和group相关命令管理
用户管理:
1、添加新的用户账号
使用useradd命令,其语法如下:
useradd
选项
用户名
其中各选项含义如下:
-c
comment
指定一段注释性描述。
-d
目录
指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g
用户组
指定用户所属的用户组。
-G
用户组,用户组
指定用户所属的附加组。
-s
Shell文件
指定用户的登录Shell。
-u
用户号
指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
用户名
指定新账号的登录名。
2、删除用户
使用userdel命令,
其格式如下:
如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。删除一个已有的用户账号使用userdel命令,其格式如下:
userdel
选项
用户名
常用的选项是-r,它的作用是把用户的主目录一起删除。
3、修改用户
使用usermod命令,
其格式如下:
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用usermod命令,其格式如下:
usermod
选项
用户名
常用的选项包括-c,
-d,
-m,
-g,
-G,
-s,
-u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
用户组的管理
1、增加一个新的用户组
使用groupadd命令,
其格式如下:
groupadd
选项
用户组
可以使用的选项有:
-g
GID
指定新用户组的组标识号(GID)。
-o
一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
2、删除一个已有的用户组
使用groupdel命令,
其格式如下:
groupdel
用户组
3、修改用户组的属性
使用groupmod命令。
其语法如下:
groupmod
选项
用户组
常用的选项有:
-g
GID
为用户组指定新的组标识号。
-o
与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组
将用户组的名字改为新名字
㈤ Linux用户权限管理命令
Linux系统中的用户是分角色的,用户的角色是由UID和GID来识别的(也就是说系统是识别的是用户的UID、GID,而非用户用户名),一个UID是唯一(系统中唯一如同身份证一样)用来标识系统的用户账号(用户名)。
文件的用户与用户组分为超级管理员,普通用户和系统用户。
1)超级管理员的UID=0,GID=0,也可以这么说系统只要是识别出某个用户的UIDGID都为0时,那么这个用户系统就认为是超级管理员。
2)普通用户(管理员添加的),默认它的UIDGID是从500-65535,权限很小,只能操作自己的家目录中文件及子目录(注:nobody它的UIDGID是65534)。
3)系统用户,也称虚拟用户,也就是安装系统时就默认存在的且不可登陆系统,它们的UIDGID是1-499。
我们可以通过cat /etc/passwd命令来查看所有的用户信息,例如下图,第三列是UID,第四列是GID:
创建用户
useradd user1 创建用户user1
useradd -e 12/30/2021 user2 创建用户user2,有效期到2021-12-30
设置用户密码
passwd user1 设置密码,有设置密码的用户不能用
这里设置密码时可能会碰到密码保护机制问题,这里需要注释掉保护机制的问题
这个时候需要在编辑/etc/pam.d/system-auth文件,将其中的password requisite
和password sufficient两行注释掉,如下图:
创建用户组
groupadd –g 888 users 创建一个组users,其GID为888
groupadd users 不用g参数,使用默认的组ID
命令 gpasswd为组添加用户
只有root和组管理员能够改变组的成员:
gpasswd –a user1 users 把 user1加入users组
gpasswd –d user1 users 把 user1退出users组
命令groupmod修改组
groupmod –n user2 user1 修改组名user1为user2
groupdel删除组
groupdel users 删除组users
真正从安全性角度上来考虑的话,是要控制用户一定执行命令的权限,也就是哪些用户可以执行哪些命令,不可以执行哪些命令,因此也就有了sudo这个应用,对于sudo提权,也就是修改/etc/sudoers的配置文件。
㈥ linux系统的默认管理员帐户和密码是什么
linux安装完成后的默认登录用户和密码是什么啊???
天堂鸟d90 LV9
11个月前
安装完成后无法进入;???、... 安装完成后无法进入;???、 展开
满意答案
陈德平8911
LV7
推荐于2017-11-26
linux安装完成后的默认登录用户是root,密码是你设置的密码,如果没有设置密码,密码则为空。
Linux发行版都会在开始让你建立一个用户,并设置密码,至于root密码,像opensuse是安装之前设定的,而ubuntu和fedora是安装之后sudo passwd root 设定的。
(6)linux账号管理扩展阅读:
1、date :打印或者设置系统的日期和时间
2、 stty -a:可以查看或者打印控制字符(Ctrl-C、Ctrl-D、 Ctrl-Z等)
3、 passwd:用passwd -h查看
4、logout,login: 登录shell的登录和注销命令
5、 more, less, head tail: 显示或部分显示文件内容
6、 lp/lpstat/cancel, lpr/lpq/lprm: 打印文件
7、 chmod u+x:更改文件权限
8、 rm -fr dir:删除非空目录
9、cp -R dir:拷贝目录
10、 fg jobid :可以将一个后台进程放到前台
11、 kill 的作用: send a signal to a process、 eg: kill -9 发送的是SIG_KILL信号,具体发送什么信号 可以通过 man kill 查看
12、 ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session显示的sessionid, tpgid显示前台进程组id, comm显示命令名称)