linux創建用戶和用戶組


Linux創建用戶、用戶組 及 刪除

  在創建用戶時,需要為新建用戶指定一用戶組,如果不指定其用戶所屬的工作組,自動會生成一個與用戶名同名的工作組。創建用戶user1的時候指定其所屬工作組users,例:useradd –g users user1

 

 

一、創建用戶:

1、使用命令 useradd

例:useradd user1——創建用戶user1
    useradd –e 12/30/2009 user2——創建user2,指定有效期2009-12-30到期
    用戶的缺省UID從500向后順序增加,500以下作為系統保留賬號,可以指定UID,

例:useradd –u 600 user3

   

2、使用 passwd 命令為新建用戶設置密碼
例:passwd user1
注意:沒有設置密碼的用戶不能使用。

 

3、命令 usermod 修改用戶賬戶
例:將用戶 user1的登錄名改為  u1,
usermod –l u1 user1
例:將用戶 user1 加入到 users組中,
usermod –g users user1


例:將用戶 user1 目錄改為/users/us1
usermod –d /users/us1 user1

 

4、使用命令 userdel 刪除用戶賬戶
例:刪除用戶user2
userdel user2
例:刪除用戶 user3,同時刪除他的工作目錄
userdel –r user3

 

5、查看用戶信息
id命令查看一個用戶的UID和GID, 例:查看user4的id
id user4
finger命令 ——可以查看用戶的主目錄、啟動shell、用戶名、地址、電話等信息
例:finger user4

 

 

二、用戶組:

6、命令 groupadd創建用戶組
groupadd –g 888 users
創建一個組users,其GID為888

 

7、命令 gpasswd為組添加用戶
只有root和組管理員能夠改變組的成員:
例:把 user1加入users組
gpasswd –a user1 users
例:把 user1退出users組
gpasswd –d user1 users

8、命令groupmod修改組
groupmod –n user users       修改組名user為users

 

9、groupdel刪除組
groupdel users    刪除組users

 

查看端口命令:netstat -tunlp

chmod命令:

  第210個字符當中的每3個為一組,左邊三個字符表示所有者權限,中間3個字符表示與所有者同一組的用戶的權限,右邊3個字符是其他用戶的權限。

  

  讀:4,寫:2,執行:1。

set、env、export、declare

  http://blog.sina.com.cn/s/blog_4bb9aaeb0100ane1.html 

  http://www.2cto.com/os/201306/223758.html

  set 用來顯示本地變量
  env 用來顯示環境變量
  export 用來顯示和設置環境變量

  declare 同set

linux中shell條件判斷if中的-a到-z的意思:

