linux怎么将用户添加到用户组

哎,2 02 2 年那个月吧,我在某个城市的公司里头,负责维护Linux服务器。
那天啊,突然有个需求,要把几个新来的程序员加到开发组里去。
我呢,也不是特别熟悉Linux的权限管理,就想着先试试水。
首先啊,我登录系统,用的是root用户的账号,心里想着,反正我是root,肯定没问题。

然后呢,我就在终端里头,输入了个命令,usermod-aGdevelopersjohn,想把john这个用户加到developers这个组里去。
我当时也懵,就那么瞎猫碰死耗子,反正记得是加组,语法也差不多。
然后我看了看,john果然在developers组里了,还挺高兴的。

可后来啊,我慢慢发现,这玩意儿还得注意点细节。
比如,你用-G直接加组,会把用户原来的组给覆盖掉,这就不太好。
我得用-aG,这样用户原来的组不会丢。
还有,这组变更啊,得用户重新登录或者重启会话才能生效,我那时候就忽略了这茬。

后来啊,我还发现,得用groups命令或者去查/etc/group文件,才能确认用户确实加到了组里。
再后来,我还学了怎么创建新组,怎么从组里移除用户,这可真是个头疼的活儿,不过学会了也就不那么头疼了。

哎,这Linux系统啊,权限管理真是得细心,不能马虎。
不过呢,学会了也就那么回事,多实践,多摸索,慢慢也就熟悉了。

[Linux]创建新用户及用户权限

Linux用户管理这事儿啊,其实挺有意思的。

一、用户创建 用useradd命令最基本的是这样: bash useradd 用户名 说实话,这命令挺糙的。
创建完用户,你发现/home下面没家,连密码都没,直接登录?不行啊。

稍微好点的是: bash useradd -m 用户名 这回会自动在/home下面建个家,但密码还是得自己补。

更完整的用法,比如给用户加个注释、指定家在哪、指定哪个组、用什么Shell,得这么干: bash useradd -c "这是注释" -d /home/特别家 -g 主组 -G 附加组 -s /bin/bash -u 1 001 用户名 有时候你创建完用户,发现命令提示符就一个$,连Tab补全都没了,多半是Shell不对。
查查/etc/passwd,把默认Shell改成/bin/bash就回去了。

还有个adduser命令,这玩意儿比useradd强多了: bash adduser 用户名 这会自动建家、设密码,省得你操心。

二、用户删除与修改 删用户简单: bash userdel 用户名 但注意,这不会帮你收拾/home下面的东西。
真要连家一起搬走,得用: bash userdel -r 用户名
改用户?比如换个组名?得用usermod: bash usermod --help 这会给你一长串选项,你想改啥自己琢磨。

三、用户切换 想变身?用su: bash su 用户名 得有权限才行,没权限就踢回去。

四、用户组管理 加组: bash groupadd 组名 删组: bash groupdel 组名 简单。

五、权限查看与修改 看权限?ls -l最直接: bash ls -l 文件或目录 比如看到-rw-r--r--,解释一下:
第一个-是文件类型(目录是d)
接下来9 个字符分成三组:所有者、同组、其他人
r=读,w=写,x=执行
比如rw-r--r--,所有者读写,同组读,其他人啥也没有
改权限?chmod是好帮手: bash chmod u+rwx 文件名 给所有者读写执行 chmod g-rw 文件名 删掉同组的读写 chmod o+w 文件名 给其他人加写 chmod a-x 文件名 删掉所有人的执行 数字也能用,更暴力: bash chmod 7 7 7 文件名 所有人读写执行,直接暴力开 这数字怎么来的?r=4 , w=2 , x=1 ,加起来就行。

六、小工具 找文件?find和locate: bash find /home -name "文件名" 从home开始找 locate 文件名 快点,但得先更新数据库 grep是在文件里找字: bash grep "关键字" 文件名 比如找/var/log/syslog里有没有error: bash grep "error" /var/log/syslog
就这些,基本够用了。