查看原文
其他

精通Linux系列二十一:用户组管理

拾叁 更AI 2023-10-21

点击关注公众号,AI&编程干货及时送达   


用户组管理

命令含义
groups打印用户的组成员身份。
groupadd创建一个用户组。
groupdel删除一个用户组。
groupmod修改一个用户组。

用户组是被视为一个实体的一组账户。如果你给一个组赋予某种操作的权限(比如修改一个文件),那么该组的所有成员都能执行这个操作。例如,你可以给friends(朋友们)这个组对*/tmp/sample*文件的读、写、执行权限全都开放:

→ groups
users smith friends
→ chgrp friends /tmp/sample
→ chmod 770 /tmp/sample
→ ls -l /tmp/sample
-rwxrwx``` 1 smith friends 2874 ... /tmp/sample

要把用户添加到一个组,你需要以root身份编辑*/etc/group*文件。要改变一个文件的组归属,回忆一下chgrp(改变文件组归属)命令,可以参考[“文件属性”]一节。

groups

stdin  stdout  - file  -- opt  --help  --version

groups [usernames]

groups(组)命令可以打印出你所属的Linux组,或者其他用户所属的组:

→ whoami
smith
→ groups
smith users
→ groups jones root
jones : jones users
root : root bin daemon sys adm disk wheel src

groupadd

stdin  stdout  - file  -- opt --help  --version

groupadd [options] group

groupadd(添加组)命令用来创建一个组。在大多数情况下,你应该使用-f选项来防止创建重复的组:

→ sudo groupadd -f friends

常用选项

-g gid你可以指定你自己的数字组ID,而不是让groupadd来选择。
-f如果指定的组已经存在,会报错并退出。

groupdel

stdin  stdout  - file  -- opt  --help  --version

groupdel group

groupdel(删除组)命令可以删除一个已经存在的组:

→ sudo groupdel friends

在执行这个操作之前,最好找出所有设为指定组的文件,这样你可以稍后处理这些文件:

→ sudo find / -group friends -print

因为groupdel并不会改变任何文件的组归属。它只是从系统记录中删除了组名称。如果你列出这些文件,你会看到一个数字组ID代替组名。

groupmod

stdin  stdout  - file  -- opt  --help  --version

groupmod [options] group

groupmod(修改组)命令可以修改指定的组,改变它的名称或者组ID:

→ sudo groupmod -n newname friends

groupmod并不会影响任何由这个组拥有的文件:它只是在系统记录中改变了ID或者名称。当改变ID的时候要特别小心,否则这些文件会被一个不存在的组拥有。

常用选项

-n name把组的名称改为*name*(安全)。
-g gid把组的ID改为*gid*(风险)。

推荐阅读

··································

你好,我是拾叁,7年开发老司机、互联网两年外企5年。怼得过阿三老美,也被PR comments搞崩溃过。这些年我打过工,创过业,接过私活,也混过upwork。赚过钱也亏过钱。一路过来,给我最深的感受就是不管学什么,一定要不断学习。只要你能坚持下来,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯和编程知识,帮你积累弯道超车的资本。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存