[ -a FILE ] 如果 FILE 存在則為真。
[ -b FILE ] 如果 FILE 存在且是一個塊特殊文件則為真。
[ -c FILE ] 如果 FILE 存在且是一個字特殊文件則為真。
[ -d FILE ] 如果 FILE 存在且是一個目錄則為真。
[ -e FILE ] 如果 FILE 存在則為真。
[ -f FILE ] 如果 FILE 存在且是一個普通文件則為真。
[ -g FILE ] 如果 FILE 存在且已經設置了SGID則為真。
[ -h FILE ] 如果 FILE 存在且是一個符號連接則為真。
[ -k FILE ] 如果 FILE 存在且已經設置了粘制位則為真。
[ -p FILE ] 如果 FILE 存在且是一個名字管道(F如果O)則為真。
[ -r FILE ] 如果 FILE 存在且是可讀的則為真。
[ -s FILE ] 如果 FILE 存在且大小不為o則為真。
[ -t FD ] 如果文件描述符 FD 打開且指向一個終端則為真。
[ -u FILE ] 如果 FILE 存在且設置了SUID (set user ID)則為真。
[ -w FILE ] 如果 FILE 如果 FILE 存在且是可寫的則為真。
[ -x FILE ] 如果 FILE 存在且是可執行的則為真。
[ -O FILE ] 如果 FILE 存在且屬有效用戶ID則為真。
[ -G FILE ] 如果 FILE 存在且屬有效用戶組則為真。
[ -L FILE ] 如果 FILE 存在且是一個符號連接則為真。
[ -N FILE ] 如果 FILE 存在 and has been mod如果ied since it was last read則為真。
[ -S FILE ] 如果 FILE 存在且是一個套接字則為真。
[ FILE1 -nt FILE2 ] 如果 FILE1 has been changed more recently than FILE2, or 如果 FILE1 exists and FILE2 does not則為真。
[ FILE1 -ot FILE2 ] 如果 FILE1 比 FILE2 要老, 或者 FILE2 存在且 FILE1 不存在則為真。
[ FILE1 -ef FILE2 ] 如果 FILE1 和 FILE2 指向相同的設備和節點號則為真。
[ -o OPTIONNAME ] 如果 shell選項 “OPTIONNAME” 開啟則為真。
[ -z STRING ] “STRING” 的長度為零則為真。
[ -n STRING ] or [ STRING ] “STRING” 的長度為非零 non-zero則為真。
[ STRING1 == STRING2 ] 如果2個字符串相同。 “=” may be used instead of “==” for strict POSIX compliance則為真。
[ STRING1 != STRING2 ] 如果字符串不相等則為真。
[ STRING1 < STRING2 ] 如果 “STRING1” sorts before “STRING2” lexicographically in the current locale則為真。
[ STRING1 > STRING2 ] 如果 “STRING1” sorts after “STRING2” lexicographically in the current locale則為真。
[ ARG1 OP ARG2 ] “OP” is one of -eq, -ne, -lt, -le, -gt or -ge. These arithmetic binary operators return true if “ARG1” is equal to, not equal to, less than, less than or equal to, greater than, or greater than or equal to “ARG2”, respectively. “ARG1” and “ARG2” are integers.

 

 

rpm:

  [root@linux ~]# rpm -qa
[root@linux ~]# rpm -q[licdR] 已安裝的套件名稱
[root@linux ~]# rpm -qf 存在於系統上面的某個檔案
[root@linux ~]# rpm -qp[licdR] 未安裝的某個文件名稱
參數:
在查詢的部分,所有的參數之前都需要加上 -q 才是所謂的查詢!
查詢主要分為兩部分,一個是查已安裝,另一個則是查某個 rpm 檔案內容。
查詢已安裝套件的信息:
-q :僅查詢,后面接的套件名稱是否有安裝;
-qa :列出所有的,已經安裝在本機 Linux 系統上面的所有套件名稱;
-qi :列出該套件的詳細信息 (information),包含開發商、版本與說明等;
-ql :列出該套件所有的檔案與目錄所在完整文件名 (list);
-qc :列出該套件的所有設定檔 (找出在 /etc/ 底下的檔名而已)
-qd :列出該套件的所有說明檔 (找出與 man 有關的檔案而已)
-qR :列出與該套件有關的相依套件所含的檔案 (Required 的意思)
-qf :由后面接的文件名稱,找出該檔案屬於哪一個已安裝的套件;
查詢某個 RPM 檔案內含有的信息:
-qp[icdlR]:注意 -qp 后面接的所有參數以上面的說明一致。但用途僅在於找出
某個 RPM 檔案內的信息,而非已安裝的套件信息!注意! http://blog.chinaunix.net/uid-23622436-id-3468244.html

查看內存:df -h

查看cpu物理信息:http://blog.sina.com.cn/s/blog_5773f13901012rgf.html

  cat /proc/cpuinfo

Linux的五個查找命令:find,locate,whereis,which,type :http://www.kuqin.com/linux/20091009/70532.html

查看某目錄占用空間命令:
# du -sh DirPath

 

查看cpu和內存:

# 總核數 = 物理CPU個數 X 每顆物理CPU的核數 
# 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超線程數

# 查看物理CPU個數
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 查看每個物理CPU中core的個數(即核數)
cat /proc/cpuinfo| grep "cpu cores"| uniq

# 查看邏輯CPU的個數
cat /proc/cpuinfo| grep "processor"| wc -l
復制代碼

 查看CPU信息(型號)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 

