在linux系統中,使用者和組的相關許可權是linux系統管理的基本內容。只有在特定使用者、組和相對應的許可權下,linux系統才能更好更安全的執行。
建立組和使用者:
1.建立組
組的定義:是許可權的集合
建立組的命令:groupadd
例如:groupadd abc
在組建立成功後,用如下命令檢視已建立的組:
tail -l /etc/group
指定組的id也就是gid:
groupadd -g 1001 abcde
gid建議指定500以上的,500以下的可能系統已經用了,如果沒有指定gid,那麼預設gid會是你建立的上乙個組的gid順延值
繼續建立oinstall組和dba組,gid也按順序指定(gid可以自己定義)
[root@vastedu home]# groupadd -g 1002 oinstall
[root@vastedu home]# groupadd -g 1003 dba
組建立好是沒有任何許可權的,給組新增許可權會在後面介紹
2.建立使用者
在組建立好之後再建立使用者:
首先用tail命令檢視/etc/passwd檔案檢視系統現有的一些使用者,tail命令預設檢視後10行。
[root@vastedu home]# tail -l /etc/passwd
abrt:x:173:173::/etc/abrt:/sbin/nologin
haldaemon:x:68:68:hal daemon:/:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
pulse:x:497:496:pulseaudio system daemon:/var/run/pulse:/sbin/nologin
sshd:x:74:74:privilege-separated ssh:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
test:x:1002:1002::/home/test:/bin/bash
test2:x:1003:1002::/home/test2:/bin/bash
test1:x:1008:1009::/home/test1:/bin/bash
test3:x:1100:2001::/home/test3:/bin/bash
id加使用者:如id test3
此命令是檢視使用者test3的uid、gid等
[root@vastedu home]# id test3
uid=1100(test3) gid=2001(dbdeep) groups=2001(dbdeep),1002(oinstall),1003(dba)
下面新增使用者:
其中需要注意,給使用者自己手動分配的id不要與現有的使用者uid重複,一般建議設定成500以後的
下面就具體新增乙個使用者,就以新增使用者test4為例:
[root@vastedu home]# useradd -u 1200 -g oinstall test4
其中命令中定義的引數具體意義如下:
-u:指定uid
-g:指定gid,是指定主組,只能有乙個主組
[root@vastedu home]# id test4
uid=1200(test4) gid=1002(oinstall) groups=1002(oinstall)
因有時環境不同,需要將乙個使用者加到不同的組裡,其中乙個為主組,其他為輔組。
具體追加輔組命令如下:
首先檢視現有組:
[root@vastedu home]# tail -l /etc/group
stapdev:x:158:
sshd:x:74:
tcpdump:x:72:
slocate:x:21:
oinstall:x:1002:test3
dba:x:1003:test,test3
abc:x:1009:
dbdeep:x:2001:
ddd:x:2002:
ddddd:x:2003:
接著根據使用者管理內容不同,將使用者加到不同的輔組裡,命令如下:
給test1使用者追殲輔助組:
usermod -ag dba test4
-ag 和 -a -g 一樣
-a是追加,-g是輔組
[root@vastedu home]# id test4
uid=1200(test4) gid=1002(oinstall) groups=1002(oinstall),1003(dba)
通過id test4命令就可檢視到使用者test4已經屬於主組oinstall輔組dba組了。
或者直接通過一條命令在建立使用者的同時,將使用者加到主組和輔組:
[root@vastedu home]# useradd -u 1012 -g oinstall -g dba test6
[root@vastedu home]# id test6
uid=1012(test6) gid=1002(oinstall) groups=1002(oinstall),1003(dba)
-g 後面跟的是要加的輔組,可以跟多個,需要用逗號隔開,-g後面的是主組
注意:在安裝oracle rac 時,兩邊gid和uid都得一樣
3.組和使用者的刪除
注意:此操作一定要慎重,生產系統中建議不使用的使用者進行鎖定處理,不建議刪除操作,但為了學習,需牢記這塊內容,避免出錯。
首先檢視etc下的passwd檔案和group確定所以得使用者和組,確定好要刪除的使用者和組,一定要慎重!!!
[root@vastedu home]# cat /etc/passwd
pulse:x:497:496:pulseaudio system daemon:/var/run/pulse:/sbin/nologin
sshd:x:74:74:privilege-separated ssh:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
test:x:1002:1002::/home/test:/bin/bash
test3:x:1100:2001::/home/test3:/bin/bash
test7:x:1013:1002::/home/test7:/bin/bash
[root@vastedu home]# cat /etc/group
stapdev:x:158:
sshd:x:74:
tcpdump:x:72:
slocate:x:21:
oinstall:x:1002:test3
dba:x:1003:test,test3,test4,test5,test6,test7
abc:x:1009:test7
dbdeep:x:2001:
ddd:x:2002:
ddddd:x:2003:
以刪除使用者test7和組dba為例:
首先進行使用者刪除,執行命令如下:
[root@vastedu home]# userdel test7
[root@vastedu home]# id test7
id: test7: no such user
再進行刪除組:
groupdel + 組名
[root@vastedu home]# id test3
uid=1100(test3) gid=2001(dbdeep) groups=2001(dbdeep),1002(oinstall),1003(dba)
[root@vastedu home]# groupdel dba
[root@vastedu home]# id test3
uid=1100(test3) gid=2001(dbdeep) groups=2001(dbdeep),1002(oinstall)
[root@vastedu home]# tail -l /etc/group
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
sshd:x:74:
tcpdump:x:72:
slocate:x:21:
oinstall:x:1002:test3
dbdeep:x:2001:
ddd:x:2002:
ddddd:x:2003:
[root@vastedu home]# groupdel dbdeep
groupdel: cannot remove the primary group of user 'test3'
[root@vastedu home]#
通過執行刪除命令你會發下,有以下兩點需要注意:
1)若刪除的組是輔助組,可以直接刪除
2)若刪除的組是其他使用者的主組,你會發下會報錯,不能刪除
那麼出現主組不能刪除情況需要怎麼解決呢?
首先你需要將該組作為主組的使用者刪除,然後才能刪除該組,但任何情況下,除了自己測試機,不會進行盲目的刪除操作,所以一定要注意。
~~後續會給大家帶來關於許可權方面的講解,大家隨時關注哦!!!
LInux使用者組及使用者 新增 刪除
本文總結了linux新增或者刪除使用者和使用者組時常用的一些命令和引數。1 建使用者 adduser phpq 新建phpq使用者 passwd phpq 給phpq使用者設定密碼 2 建工作組 groupadd test 新建test工作組 3 新建使用者同時增加工作組 useradd g tes...
linux新增使用者組
chmod 755 abc 賦予abc許可權rwxr xr x chmod u rwx,g rx,o rx abc 同上u 使用者許可權,g 組許可權,o 不同組其他使用者許可權 chmod u x,g w abc 給abc去除使用者執行的許可權,增加組寫的許可權 chmod a r abc 給所有...
Centos下新增使用者組
近日,重新整理了下開發環境,重灌了,nginx,但是這個時候卻是報錯了,報錯資訊如下 root hserver1 php 7.0.5 nginx t nginx emerg getpwnam nginx failed in etc nginx nginx.conf 2 nginx configura...