30.用戶和組管理命令
添加用戶:useradd命令
修改用戶:usermod命令
刪除用戶:userdel命令
修改用戶密碼:passwd命令
1.添加用戶:useradd命令
選項: -c comment 指定一段註釋性描述。 -d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄。 -g 用戶組 指定用戶所屬的用戶組。 -G 用戶組,用戶組 指定用戶所屬的附加組。 -s Shell文件 指定用戶的登錄Shell。 -u 用戶號 指定用戶的用戶號,如果同時有-o選項,則可以重復使用其他用戶的標識號。
實例1
~]# useradd –d /usr/sam -m sam
此命令創建了一個用戶sam,其中-d和-m選項用來為登錄名sam產生一個主目錄/usr/sam(/usr為默認的用戶主目錄所在的父目錄)。
實例2
~]# useradd -s /bin/sh -g group –G adm,root gem
此命令新建了一個用戶gem,該用戶的登錄Shell是 /bin/sh,它屬於group用戶組,同時又屬於adm和root用戶組,其中group用戶組是其主組。
這裏可能新建組:#groupadd group及groupadd adm
增加用戶賬號就是在/etc/passwd文件中為新用戶增加一條記錄,同時更新其他系統文件如/etc/shadow, /etc/group等。
Linux提供了集成的系統管理工具userconf,它可以用來對用戶賬號進行統一管理。
2.修改用戶:usermod命令
修改用戶賬號就是根據實際情況更改用戶的有關屬性,如用戶號、主目錄、用戶組、登錄Shell等
常用的選項包括-c, -d, -m, -g, -G, -s, -u以及-o等,這些選項的意義與useradd命令中的選項一樣,可以為用戶指定新的資源值。
另外,有些系統可以使用選項:-l 新用戶名
這個選項指定一個新的賬號,即將原來的用戶名改為新的用戶名。
例如:
~]# usermod -s /bin/ksh -d /home/z –g developer sam
此命令將用戶sam的登錄Shell修改為ksh,主目錄改為/home/z,用戶組改為developer。
3.刪除用戶:userdel命令
如果一個用戶的賬號不再使用,可以從系統中刪除。刪除用戶賬號就是要將/etc/passwd等系統文件中的該用戶記錄刪除,必要時還刪除用戶的主目錄
常用的選項是 -r,它的作用是把用戶的主目錄一起刪除。
例如:
~]# userdel -r sam
此命令刪除用戶sam在系統文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的記錄,同時刪除用戶的主目錄。
4.修改用戶密碼:passwd命令
passwd命令用來更改使用者的密碼
選項:
-d 刪除密碼
-f 強制執行
-k 更新只能發送在過期之後
-l 停止賬號使用
-S 顯示密碼信息
-u 啟用已被停止的賬戶
-x 設置密碼的有效期
-g 修改群組密碼
-i 過期後停止用戶賬號
實例:
[root@localhost ~]# passwd docker
更改用戶 docker 的密碼 。
新的 密碼:
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
[root@localhost ~]# passwd -S docker
docker PS 2019-01-22 0 99999 7 -1 (密碼已設置,使用 SHA512 算法。)
[root@localhost ~]# passwd -d docker
清除用戶的密碼 docker。
passwd: 操作成功
Linux系統用戶組的管理
進程一其發起者的身份運行;
進程對文件的訪問權限,取決於發起此進程的用戶權限;
系統用戶:為了能夠讓那後臺進程
組命令:
groupadd命令:添加組
groupmod命令:修改組
groupdel命令:刪除組
groupadd命令:添加組
選項:
-g:指定新建工作組的id; 默認是上一個組的GID+1;
-r:創建系統組,系統組的組ID小於500;
實例:
~]# groupadd mygrp
~]# groupadd -r -g 306 mysql
[root@localhost ~]# tail -10 /etc/group
stapdev:x:158:
itxuezhe:x:1000:
apache:x:48:
gentoo:x:1001:
centos:x:1002:
docker:x:1003:
mysql:x:982:
mygrp:x:1004:
testgrp:x:981:
mariadb:x:306:
groupmod命令:修改組
選項:
-g GID: 修改GID;
-n new_name:修改組名,將用戶組的名字改為新名字
-o 與-g選項同時使用,用戶組的新GID可以與系統已有用戶組的GID相同。
實例:
[root@localhost ~]# tail -2 /etc/group
testgrp:x:981:
mariadb:x:306:
[root@localhost ~]# groupmod -g 702 mariadb
#把mariadb的GID修改為702
[root@localhost ~]# tail -2 /etc/group
testgrp:x:981:
mariadb:x:702:
[root@localhost ~]# groupmod -n hello mariadb
[root@localhost ~]# tail -2 /etc/group
testgrp:x:981:
hello:x:702:
#把mariadb組修改為hello,組GID還是702
groupdel命令:刪除組
選項:
groupdel [選項] GROUP
實例:
[root@localhost ~]# groupdel hello
[root@localhost ~]# groupdel testgrp
[root@localhost ~]# tail /etc/group
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
itxuezhe:x:1000:
apache:x:48:
gentoo:x:1001:
centos:x:1002:
docker:x:1003:
mysql:x:982:
mygrp:x:1004:
30.用戶和組管理命令