linux命令行(五)管理用户和组

目录

1.用户信息文件

1.1/etc/passwd文件

1.2/etc/shadow文件

1.3/etc/group文件

2.用户管理工具

2.1命令行用户管理

2.1.1useradd

2.1.2usermod

2.1.3userdel

2.1.4groupadd

2.1.5groupdel

2.1.6groupmod

2.2GUI用户管理器

3.粘滞位SetUID和SetGID


1.用户信息文件

1.1/etc/passwd文件

文件对应条目,各项之间用 : 分隔

root:x:0:0:root:/root:/bin/bash
用户名密码用户ID组ID占位符主目录shell路径
UsernamepasswdUser IDGroup IDGECOSDirectoryshell
rootx00root/root/bin/shell

passwd 使用x表示使用了影子密码,即密码加密保存到shadow文件中。

1.2/etc/shadow文件

adins:$6$IlC5gSnU75/4KIzt$lPRyOL1tewVh7LaGVBba95Q5VoLkKObnJIK6kiyiETagPZlpFVtZzUaloWjFrOxOs96NLr2uCpUH0jFnz99ru1
:19048:0:99999:7:::

与passwd文件一样,shadow文件使用 :分隔各项。

对应列表如下:

登录名加密密码最后修改密码的日期多少天后可以修改密码多少天后必须修改密码密码到期前多少天通知用户密码到期后多少天禁用账户禁用账户的日期保留字段
adins$6$IlC...190480999997

注:其中最后修改密码的日期,禁用账户的日期,是从1970年1月1日开始算的。

1.3/etc/group文件

adm:x:4:syslog,adins
cdrom:x:24:adins
sudo:x:27:adins
dip:x:30:adins
plugdev:x:46:adins
lpadmin:x:122:adins
lxd:x:133:adins
adins:x:1000:
sambashare:x:134:adins

 如图所示,每个用户都有组且可以不止一个,passwd文件中记录的组ID是默认组ID。

对应字段:

组名称组密码组ID组成员
Group nameGroup passwdGroup IDGroup members
admx4syslog,adins

可以看到组密码字段的 x 同passwd文件一样,代表密码影子存储,该字段可选,设置密码后,即允许不属于组的用户加入。

2.用户管理工具

2.1命令行用户管理

流行的命令行用户管理工具有:useradd、userdel、adduser、usermod、deluser、groupadd、groupdel、groupmod

2.1.1useradd

1.注意: 在使用useradd命令创建新用户时,不会自动为用户创建主目录,不会自动为用户指定shell版本,不会为用户创建密码。

如:useradd project3

2.使用参数创建有主目录,shell版本的用户,

如:sudo  useradd  -d  "/home/project3"   -m   -s "/bin/bash"   project3

常用命令行选项:

(1) -d:           指定用户的主目录

(2) -m:          如果存在不再创建,但是此目录并不属于新创建用户;如果主目录不存在,则强制创建; -m和-d一块使用。

(3) -s:           指定用户登录时的shell版本

(4) -M:           不创建主目录

2.1创建完修改密码:sudo passwd project3

2.1.2usermod

usermod [-LU][-c ][-d ][-e ][-f ][-g ][-G ][-l ][-s ][-u ] [用户名]   修改用户账号参数

参数说明:

-c  修改用户帐号的备注文字。

-d登入目录>  修改用户登入时的目录。

-e  修改帐号的有效期限。

-f  修改在密码过期后多少天即关闭该帐号。

-g  修改用户所属的群组。

-G  修改用户所属的附加群组。

-l  修改用户帐号名称。

-L  锁定用户密码,使密码无效。

-s  修改用户登入后所使用的shell。

-u  修改用户ID。

-U  解除密码锁定。

2.1.3userdel

userdel [options] 用户名

-f                强制删除

-r                删除用户和主目录

2.1.4groupadd

groupadd [options] groupname        添加一个新的组

参数

-f,--force 如果指定的组已经存在,此选项将失明了仅以成功状态退出。当与-g一起使用,并且指定的GID_MIN已经存在时,选择另一个唯一的GID(即-g关闭)。

-g,--gid GID 这个值必须是唯一的,除非使用-o选项。但必须是非负的。默认值是使用大于或等于GID_MIN(1000)的最小值,并且大于每个其他组。

-r,--system 创建一个系统组。新的系统组数字标识符在SYS_GID_MIN到SYS_GID_MAX范围内选择,定义在login.defs中而不是GID_MIN到GID_MAX。

2.1.5groupdel

groupdel groupname

2.1.6groupmod

groupmod [option] groupname 修改组参数

-g,--gid         修改组ID

-n,--new-name  修改组名称

-o --non-unique   允许使用重复的组ID

-p --password       修改组的密码

2.2GUI用户管理器

Ubuntu:gnome-control-center user-accounts

图形化管理用户账号。

3.粘滞位SetUID和SetGID

使用粘滞位SetUID标记的的程序,允许其他用户根据程序所有者的权限运行。

使用chmod命令可以设置SetUID粘滞位。要使程序具有SetUID,需要在分配的权值前加4,要使程序启用SetUID,可在分配的权值前加2。

如:使/bin/ls变成SetUID程序(不建议这么做)

赋予粘滞位:sudo chmod 4755 /bin/ls                755是要赋给ls的权限,4是粘滞位

删除粘滞位:sudo chmod 755 /bin/ls

赋予用户粘滞位:sudo chmod u+s /bin/ls        这是chmod的变体

删除用户的粘滞位:sudo chmod u-s /bin/ls

如:使/bin/ls变成SetGID程序(不建议这么做)

赋予SetGID:sudo chmod g+s /bin/ls

删除SetGID:sudo chmod g-s /bin/ls

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值