Quản lý tập tin và thư mục: cp Cho phép tạo ra một bản sao của một tập tin hoặc thư mục:cp source_path destination_path mkdir Cho phép tạo ra một thư mục mới make directory, rỗng, tại
Trang 1CÁC LỆNH CƠ BẢN LINUX
1 Các lệnh liệt kê tập tin
ls Liệt kê nội dung của thư mục hiện hành
ls –a Liệt kê tất cả tập tin, kể cả các tập tin có thuộc tính ẩn
ls –l Hiển thị đầy đủ các thông tin (quyền truy cập, chủ, kích thước, …)
ls | less Hiển thị thông tin, nếu dài có thể dùng PgUp, PgDown duyệt trang Thoát bằng phím q
2 Thay đổi thư mục:
cd path Chuyển đến thư mục được chỉ định bởi path
cd ~ Chuyển về thư mục nhà
cd - Chuyển về thư mục trước của bạn
cd Chuyển về thư mục cha của thư mục hiện hành.
3 Quản lý tập tin và thư mục:
cp Cho phép tạo ra một bản sao của một tập tin hoặc thư mục:cp source_path destination_path
mkdir Cho phép tạo ra một thư mục mới (make directory), rỗng, tại vị trí được chỉ
định: mkdir directoryname
mv Cho phép di chuyển (move) một tập tin từ thư mục này tới thư mục khác, có thể thực hiện việc đổi
tên tập tin:
mv source_path destination_path
rm Cho phép xóa (remove) các tập tin, dùng lệnh 'rm –R' để xóa một thư mục và tất cả những gì nằm
trong nó: rm filename
rmdir Dùng để xóa thư mục: rmdir directoryname
touch Tạo tập tin trống: touch filename
Trang 23 Tập lệnh quản lý User và Group
Tạo User:
Cú pháp: #useradd [option] <username>
-c “Thông tin người dùng”
-d <Thư mục cá nhân>
-m : Tạo thư mục cá nhân nếu chưa tồn tại
-g <nhóm của người dùng>
Ví dụ: #useradd –c “Nguyen Van A – Server Admin” –g serveradmin vana
Thay đổi thông tin cá nhân:
Cú pháp: #usermod [option] <username>
Những option tương tự Useradd
Ví dụ: #usermod –g kinhdoanh vana //chuyển vana từ nhóm server admin sang nhóm kinh doanh
Xóa người dùng
Cúpháp : #userdel [option] <username>
Vídụ : #userdel –r vana
Khóa/Mở khóa người dùng
passwd –l <username> / passwd –u <username>
usermod –L <username> / usermod –U <username>
Trong /etc/shadow có thể khóa tài khoản bằng cách thay từ khóa x bằng từ khóa *
Tạo nhóm:
Cú pháp: #groupadd <groupname>
Ví dụ: #groupadd serveradmin
Xóa nhóm
Cú pháp: #groupdel <groupname>
Ví dụ: #groupdel <serveradmin>
Xem thông tin về User và Group
Cú pháp: #id <option> <username>
Ví dụ: #id -g vana //xem GroupID của user vana
Cú pháp: #groups <username>
Ví dụ: #groups vana //xem tên nhóm của user vana
4 Những file liên quan đến User và Group
#/etc/passwd
Mỗi dòng trong tập tin gồm có 7 trường, được phân cách bởi dấu hai chấm
#/etc/group
Mỗi dòng trong tập tin gồm có 4 trường, được phân cách bởi dấu hai chấm
#/etc/shadow
Lưu mật khẩu đã được mã hóa và chỉ có user root mới được quyền đọc
5 Quyền hạn
Trong Linux có 3 dạng đối tượng :
Owner (người sở hữu)
Group owner (nhóm sở hữu)
Other users (những người khác)
Các quyền hạn :
Trang 3 Read – r – 4 : cho phép đọc nội dung
Write – w – 2 : dùng để tạo, thay đổi hay xóa
Execute – x – 1 : thực thi chương trình
Vídụ : Với lệnh ls –l ta thấy :
[root@task ~]# ls -l
total 32
-rw - 1 root root 1416 Jan 10 14:06 anaconda-ks.cfg
-rw-r r 1 root root 15522 Jan 10 14:06 install.log
-rw-r r 1 root root 5337 Jan 10 14:06 install.log.syslog
drwxr-xr-x 6 root root 4096 Feb 9 10:02 softs
Ngoài ra, chúng ta có thể dùng số
Vídụ : quyền r, w, x : 4+2+1 = 7
Tổ hợp 3 quyền trên có giá trị từ 0 đến 7
5 Các lệnh liên quan đến quyền hạn
Lệnh Chmod : dùng để cấp quyền hạn
Cú pháp : #chmod <specification> <file>
Ví dụ: #chmod 644 baitap.txt //cấp quyền cho owner có thể ghi các nhóm các chỉ có quyền đọc với file taptin.txt
Lệnh Chown : dùng thay đổi người sở hữu
Cú pháp : #chown <owner> <filename>
Lệnh Chgrp : dùng thay đổi nhóm sở hữu
Cú pháp : #chgrp <group> <filename>
* Quyền hạn1 Sơ lựơc về quyền
Trên Linux, quyền trên files hoặc thư mục được ghi vào trong inode của file hoặc thư mục đó Để dễ quản lý, Linux xem mọi thứ như là file
Để xem quyền, chúng ta có thể sử dụng lệnh “ls -l” như trong hình sau:
Cột đầu tiên trong kết quả của lệnh ls -l thể hiện cho quyền hạn Phần này bao gồm 10 bit:
– bit 1: thể hiện kiểu file (vd: “-” file thường, “d” thư mục,…)
– 9 bit còn lại chia làm 3 nhóm, mỗi nhóm có 3 bit:
+owner: Quyền của user mà owner của file này
+group: Quyền của những users thuộc group mà owner của file này
+other: Quyền của tất cả các user khác trên máy
Trong mỗi nhóm (3 bit) thể hiện cho các quyền đọc (r), ghi (w), thực thi (x) Nếu nơi nào không có quyền sẽ được ghi là denied (-)
Trang 4Ký
hiệu
r Có thể đọc file, ví dụ dùng lệnh cat,
more, … Có thể xem nội dung trong thư mục, ví dụ dùng lệnh ls
w Có thể thêm, bớt nội dung trong
file
Có thể tạo thêm hoặc xóa đi file hoặc thư mục con của thư mục này
x Có thể thực thi file này, chỉ dùng
trong trường hợp đây là program hoặc script
Có thể “đứng” trong thư mục được, vi dụ cd vào thư mục này
2 Thay đổi quyền
Chỉ có user có quyền root, hoặc user là owner của file mới có thể thay đổi quyền của file đó Lệnh chuyển quyền:
chmod mode file
Trong đó “mode” có thể được viết theo 2 cách: symbolic hoặc octal mode
a symbolic mode
Trong mode này chúng ta có thể thêm (+), bớt (-), gán (=) các quyền (r w x) cho từng nhóm (u g o) hoặc cho cả 3 nhóm (a)
Ưu điểm của mode này là chúng ta có thể kế thừa quyền củ
vd:
chmod g-w myfile <=bỏ quyền write trên group
chmod u+x,go+r <=thêm quyền thực thi cho owner, quyền đọc cho group và other
b octal mode
Trong mode này, mổi quyền được thể hiện bằng 1 số tương ứng:
– : 0
x : 1
w : 2
r : 4
Trang 5Quyền sẽ được tính tổng trên từng nhóm, vd: r(4)+w(2)+x(1)=7
Khi gán quyền phải gán cho cả 3 nhóm
ví dụ quyền và số octal tương ứng:
644 rw-r–r–
751 rwxr-x–x
775 rwxrwxr-x
777 rwxrwxrwx
Dùng lệnh: chmod
chmod 644 myfile <=gán quyền 644 trên file
Với cách sử dụng như trên, khi dùng octal mode chúng ta không kế thừa được quyền củ, nhưng bù lại chúng ngắn gọn dễ xài
3 Quyền mặc định
Khi chúng ta tạo ra file hoặc thư mục, mặc nhiên hệ thống sẽ gán cho 1 quyền mặc định, trong đó:
File: 666 (rw-rw-rw-)
Thư mục: 777 (rwxrwxrwx)
Để thay đổi quyền mặc định khi tạo file và thư mục, hệ thống cung cấp cho chúng ta một công cụ đó là umask Như vậy, khi tạo ra file hoặc thư mục, thì quyền mặc định được tính như sau:
File: 666 – umask
Thư mục: 777 – umask
Ví dụ, nếu umask=022 thì quyền mặc định trên file và thư mục sẽ là (644) và (755)
Lưu ý: ví dụ như umask=123, thì quyền mặc định cho file sẽ là (644) chứ không phải (543) nhé Lý do vì sao bạn thử tìm hiểu xem
Chúng có thể xem hoặc thay đổi giá trị umask như trong ví dụ sau:
$ umask
022
$ umask 027
$ umask
027
3 Thay đổi Owner
Chúng ta có thể thay đổi chủ sở hữu của file (owner) bằng lệnh sau:
Trang 6chown -R [user.group] files
-R : đổi tất cả files và thư mục con
Lệnh này cũng cho phép thay đổi owner chỉ riêng user hoặc group hoặc cả hai
vd:
# ls -l
total 0
-rw-r–r– 1 nhsang nhsang 0 Nov 23 16:46 file1
-rw-r–r– 1 nhsang nhsang 0 Nov 23 16:46 file2
-rw-r–r– 1 nhsang nhsang 0 Nov 23 16:46 file3
# chown oravn file1 <=đổi user owner
# chown dba file2 <=đổi group owner
# chown oravn.dba file3 <=đổi cả user và group owner
# ls -l
total 0
-rw-r–r– 1 oravn nhsang 0 Nov 23 16:46 file1
-rw-r–r– 1 nhsang dba 0 Nov 23 16:46 file2
-rw-r–r– 1 oravn dba 0 Nov 23 16:46 file3
#
Lưu ý là bạn chỉ có thể dùng lệnh này khi bạn là user mà owner của file này hoặc user có quyền root
Liên quan đến phần quyền hạn, chúng ta còn 3 quyền đặc biệt là SUID, SGID và Sticky bit Các bạn vui lòng tham khảo thêm trong các tài liệu tiếng Anh nhé
IV Tạo Links
Mục đích của links trên Linux là tạo ra nhiều tên hoặc alias cho file và thư mục
Có 2 loại links: hard link và soft link (symbolic link)
Để tạo link chúng ta sử dụng lệnh sau:
ln [-s] filename linkname
-s : tạo softlink
1 Hard link
Nhằm tạo ra nhiều file hoặc thư mục có cùng sử dụng chung 1 inode Do đó các files hoặc thư mục này phải cùng nằm chung trên 1 partition (chung bảng inode)
Tuy nhiên, chúng ta không thể dùng lệnh để tạo thêm hard link cho thư mục!
Ví dụ sau tạo thêm 1 file (hardlink) “hrdoravn.txt” cùng dùng chung inode (3074178) với file “oravn.txt” Các bạn
để ý con số hardlink-count từ 1 đã tăng lên 2 trong lệnh “ls -i” (con số đứng sau chuổi quyền hạn)
$ ls -i
3074178 oravn.txt
$ ls -li
total 4
3074178 -rw-rw-r– 1 nhsang nhsang 1 Nov 23 15:54 oravn.txt
$ ln oravn.txt hrdoravn.txt
$ ls -li
total 8
3074178 -rw-rw-r– 2 nhsang nhsang 1 Nov 23 15:54 hrdoravn.txt
3074178 -rw-rw-r– 2 nhsang nhsang 1 Nov 23 15:54 oravn.txt
$
2 Soft link
Trang 7Nhằm tạo alias tới tên file hiện có, gần giống như shortcut trên MS Windows Do đó bạn có thể link tới bất kỳ file nào trên cây thư mục
Điểm khác nhau cơ bản giữa softlink và shortcut chính là trong softlink tới thư mục bạn có thể “nhảy” vào đó đứng được, hay nói cách khác là có thể cd vào “thư mục” link được
Lưu ý khi tạo softlink, bạn nên ghi đường dẫn tuyệt đối cho tên source-file Điều này sẽ giúp bạn khi bị lổi khi di chuyển file hoặc link đi nới khác
Ví dụ sau tạo 1 softlink tới file và một softlink tới thư mục, sau đó cd vào trong softlink của thư mục
$ ln -s /home/nhsang/oravn/oravn.txt sftoravn.txt
$ ls -li
total 8
3074178 -rw-rw-r– 2 nhsang nhsang 1 Nov 23 15:54 hrdoravn.txt
3074178 -rw-rw-r– 2 nhsang nhsang 1 Nov 23 15:54 oravn.txt
3074179 lrwxrwxrwx 1 nhsang nhsang 28 Nov 23 16:11 sftoravn.txt –
/home/nhsang/oravn/oravn.txt
$ mkdir mydir
$ ln -s /home/nhsang/oravn/mydir sftmydir
$ cd sftmydir/
$ pwd
/home/nhsang/oravn/sftmydir
$
Để biết mình thuộc các nhóm nào, bạn sử dụng lệnh ‘id’ Lệnh này cho biết id cùng với tên của bạn và các nhóm mà bạn tham gia
Các thuộc tính khác của tệp tin liên quan đến quyền truy cập rất đáng chú ý khác nữa là: Set user ID, set group ID, sticky bit Các bít này bổ xung thêm cho các quyền đã mô tả ở trên Sau đây là mô tả chi tiết ba bít này:
SUID hay setuid: thay đổi việc thực thi dành cho user ID Nếu như setuid được đặt, khi tệp tin được thực thi bởi người dùng (user), tuyến trình được tạo ra sẽ có cùng quyền với tệp tin
SGID hay setgid: thay đổi việc thực thi dành cho group ID Giống như ở trên, nhưng kế thừa các quyền của nhóm Đối với các thư mục điều đó có nghĩa là khi một tệp tin được tạo ra trong thư mục
nó sẽ kế thừa nhóm của thư mục (và không ai là người tạo ra cả)
Bít Sticky: Hiện nay nó ứng xử phụ thuộc vào từng hệ thống và nó thường được sử dụng để chống việc xóa các tệp tin mà tập tin này có quan hệ với những người dùng khác trong thư mục nơi bạn có quyền “write”
Để biểu diễn các bít này, các bạn có thể sử dụng chữ số theo hệ bát phân như ở trên Hay có thể biểu diễn theo dạng chuỗi ký tự như sau:
SUID: Nếu được đặt, sẽ thay thế “x” trong quyền chủ sở hữu thành “s”, nếu chủ sở hữu có quyền thực thi, còn nếu không thì thành “S” Ví dụ:
-rws—— cả quyền thực thi và SUID được đặt
-r-S—— SUID được đặt, nhưng quyền thực thi thì không
SGID: Nếu được đặt, sẽ thay thế “x” trong nhóm thành “s”, nếu nhóm có quyền thực thi, còn nếu không thì thành “S” Ví dụ:
-rwxrws— nhóm có quyền thực thi và bít SGID được đặt
-rwxr-S— SGID được đặt, nhưng nhóm này không được thực thi
Sticky: Nếu được đặt, sẽ thay thế “x” trong others thành “t”, nếu others có quyền thực thi, còn nếu không thì thành “T” Ví dụ:
-rwxrwxrwt others có quyền thực thi và bít sticky được đặt
-rwxrwxr-T sticky được đặt, nhưng quyền thực thi cho others thì không.