查看內 存信息
# cat /proc/meminfo

 

用 'top -i' 看看有多少進程處於 Running 狀態,可能系統存在內存或 I/O 瓶頸,用 free 看看系統內存使用情況,swap 是否被占用很多,用 iostat 看看 I/O 負載情況...

還有一種辦法是 ps -ef | sort -k7 ,將進程按運行時間排序,看哪個進程消耗的cpu時間最多。

top:
主要參數 
d:指定更新的間隔,以秒計算。 
q:沒有任何延遲的更新。如果使用者有超級用戶,則top命令將會以最高的優先序執行。 
c:顯示進程完整的路徑與名稱。 
S:累積模式,會將己完成或消失的子行程的CPU時間累積起來。 
s:安全模式。 
i:不顯示任何閑置(Idle)或無用(Zombie)的行程。 
n:顯示更新的次數,完成后將會退出to 
顯示參數: 
PID(Process ID):進程標示號。 
USER:進程所有者的用戶名。 
PR:進程的優先級別。 
NI:進程的優先級別數值。 
VIRT:進程占用的虛擬內存值。 
RES:進程占用的物理內存值。 
SHR:進程使用的共享內存值。 
S:進程的狀態,其中S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值是負數。 
%CPU:該進程占用的CPU使用率。 
%MEM:該進程占用的物理內存和總內存的百分比。 
TIME+:該進程啟動后占用的總的CPU時間。 
Command:進程啟動的啟動命令名稱,如果這一行顯示不下,進程會有一個完整的命令行。 
top命令使用過程中,還可以使用一些交互的命令來完成其它參數的功能。這些命令是通過快捷鍵啟動的。 
<空格>:立刻刷新。 
P:根據CPU使用大小進行排序。 
T:根據時間、累計時間排序。 
q:退出top命令。 
m:切換顯示內存信息。 
t:切換顯示進程和CPU狀態信息。 
c:切換顯示命令名稱和完整命令行。 
M:根據使用內存大小進行排序。 
W:將當前設置寫入~/.toprc文件中。這是寫top配置文件的推薦方法。 
free
1.作用 
free命令用來顯示內存的使用情況,使用權限是所有用戶。 
2.格式 
free [-b-k-m] [-o] [-s delay] [-t] [-V] 
3.主要參數 
-b -k -m:分別以字節(KB、MB)為單位顯示內存使用情況。 
-s delay:顯示每隔多少秒數來顯示一次內存使用情況。 
-t:顯示內存總和列。 
-o:不顯示緩沖區調節列。 

uptime

18:59:15 up 25 min, 2 users, load average: 1.23, 1.32, 1.21 
現在的時間 
系統開機運轉到現在經過的時間 
連線的使用者數量 
最近一分鍾,五分鍾和十五分鍾的系統負載 
參數: -V 顯示版本資訊。 

vmstat

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- 
r b swpd free buff cache si so bi bo in cs us sy id wa 
0 1 24980 10792 8296 47316 5 19 205 52 1161 698 26 3 1 70 
1 觀察磁盤活動情況 
磁盤活動情況主要從以下幾個指標了解: 
bi:表示從磁盤每秒讀取的塊數(blocks/s)。數字越大,表示讀磁盤的活動越多。 
bo:表示每秒寫到磁盤的塊數(blocks/s)。數字越大,表示寫磁盤的活動越多。 
wa:cpu等待磁盤I/O(未決的磁盤IO)的時間比例。數字越大,表示文件系統活動阻礙cpu的情況越嚴重,因為cpu在等待慢速的磁盤系統提供數據。wa為0是最理想的。如果wa經常大於10,可能文件系統就需要進行性能調整了。 
2 觀察cpu活動情況 
vmstat比top更能反映出cpu的使用情況: 
us:用戶程序使用cpu的時間比例。這個數字越大,表示用戶進程越繁忙。 
sy: 系統調用使用cpu的時間比例。注意,NFS由於是在內核里面運行的,所以NFS活動所占用的cpu時間反映在sy里面。這個數字經常很大的話,就需要注 意是否某個內核進程,比如NFS任務比較繁重。如果us和sy同時都比較大的話,就需要考慮將某些用戶程序分離到另外的服務器上面,以免互相影響。 
id:cpu空閑的時間比例。 
wa:cpu等待未決的磁盤IO的時間比例。 

