Bash编程016——用户与组(二)

Bash编程016——用户与组(二)

用户与组的管理

管理用户与组的命令工具

  1. useradd,添加新的用户
  2. usermod,修改已经存在的指定用户
  3. userdel,删除已经存在的指定用户
  4. groupadd,添加新的组
  5. groupmod,修改已经存在的组
  6. groupdel,删除已经存在的组

这里给出一些简单的使用帮助,详细信息请参阅man手册。

# 查看当前已经存在的所有用户
cat /etc/passwd | cut -f 1 -d :
# 输出如下:
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
www-data
backup
list
irc
gnats
nobody
systemd-timesync
systemd-network
systemd-resolve
systemd-bus-proxy
syslog
_apt
messagebus
uuidd
whoopsie
avahi-autoipd
avahi
colord
dnsmasq
geoclue
speech-dispatcher
hplip
kernoops
pulse
rtkit
saned
usbmux
gdm
ruo
sshd

16.1 useradd

useradd是一个用于创建新用户的低级使用程序,为了添加新的用户,useradd命令必须编辑/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow文件,因此需要管理员权限。

简单演示添加用户,添加用户后需使用passwd username来设置用户密码后才可以登录:

# 添加用户
sudo useradd tom
# 查看新添加的用户和默认的私有组
cat /etc/passwd | grep tom
# 输出为:tom:x:1001:1001::/home/tom:
cat /etc/group | grep tom
# 输出如下:tom:x:1001:

# 设置密码
sudo passwd tom
# 切换用户可以使用su username

注意在上面的passwd中我们可以看到tom的主目录为/home/tom,但是在/home目录下我们找不到tom的子目录,这里需要手动创建或者使用useradd -m 选项自动创建。

命令格式:

  • useradd [options] LOGIN
  • useradd -D
  • useradd -D [options]

选项介绍(详细信息,请参阅man useradd):

  • -b,--base-dir BASE_DIR 若未使用 -d HOME_DIR,则使用默认的基目录。BASE_DIR 加上账户名就是主目录。如果没有使用 -m 选项,BASE_DIR 必须已经存在。 如果选项没有指定,useradd 将使用 /etc/default/useradd 中的 HOME 变量,或者默认的 /home。
  • -c,--comment COMMENT。任何字符串,通常是用户全名
  • -d,--home-dir HOME_DIR 将创建新用户,并使用 HOME_DIR 作为用户登陆目录的值。默认值是将 LOGIN 名附加到 BASE_DIR后面,并使用这作为登陆目录。目录不一定必须已经存在 HOME_DIR,但是会在需要时创建。
  • -D, --defaults 更改默认值
  • -g,--gid GROUP 设置用户的主组,GROUP为组名或GID,必须是已经存在的。
  • -G,--groups GROUP1[,GROUP2,...[,GROUPN]]]用户还属于的附加组列表。每个组都用逗号隔开,没有中间的空格。这里的组受到了 -g 选项给定的组同样的限制。默认上,用户只属于初始组。
  • -m, --create-home 如果不存在,则创建用户主目录。

16.2 usermod

修改一个已经存在的用户账户。

格式:usermod [选项] 用户名

  • -a,--append 将用户添加到附加组,只能和-G选项一起使用
  • -d,--home HOME_DIR 设置用户的主目录。如果加上 -m 选项,当前主目录的内容将会移动到新主目录中,如果不存在,则创建。
  • -m, --move-home 将用户的主目录移动到新位置。这个选项只有和 -d (或 --home) 选项组合使用时才有效。
  • -G, --groups GROUP1[,GROUP2,...[,GROUPN]]] 用户还属于的附加组列表。组之间使用逗号分隔,没有空格。这些组需要遵守和 -g 选项中给的组同样的限制。如果用户当前是一个组的成员,而这个组没有列在这里,用户将被从那个组里便删除。这个行为可以通过 -a选项修改,这使用户追加到给出的附加组列表中。

16.3 userdel

删除指定的用户账户和相关文件。

格式:userdel [选项] 用户名

选项介绍:

  • -r, --remove 用户主目录中的文件将随用户主目录和用户邮箱一起删除。在其它文件系统中的文件必须手动搜索并删除。
  • -h,--help 显示帮助信息。

16.4 groupadd

groupadd命令用于创建一个新的用户组。

命令格式:groupadd [选项] group

选项:

  • -g,--gid GID 指定添加组的gid,GID是一个非负整数并且不能和已有组号重复,默认gid为当前最大gid+1
  • -r, --system 创建一个系统组。

16.5 groupmod

groupmod用于修改一个已经存在的组的相关信息。

格式:groupmod [选项] GROUP

选项:

  • -g,--gid GID 将原有的gid修改为新的GID
  • -n,--new-name 将原有的组名修改为新的组名

16.6 groupdel

groupdel删除一个已经存在的组。

格式:groupdel [选项] group

注:给出的组名必须存在。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值