Life would be so much simple if we don't care so much


Để thay đổi owner và group của file/directory có thể dùng command 「chown」
Ở bài này, sẽ giải thích về cách sử dụng command 「chown」

1. Format lệnh chown

Format
chown [Option]… OWNER[:[GROUP]] FILE…
Các option chính

-R, —recursive Thay đổi đệ quy ownership của các file và thư mục. Lệnh thực thi apply các thay đổi lên các file và thư mục con đệ quy bên trong của file/folder được chỉ định.

-c, –changes Hiển thị chi tiết info các thay đổi được apply.
Dùng lệnh chown thì ownership của file và thư mục sẽ được thay đổi.
Phần OWNER thì user name, user iD (giá trị) được chỉ định.

Có thể được chỉ định cùng lúc và được phân tách bởi dấu「:(dấu 2 chấm)」

2. Các sample sử dụng chown

Owen từ user1 change thành user2
$ ls -l
合計 4
-rw-r–r– 1 user1 group1 0 7月 22 08:50 test.txt

$ chown user2 test.txt
$ ls -l
合計 4
-rw-r–r– 1 user2 group1 0 7月 22 08:50 test.txt ← Owner được chuyển đổi trở thành user2

Để thay đổi owner thành user2, group thành group2:
$ chown -c user2:group2 test.txt
Owner của ‘test.txt’ được thay đổi thành user2:group2 ← với option「-c」thì nội dung thay đổi sẽ được hiển thị.

$ ls -l
合計 4
-rw-r–r– 1 user2 group2 0 7月 22 08:50 test.txt ← Owner là user2, group được thay đổi thành group2

***Note

Về các ký tự phân tách OWNER và GROUP 「:(dấu 2 chấm)」và「.(dấu chấm)」

Ký tự phân tách OWNER và GROUP được viết là 「:(dấu 2 chấm)」nhưng「.(dấu chấm)」cũng có thể được sử dụng. Thay vào đó, ngày xưa thì việc sử dụng 「.(dấu chấm)」lại là standard hơn.
Để có thể chứa 「.(dấu chấm)」, User name và group name trong command thì khi thay đổi user và group, command chown sẽ hành động hơi strange khi được thực thi.
Để có thể thay đổi owner 1 cách đúng đắn thì có thể xài 「.(dấu chấm) và tốt hơn là nên sử dụng 「:(dấu 2 chấm)」

***Note

Khi dùng chown, mà thiếu set OWNER thì từ「:(dấu 2 chấm)」trở đi, thì chỉ có group được thay đổi

ls -l
合計 4
-rw-r–r– 1 user1 group1 0 7月 22 08:50 test.txt

$ chown :group2 test.txt ← Phần OWNER bị thiếu
$ ls -l
合計 4
-rw-r–r– 1 user1 group2 0 7月 22 08:50 test.txt ← chỉ group được thay đổi

***Note
Đối với trường hợp khi run
chown user1: test.txt
thì, tiếp tục ở phần user name cho dù có dấu hai chấm hoặc dấu chấm đi nữa thì khi group được để trống, group của file sẽ được thay đổi thành primary group của file đó. user sẽ trở thành đối tượng được chỉ định.

$ ls -l
合計 4
-rw-r–r– 1 user1 group1 0 7月 22 08:50 test.txt

$ id user2
uid=503(user2) gid=505(group2) 所属グループ=505(group2)
↑ primary group của「user2」là「group2」

$ chown user2: test.txt ←phần phía sau「:(dấu 2 chấm)」ko được set
$ ls -l
合計 4
-rw-r–r– 1 user2 group2 0 7月 22 08:50 test.txt
↑group của file đã thay đổi thành primary group của user2

Trích nguồn

http://kazmax.zpp.jp/linux_beginner/chown.html

Leave a comment