iostat

用於統計CPU的使用情況及tty設備、硬盤和CD-ROM的I/0量 
參數: 
-c 只顯示CPU行 
-d 顯示磁盤行 
-k 以千字節為單位顯示磁盤輸出 
-t 在輸出中包括時間戳 
-x 在輸出中包括擴展的磁盤指標 
avg-cpu: %user %nice %sys %iowait %idle 
20.25 0.18 2.61 76.39 0.57 
%iowait 等待本地I/O時CPU空閑時間的百分比 
%idle 未等待本地I/O時CPU空閑時間的百分比 
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn 
hda 9.86 284.34 84.48 685407 2036 
每秒傳輸數(tps)、每秒512字節塊讀取數(Blk_read/s)、每秒512字節塊寫入數(Blk_wrtn/s)和512字節塊讀取(Blk_read)和寫入(Blk_wrtn)的總數量。

系統
# uname -a # 查看內核/操作系統/CPU信息 
# head -n 1 /etc/issue # 查看操作系統版本 
# cat /proc/cpuinfo # 查看CPU信息 
# hostname # 查看計算機名 
# lspci -tv # 列出所有PCI設備 
# lsusb -tv # 列出所有USB設備 
# lsmod # 列出加載的內核模塊 
# env # 查看環境變量 
資源
# free -m # 查看內存使用量和交換區使用量 
# df -h # 查看各分區使用情況 
# du -sh # 查看指定目錄的大小 
# grep MemTotal /proc/meminfo # 查看內存總量 
# grep MemFree /proc/meminfo # 查看空閑內存量 
# uptime # 查看系統運行時間、用戶數、負載 
# cat /proc/loadavg # 查看系統負載 
磁盤和分區
# mount | column -t # 查看掛接的分區狀態 
# fdisk -l # 查看所有分區 
# swapon -s # 查看所有交換分區 
# hdparm -i /dev/hda # 查看磁盤參數(僅適用於IDE設備) 
# dmesg | grep IDE # 查看啟動時IDE設備檢測狀況 
網絡
# ifconfig # 查看所有網絡接口的屬性 
# iptables -L # 查看防火牆設置 
# route -n # 查看路由表 
# netstat -lntp # 查看所有監聽端口 
# netstat -antp # 查看所有已經建立的連接 
# netstat -s # 查看網絡統計信息 
進程
# ps -ef # 查看所有進程 
# top # 實時顯示進程狀態 
用戶
# w # 查看活動用戶 
# id # 查看指定用戶信息 
# last # 查看用戶登錄日志 
# cut -d: -f1 /etc/passwd # 查看系統所有用戶 
# cut -d: -f1 /etc/group # 查看系統所有組 
# crontab -l # 查看當前用戶的計划任務 
服務
# chkconfig --list # 列出所有系統服務 
# chkconfig --list | grep on # 列出所有啟動的系統服務 
程序
# rpm -qa # 查看所有安裝的軟件包

創建定時任務:

  一、腳本:    

#!/bin/sh
echo "mv the last bak..."
mv /home/zhangbin/instancesBak/newBak/* /home/zhangbin/instancesBak/lastBak/
echo "starting backup the file ..."
for dirName in `ls -l /home/zhangbin/instances/webapps/ |grep '^d'|awk '{print $8}'`
do
        echo " zip $dirName"
        zip -r /home/zhangbin/instancesBak/newBak/$dirName.zip /home/zhangbin/instances/webapps/$dirName/
done

  二、添加任務:

A:vi /etc/crontab

添加任務
進入/etc/
init.d/crond restart

 


B:crontab -e
添加任務
crontab -l查詢

  三、查詢定時器日志

tail -300f /var/spool/mail/用戶名

或tail -300f /var/mail/用戶名

 

查看進程創建時間 :ps -eo pid,lstart|grep 1267

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM